diff --git a/docs/source/contribute/contrib_dev.rst b/docs/source/contribute/contrib_dev.rst index 06b9f33e3f5..2fc6ba5db2d 100644 --- a/docs/source/contribute/contrib_dev.rst +++ b/docs/source/contribute/contrib_dev.rst @@ -109,7 +109,30 @@ These are enabled by adding a ``--test-suite`` option to the pytest command. extensive data-driven and data validations (for package, copyright and license detection) +In some cases we need to regenerate test data when expected behavious/result data +structures change, and we have an environement variable to regenerate test data. +`SCANCODE_REGEN_TEST_FIXTURES` is present in `scancode_config` and this can be +set to regenerate test data for specific tests like this: +``SCANCODE_REGEN_TEST_FIXTURES=yes pytest -vvs tests/packagedcode/test_package_models.py`` + +This command will only regenerate test data for only the tests in `test_package_models.py`, +and we can further specify the tests to regen by using more pytest options like `--lf` and +`-k test_instances`. + +If test data is regenerated, it is important to review the diff for test files and +carefully go through all of it to make sure there are no unintended changes there, +and then commit all the regenerated test data. + +To help debug in scancode, we use logging. There are different environement variables +you need to set to turn on logging. In packagedcode:: + +``SCANCODE_DEBUG_PACKAGE=yes pytest -vvs tests/packagedcode/ --lf`` + +Or set the ``TRACE`` variable to ``True``. This enables ``logger_debug`` functions +logging variables and shows code execution paths by logging and printing the logs +in the terminal. If debugging full scans run by click, you have to raise exceptions +in addition to setting the TRACE to enable logging. .. _scancode_toolkit_development_thirdparty_libraries: diff --git a/setup-mini.cfg b/setup-mini.cfg index 3d0cff1b131..beba15cce64 100644 --- a/setup-mini.cfg +++ b/setup-mini.cfg @@ -69,7 +69,8 @@ install_requires = chardet >= 3.0.0 click >= 6.7, !=7.0 colorama >= 0.3.9 - commoncode >= 30.0.0 + commoncode >= 30.1.1 + container-inspector >= 30.0.0 debian-inspector >= 30.0.0 dparse2 >= 0.6.0 fasteners @@ -175,14 +176,13 @@ scancode_scan = # module for details and doc. scancode_post_scan = summary = summarycode.summarizer:ScanSummary - summary2 = summarycode.summarizer2:ScanSummary - summary-keeping-details = summarycode.summarizer:ScanSummaryWithDetails - summary-key-files = summarycode.summarizer:ScanKeyFilesSummary - summary-by-facet = summarycode.summarizer:ScanByFacetSummary + tallies = summarycode.tallies:Tallies + tallies-with-details = summarycode.tallies:TalliesWithDetails + tallies-key-files = summarycode.tallies:KeyFilesTallies + tallies-by-facet = summarycode.tallies:FacetTallies license-clarity-score = summarycode.score:LicenseClarityScore license-policy = licensedcode.plugin_license_policy:LicensePolicy mark-source = scancode.plugin_mark_source:MarkSource - classify-package = summarycode.classify:PackageTopAndKeyFilesTagger is-license-text = licensedcode.plugin_license_text:IsLicenseText filter-clues = cluecode.plugin_filter_clues:RedundantCluesFilter consolidate = summarycode.plugin_consolidate:Consolidator diff --git a/setup.cfg b/setup.cfg index b5e06c761e0..ec5fe902032 100644 --- a/setup.cfg +++ b/setup.cfg @@ -70,6 +70,7 @@ install_requires = click >= 6.7, !=7.0 colorama >= 0.3.9 commoncode >= 30.1.1 + container-inspector >= 30.0.0 debian-inspector >= 30.0.0 dparse2 >= 0.6.0 fasteners @@ -184,7 +185,6 @@ scancode_post_scan = license-clarity-score = summarycode.score:LicenseClarityScore license-policy = licensedcode.plugin_license_policy:LicensePolicy mark-source = scancode.plugin_mark_source:MarkSource - classify-package = summarycode.classify:PackageTopAndKeyFilesTagger is-license-text = licensedcode.plugin_license_text:IsLicenseText filter-clues = cluecode.plugin_filter_clues:RedundantCluesFilter consolidate = summarycode.plugin_consolidate:Consolidator diff --git a/src/formattedcode/output_csv.py b/src/formattedcode/output_csv.py index 2a209cbf5af..2bad83a5881 100644 --- a/src/formattedcode/output_csv.py +++ b/src/formattedcode/output_csv.py @@ -6,6 +6,7 @@ # See https://github.com/nexB/scancode-toolkit for support or download. # See https://aboutcode.org for more information about nexB OSS projects. # +import attr import csv import saneyaml @@ -231,6 +232,8 @@ def get_package_columns(_columns=set()): from packagedcode.models import PackageData + package_data_fields = [field.name for field in attr.fields(PackageData)] + # exclude some columns for now that contain list of items excluded_columns = { # list of strings @@ -252,7 +255,7 @@ def get_package_columns(_columns=set()): 'notice_url', ] - fields = PackageData.fields() + extra_columns + fields = package_data_fields + extra_columns _columns = set(f for f in fields if f not in excluded_columns) return _columns diff --git a/src/packagedcode/README.rst b/src/packagedcode/README.rst index 8e762fb8abd..6daec5a5043 100644 --- a/src/packagedcode/README.rst +++ b/src/packagedcode/README.rst @@ -31,11 +31,11 @@ Taking Python as a main example a package can exist in multiple forms: file type with metadata such as Windows DLLs. Additional markers may also include "namespaces" such as Java or Python imports, C/C++ namespace declarations. -2. **parse and collect the package manifest(s)** metadata. For Python, this means +2. **parse and collect the package datafile or manifest(s)** metadata. For Python, this means extracting name, version, authorship, declared licensing and declared dependencies as found in the any of the package descriptor files (e.g. a `setup.py` file, `requirements` file(s) or any of the `*-dist-info` or `*-egg-info` dir files such as -a `metadata.json`). Other package formats have their own metatada that may be more or +a `metadata.json`). Other package datafile formats have their own metatada that may be more or less comprehensive in the breadth and depth of information they offer (e.g. `.nuspec`, `package.json`, `bower.json`, Godeps, etc...). These metadata include the declared dependencies (and in some cases the fully resolved dependencies too such as @@ -43,7 +43,12 @@ with Gemfile.lock). Finally, all the different packages formats and data are normalized and stored in a common data structure abstracting the small differences of naming and semantics that may exists between all the different package formats. -Once collected, these data are then injected in the `packages` section of the scan. +Once collected, these data are then injected in the `package_data` section of a file scan +for each recognized package datafile. + +3. **assemble multiple package datafile** as top level packages. + + What code in `packagedcode` is not meant to do: diff --git a/src/packagedcode/__init__.py b/src/packagedcode/__init__.py index 3eace113a70..562c9d6f2c2 100644 --- a/src/packagedcode/__init__.py +++ b/src/packagedcode/__init__.py @@ -10,21 +10,25 @@ import attr from packagedcode import about +from packagedcode import alpine from packagedcode import bower from packagedcode import build from packagedcode import build_gradle from packagedcode import cargo from packagedcode import chef from packagedcode import debian +from packagedcode import debian_copyright +from packagedcode import distro from packagedcode import conda from packagedcode import cocoapods from packagedcode import cran from packagedcode import freebsd +from packagedcode import godeps from packagedcode import golang from packagedcode import haxe from packagedcode import jar_manifest from packagedcode import maven -from packagedcode import models +from packagedcode import misc from packagedcode import msi from packagedcode import npm from packagedcode import nuget @@ -37,250 +41,194 @@ from packagedcode import rubygems from packagedcode import win_pe from packagedcode import windows +from packagedcode import win_reg +# Note: the order matters: from the most to the least specific parser. +# a handler classes MUST be added to this list to be active +PACKAGE_DATAFILE_HANDLERS = [ + about.AboutFileHandler, -# Note: the order matters: from the most to the least specific -# Package classes MUST be added to this list to be active -PACKAGE_DATA_CLASSES = [ - rpm.RpmManifest, - debian.DebianPackage, - - models.JavaJar, - jar_manifest.JavaManifest, - models.JavaEar, - models.JavaWar, - maven.PomXml, - jar_manifest.IvyJar, - models.JBossSar, - models.Axis2Mar, - - about.Aboutfile, - npm.PackageJson, - npm.PackageLockJson, - npm.YarnLockJson, - phpcomposer.ComposerJson, - phpcomposer.ComposerLock, - haxe.HaxelibJson, - cargo.CargoToml, - cargo.CargoLock, - cocoapods.Podspec, - cocoapods.PodfileLock, - cocoapods.PodspecJson, - opam.OpamFile, - models.MeteorPackage, - bower.BowerJson, - freebsd.CompactManifest, - models.CpanModule, - rubygems.GemArchive, - rubygems.GemArchiveExtracted, - rubygems.GemSpec, - rubygems.GemfileLock, - models.AndroidApp, - models.AndroidLibrary, - models.MozillaExtension, - models.ChromeExtension, - models.IOSApp, - pypi.MetadataFile, - pypi.BinaryDistArchive, - pypi.SourceDistArchive, - pypi.SetupPy, - pypi.DependencyFile, - pypi.PipfileLock, - pypi.RequirementsFile, - golang.GoMod, - golang.GoSum, - models.CabPackage, - models.InstallShieldPackage, - models.NSISInstallerPackage, - nuget.Nuspec, - models.SharPackage, - models.AppleDmgPackage, - models.IsoImagePackage, - models.SquashfsPackage, - chef.MetadataJson, - chef.Metadatarb, - build.BazelPackage, - build.BuckPackage, - build.AutotoolsPackage, - conda.Condayml, - win_pe.WindowsExecutable, - readme.ReadmeManifest, - build.MetadataBzl, - msi.MsiInstallerPackage, - windows.MicrosoftUpdateManifest, - pubspec.PubspecYaml, - pubspec.PubspecLock, - cran.DescriptionFile, - build_gradle.BuildGradle -] + alpine.AlpineApkArchiveHandler, + alpine.AlpineApkbuildHandler, + alpine.AlpineInstalledDatabaseHandler, + bower.BowerJsonHandler, -PACKAGE_INSTANCE_CLASSES = [ - rpm.RpmPackage, - maven.MavenPackage, - npm.NpmPackage, - phpcomposer.PhpPackage, - haxe.HaxePackage, - cargo.RustPackage, - cocoapods.CocoapodsPackage, - opam.OpamPackage, - bower.BowerPackage, - freebsd.FreebsdPackage, - rubygems.RubyPackage, - pypi.PythonPackage, - golang.GoPackage, - nuget.NugetPackage, - chef.ChefPackage, - win_pe.WindowsPackage, - pubspec.PubspecPackage, - cran.CranPackage -] + build_gradle.BuildGradleHandler, + build.AutotoolsConfigureHandler, + build.BazelBuildHandler, + build.BuckMetadataBzlHandler, + build.BuckPackageHandler, -PACKAGE_DATA_BY_TYPE = { - cls.default_type: cls - for cls in PACKAGE_DATA_CLASSES -} + cargo.CargoLockHandler, + cargo.CargoTomlHandler, + chef.ChefMetadataJsonHandler, + chef.ChefMetadataRbHandler, -PACKAGE_INSTANCES_BY_TYPE = { - cls.default_type: cls - for cls in PACKAGE_INSTANCE_CLASSES -} + cocoapods.PodspecHandler, + cocoapods.PodspecJsonHandler, + cocoapods.PodfileLockHandler, + cocoapods.PodfileHandler, + conda.CondaYamlHandler, + conda.CondaMetaYamlHandler, -def get_package_class(scan_data, default=models.Package): - """ - Return the Package subclass that corresponds to the package type in a - mapping of package `scan_data`. - - For example: - >>> data = {'type': 'cpan'} - >>> assert models.CpanModule == get_package_class(data) - >>> data = {'type': 'some stuff'} - >>> assert models.Package == get_package_class(data) - >>> data = {'type': None} - >>> assert models.Package == get_package_class(data) - >>> data = {} - >>> assert models.Package == get_package_class(data) - >>> data = [] - >>> assert models.Package == get_package_class(data) - >>> data = None - >>> assert models.Package == get_package_class(data) - """ - ptype = scan_data and scan_data.get('type') or None - if not ptype: - # basic type for default package types - return default - ptype_class = PACKAGE_DATA_BY_TYPE.get(ptype) - return ptype_class or default + cran.CranDescriptionFileHandler, + debian_copyright.DebianCopyrightFileInPackageHandler, + debian_copyright.DebianCopyrightFileInSourceHandler, + # TODO: consider activating? debian_copyright.StandaloneDebianCopyrightFileHandler, -def get_package_instance(scan_data): - """ - Return a Package instance re-built from a mapping of ``scan_data`` native - Python data that has the structure of a scan. Known attributes that store a - list of objects are also "rehydrated" (such as models.Party). + debian.DebianDscFileHandler, + debian.DebianDistrolessInstalledDatabaseHandler, + debian.DebianInstalledFilelistHandler, + debian.DebianInstalledMd5sumFilelistHandler, + debian.DebianInstalledStatusDatabaseHandler, - The Package instance will use the Package subclass that supports the - provided package "type" when possible or the base Package class otherwise. + debian.DebianControlFileInExtractedDebHandler, + debian.DebianControlFileInSourceHandler, - Unknown attributes provided in ``scan_data`` that do not exist as fields in - the Package class are kept as items in the Package.extra_data mapping. - An Exception is raised if an "unknown attribute" name already exists as - a Package.extra_data key. - """ - # TODO: consider using a proper library for this such as cattrs, - # marshmallow, etc. or use the field type that we declare. - - # Each of these are lists of class instances tracked here, which are stored - # as a list of mappings in scanc_data - list_field_types_by_name = { - 'parties': models.Party, - 'dependencies': models.DependentPackage, - 'installed_files': models.PackageFile, - } - - # these are computed attributes serialized on a package - # that should not be recreated when serializing - computed_attributes = set([ - 'purl', - 'repository_homepage_url', - 'repository_download_url', - 'api_data_url' - ]) - - # re-hydrate lists of typed objects - klas = get_package_class(scan_data) - existing_fields = attr.fields_dict(klas) - - extra_data = scan_data.get('extra_data', {}) or {} - package_data = {} - - for key, value in scan_data.items(): - if not value or key in computed_attributes: - continue - - field = existing_fields.get(key) - - if not field: - if key not in extra_data: - # keep unknown field as extra data - extra_data[key] = value - continue - else: - raise Exception( - f'Invalid scan_data with duplicated key: {key}={value!r} ' - f'present both as attribute AND as extra_data: ' - f'{key}={extra_data[key]!r}' - ) - - list_field_type = list_field_types_by_name.get(key) - if not list_field_type: - # this is a plain known field - package_data[key] = value - continue - - # Since we have a list_field_type, value must be a list of mappings: - # we transform it in a list of objects. - - if not isinstance(value, list): - raise Exception( - f'Invalid scan_data with unknown data structure. ' - f'Expected the value to be a list of dicts and not a ' - f'{type(value)!r} for {key}={value!r}' - ) - - objects = list(_build_objects_list(values=value, klass=list_field_type)) - package_data[key] = objects - - return klas(**package_data) - - -def _build_objects_list(values, klass): + debian.DebianDebPackageHandler, + debian.DebianMd5sumFilelistInPackageHandler, + + debian.DebianSourcePackageMetadataTarballHandler, + debian.DebianSourcePackageTarballHandler, + + distro.EtcOsReleaseHandler, + + freebsd.CompactManifestHandler, + + godeps.GodepsHandler, + golang.GoModHandler, + golang.GoSumHandler, + + haxe.HaxelibJsonHandler, + + jar_manifest.JavaJarManifestHandler, + + maven.MavenPomXmlHandler, + maven.MavenPomPropertiesHandler, + + misc.AndroidAppArchiveHandler, + misc.AndroidLibraryHandler, + misc.AppleDmgHandler, + misc.Axis2MarArchiveHandler , + misc.Axis2MarModuleXmlHandler , + misc.CabArchiveHandler, + misc.ChromeExtensionHandler, + misc.CpanDistIniHandler , + misc.CpanMakefilePlHandler, + misc.CpanManifestHandler, + misc.CpanMetaJsonHandler, + misc.CpanMetaYmlHandler, + misc.InstallShieldPackageHandler, + misc.IosAppIpaHandler, + misc.IsoImageHandler, + misc.IvyXmlHandler, + + misc.JavaEarAppXmlHandler , + misc.JavaEarHandler , + + # is this redundant with Jar manifest? + misc.JavaJarHandler, + + misc.JavaWarHandler, + misc.JavaWarWebXmlHandler, + + misc.JBossSarHandler , + misc.JBossServiceXmlHandler , + + misc.MeteorPackageHandler, + misc.MozillaExtensionHandler, + misc.NsisInstallerHandler, + misc.SharArchiveHandler, + misc.SquashfsImageHandler, + + msi.MsiInstallerHandler, + + npm.NpmPackageJsonHandler, + npm.NpmPackageLockJsonHandler, + npm.NpmShrinkwrapJsonHandler, + npm.YarnLockV1Handler, + npm.YarnLockV2Handler, + + nuget.NugetNupkgHandler, + nuget.NugetNuspecHandler, + + opam.OpamFileHandler, + + phpcomposer.PhpComposerJsonHandler, + phpcomposer.PhpComposerLockHandler, + + pubspec.DartPubspecYamlHandler, + pubspec.DartPubspecLockHandler, + + pypi.PipfileHandler, + pypi.PipfileLockHandler, + pypi.PipRequirementsFileHandler, + pypi.PypiEggHandler, + pypi.PypiSdistArchiveHandler, + pypi.PypiWheelHandler, + pypi.PyprojectTomlHandler, + pypi.PythonEditableInstallationPkgInfoFile, + pypi.PythonEggPkgInfoFile, + pypi.PythonInstalledWheelMetadataFile, + pypi.PythonSdistPkgInfoFile, + pypi.PythonSetupPyHandler, + pypi.SetupCfgHandler, + + readme.ReadmeHandler, + + rpm.RpmArchiveHandler, + rpm.RpmInstalledBdbDatabaseHandler, + rpm.RpmInstalledSqliteDatabaseHandler, + rpm.RpmInstalledNdbDatabaseHandler, + rpm.RpmSpecfileHandler, + + rubygems.GemMetadataArchiveExtractedHandler, + rubygems.GemArchiveHandler, + + # the order of these handlers matter + rubygems.GemfileInExtractedGemHandler, + rubygems.GemfileHandler, + + # the order of these handlers matter + rubygems.GemfileLockInExtractedGemHandler, + rubygems.GemfileLockHandler, + + # the order of these handlers matter + rubygems.GemspecInInstalledVendorBundleSpecificationsHandler, + rubygems.GemspecInExtractedGemHandler, + rubygems.GemspecHandler, + + windows.MicrosoftUpdateManifestHandler, + + win_pe.WindowsExecutableHandler, + + win_reg.InstalledProgramFromDockerSoftwareDeltaHandler, + win_reg.InstalledProgramFromDockerFilesSoftwareHandler, + win_reg.InstalledProgramFromDockerUtilityvmSoftwareHandler, +] + +HANDLER_BY_DATASOURCE_ID = { + handler.datasource_id: handler for handler in PACKAGE_DATAFILE_HANDLERS +} + + +class UnknownPackageDatasource(Exception): + pass + + +def get_package_handler(package_data): """ - Yield ``klass`` objects built from a ``values`` list of mappings. + Return the DatafileHandler class that corresponds to a ``package_data`` + PackageData object. Raise a UnknownPackageDatasource error if the + DatafileHandler is not found. """ - # Since we have a list_field_type, value must be a list of mappings: - # we transform it in a list of objects. - - if not isinstance(values, list): - raise Exception( - f'Invalid scan_data with unknown data structure. ' - f'Expected the value to be a list of dicts and not a ' - f'{type(values)!r} for {values!r}' - ) - - for val in values: - if not val: - continue - - if not isinstance(val, dict): - raise Exception( - f'Invalid scan_data with unknown data structure. ' - f'Expected the value to be a mapping for and not a ' - f'{type(val)!r} for {values!r}' - ) - - yield klass.create(**val) + ppc = HANDLER_BY_DATASOURCE_ID.get(package_data.datasource_id) + if not ppc: + raise UnknownPackageDatasource(package_data) + return ppc diff --git a/src/packagedcode/about.py b/src/packagedcode/about.py index 5d09c64de56..4061946ebfb 100644 --- a/src/packagedcode/about.py +++ b/src/packagedcode/about.py @@ -8,56 +8,46 @@ # import io -import logging +import os +from pathlib import Path -import attr import saneyaml -from commoncode import filetype from packagedcode import models +from packageurl import PackageURL +# TODO: Override get_package_resource so it returns the Resource that the ABOUT file is describing + +TRACE = os.environ.get('SCANCODE_DEBUG_PACKAGE', False) -TRACE = False -logger = logging.getLogger(__name__) +def logger_debug(*args): + pass + if TRACE: + import logging import sys + + logger = logging.getLogger(__name__) logging.basicConfig(stream=sys.stdout) logger.setLevel(logging.DEBUG) -# TODO: Override get_package_resource so it returns the Resource that the ABOUT file is describing - -@attr.s() -class AboutPackageData(models.PackageData): - - default_type = 'about' - - def get_package_root(self, manifest_resource, codebase): - about_resource = self.extra_data.get('about_resource') - if about_resource: - manifest_resource_parent = manifest_resource.parent(codebase) - for child in manifest_resource_parent.children(codebase): - if child.name == about_resource: - return child - return manifest_resource - + def logger_debug(*args): + return logger.debug( + ' '.join(isinstance(a, str) and a or repr(a) for a in args) + ) -@attr.s() -class Aboutfile(AboutPackageData, models.PackageDataFile): - file_patterns = ('*.ABOUT',) - extensions = ('.ABOUT',) +class AboutFileHandler(models.DatafileHandler): + datasource_id = 'about_file' + default_package_type = 'about' + path_patterns = ('*.ABOUT',) + description = 'AboutCode ABOUT file' + documentation_url = 'https://aboutcode-toolkit.readthedocs.io/en/latest/specification.html' @classmethod - def is_package_data_file(cls, location): - """ - Return True if the file at ``location`` is likely a manifest of this type. - """ - return filetype.is_file(location) and location.lower().endswith(('.about',)) - - @classmethod - def recognize(cls, location): + def parse(cls, location): """ Yield one or more Package manifest objects given a file ``location`` pointing to a package archive, manifest or similar. @@ -65,32 +55,113 @@ def recognize(cls, location): with io.open(location, encoding='utf-8') as loc: package_data = saneyaml.load(loc.read()) - name = package_data.get('name') - # FIXME: having no name may not be a problem See #1514 - if not name: - return + # About files can contain any purl and also have a namespace + about_type = package_data.get('type') + about_ns = package_data.get('namespace') + purl_type = None + purl_ns = None + purl = package_data.get('purl') + if purl: + purl = PackageURL.from_string(purl) + if purl: + purl_type = purl.type + package_type = about_type or purl_type or cls.default_package_type + package_ns = about_ns or purl_ns + + name = package_data.get('name') version = package_data.get('version') + homepage_url = package_data.get('home_url') or package_data.get('homepage_url') download_url = package_data.get('download_url') - declared_license = package_data.get('license_expression') copyright_statement = package_data.get('copyright') + license_expression = package_data.get('license_expression') + declared_license = license_expression + owner = package_data.get('owner') if not isinstance(owner, str): owner = repr(owner) parties = [models.Party(type=models.party_person, name=owner, role='owner')] - about_package = cls( - type='about', + # FIXME: also include notice_file and license_file(s) as file_references + file_references = [] + about_resource = package_data.get('about_resource') + if about_resource: + file_references.append(models.FileReference(path=about_resource)) + + # FIXME: we should put the unprocessed attributes in extra data + yield models.PackageData( + datasource_id=cls.datasource_id, + type=package_type, + namespace=package_ns, name=name, version=version, declared_license=declared_license, + license_expression=license_expression, copyright=copyright_statement, parties=parties, homepage_url=homepage_url, download_url=download_url, + file_references=file_references, ) - about_package.extra_data['about_resource'] = package_data.get('about_resource') - yield about_package + @classmethod + def assemble(cls, package_data, resource, codebase): + """ + Yield a Package. Note that ABOUT files do not carry dependencies. + """ + datafile_path = resource.path + # do we have enough to create a package? + if package_data.purl: + package = models.Package.from_package_data( + package_data=package_data, + datafile_path=datafile_path, + ) + package_uid = package.package_uid + + # NOTE: we do not attach files to the Package level. Instead we + # update `for_package` in the file + resource.for_packages.append(package_uid) + resource.save(codebase) + + if not package.license_expression: + package.license_expression = cls.compute_normalized_license(package) + + yield package + + if resource.pid is not None and package_data.file_references: + parent_resource = resource.parent(codebase) + if parent_resource and package_data.file_references: + root_path = Path(parent_resource.path) + + # FIXME: we should be able to get the path relatively to the + # ABOUT file resource a file ref extends from the root of + # the filesystem + file_references_by_path = { + str(root_path / ref.path): ref + for ref in package.file_references + } + + for res in parent_resource.walk(codebase): + ref = file_references_by_path.get(res.path) + if not ref: + continue + + # path is found and processed: remove it, so we can + # check if we found all of them + del file_references_by_path[res.path] + res.for_packages.append(package_uid) + res.save(codebase) + + yield res + + # if we have left over file references, add these to extra data + if file_references_by_path: + missing = sorted(file_references_by_path.values(), key=lambda r: r.path) + package.extra_data['missing_file_references'] = missing + else: + package.extra_data['missing_file_references'] = package_data.file_references[:] + + # we yield this as we do not want this further processed + yield resource diff --git a/src/packagedcode/alpine.py b/src/packagedcode/alpine.py index a1629e5202e..1bbc50947d4 100644 --- a/src/packagedcode/alpine.py +++ b/src/packagedcode/alpine.py @@ -14,6 +14,7 @@ from functools import partial from datetime import datetime from os import path +from pathlib import Path import attr from license_expression import LicenseSymbolLike @@ -23,69 +24,143 @@ from packagedcode import bashparse from packagedcode import models from packagedcode.utils import combine_expressions +from packagedcode.utils import get_ancestor from textcode.analysis import as_unicode -@attr.s() -class AlpinePackage(models.PackageData, models.PackageDataFile): - extensions = ('.apk', 'APKBUILD') - default_type = 'alpine' +# TODO: implement me! See parse_pkginfo +class AlpineApkArchiveHandler(models.DatafileHandler): + # NOTE that Android .apk are zip and Alpine .apk tar gzipped tarball + datasource_id = 'alpine_apk_archive' + path_patterns = ('*.apk',) + filetypes = ('gzip compressed data',) + default_package_type = 'alpine' + description = 'Alpine Linux .apk package archive' + documentation_url = 'https://wiki.alpinelinux.org/wiki/Alpine_package_format' @classmethod - def recognize(cls, location): - return parse_apkbuild(location, strict=True) - - def compute_normalized_license(self): - _declared, detected = detect_declared_license(self.declared_license) + def compute_normalized_license(cls, package): + _declared, detected = detect_declared_license(package.declared_license) return detected - def to_dict(self, _detailed=False, **kwargs): - data = super().to_dict(**kwargs) - if _detailed: - ################################################# - data['installed_files'] = [istf.to_dict() for istf in (self.installed_files or [])] - ################################################# - else: - ################################################# - # remove temporary fields - data.pop('installed_files', None) - ################################################# - return data +class AlpineInstalledDatabaseHandler(models.DatafileHandler): + datasource_id = 'alpine_installed_db' + path_patterns = ('*lib/apk/db/installed',) + default_package_type = 'alpine' + description = 'Alpine Linux installed package database' + @classmethod + def parse(cls, location): + yield from parse_alpine_installed_db(location) + + @classmethod + def assemble(cls, package_data, resource, codebase): + # get the root resource of the rootfs + levels_up = len('lib/apk/db/installed'.split('/')) + root_resource = get_ancestor( + levels_up=levels_up, + resource=resource, + codebase=codebase, + ) + + package = models.Package.from_package_data( + package_data=package_data, + datafile_path=resource.path, + ) + package_uid = package.package_uid + + package.license_expression = cls.compute_normalized_license(package) + + dependent_packages = package_data.dependencies + if dependent_packages: + yield from models.Dependency.from_dependent_packages( + dependent_packages=dependent_packages, + datafile_path=resource.path, + datasource_id=package_data.datasource_id, + package_uid=package_uid, + ) + + root_path = Path(root_resource.path) + # a file ref extends from the root of the filesystem + file_references_by_path = { + str(root_path / ref.path): ref + for ref in package.file_references + } + + for res in root_resource.walk(codebase): + ref = file_references_by_path.get(res.path) + if not ref: + continue + + # path is found and processed: remove it, so we can check if we + # found all of them + del file_references_by_path[res.path] + res.for_packages.append(package_uid) + res.save(codebase) + + yield res + + # if we have left over file references, add these to extra data + if file_references_by_path: + missing = sorted(file_references_by_path.values(), key=lambda r:r.path) + package.extra_data['missing_file_references'] = missing -def get_installed_packages(root_dir, **kwargs): - """ - Yield Package objects given a ``root_dir`` rootfs directory. - """ - installed_file_loc = path.join(root_dir, 'lib/apk/db/installed') - if not path.exists(installed_file_loc): - return - for package in parse_alpine_installed_db(installed_file_loc): yield package -def parse_alpine_installed_db(location): +class AlpineApkbuildHandler(models.DatafileHandler): + datasource_id = 'alpine_apkbuild' + path_patterns = ('*APKBUILD',) + default_package_type = 'alpine' + description = 'Alpine Linux APKBUILD package script' + documentation_url = 'https://wiki.alpinelinux.org/wiki/APKBUILD_Reference' + + @classmethod + def parse(cls, location): + parsed = parse_apkbuild(location, strict=True) + if parsed: + yield parsed + + @classmethod + def compute_normalized_license(cls, package): + _declared, detected = detect_declared_license(package.declared_license) + return detected + + @classmethod + def assign_package_to_resources(cls, package, resource, codebase): + cls.assign_package_to_parent_tree( + package=package, + resource=resource, + codebase=codebase, + ) + + +def parse_alpine_installed_db(location, datasource_id, package_type): """ - Yield AlpinePackage objects from an installed database file at `location` + Yield PackageData objects from an installed database file at `location` or None. Typically found at '/lib/apk/db/installed' in an Alpine installation. - Note: http://uk.alpinelinux.org/alpine/v3.11/main/x86_64/APKINDEX.tar.gz are + Note: http://uk.alpinelinux.org/alpine/v3.15/main/x86_64/APKINDEX.tar.gz are also in the same format as an installed database. """ - for fields in get_alpine_installed_db_fields(location): - yield build_package(fields) + for package_fields in get_alpine_installed_db_fields(location): + yield build_package_data( + package_fields=package_fields, + datasource_id=datasource_id, + package_type=package_type, + ) def get_alpine_installed_db_fields(location): """ - Yield lists of (name, value) pairsfrom an installed database file at `location` - Typically found at '/lib/apk/db/installed' in an Alpine - installation. + Yield lists of (name, value) pairs, one list for each package found in an + installed Alpine packages database file at `location` (typically found at + '/lib/apk/db/installed' in an Alpine installation.) - Note: http://uk.alpinelinux.org/alpine/v3.11/main/x86_64/APKINDEX.tar.gz are - also in the same format as an installed database. + Note: APKINDEX index files are also in the same format. + See: http://uk.alpinelinux.org/alpine/v3.11/main/x86_64/APKINDEX.tar.gz """ if not path.exists(location): return @@ -104,10 +179,6 @@ def get_alpine_installed_db_fields(location): yield [(n.strip(), v.strip(),) for n, v in fields.items()] -def is_apkbuild(location): - return location and location.endswith('APKBUILD') - - # these variables need to be resolved or else this is a parsing error # we also only use these variables APKBUILD_VARIABLES = set([ @@ -143,15 +214,20 @@ def is_apkbuild(location): def parse_apkbuild(location, strict=False): """ - Return an AlpinePackage object from an APKBUILD file at `location` or None. - """ - if not path.exists(location) or not is_apkbuild(location): - return + Return a PackageData object from an APKBUILD file at ``location`` or None. + If ``strict`` is True, raise ApkbuildParseFailure error if any attribute + value cannot be fully resolved for shell variables. + """ with open(location, 'rb') as f: apkbuild = as_unicode(f.read()) - return parse_apkbuild_text(text=apkbuild, strict=strict) + return parse_apkbuild_text( + text=apkbuild, + datasource_id=AlpineApkbuildHandler.datasource_id, + package_type=AlpineApkbuildHandler.default_package_type, + strict=strict, + ) class ApkbuildParseFailure(Exception): @@ -516,7 +592,7 @@ def fix_mpd(text, *args): @attr.s class ApkBuildFixer: """ - Represent a syntax fix: + Represent an APKBUILD syntax fix: ``if_these_strings_are_present`` in ``text``, call ``function(text, *args)`` that returns ``text``. @@ -627,10 +703,13 @@ def fix_apkbuild(text): return text -def parse_apkbuild_text(text, strict=False,): +def parse_apkbuild_text(text, datasource_id, package_type, strict=False): """ - Return an AlpinePackage object from an APKBUILD text context or None. Only + Return a PackageData object from an APKBUILD text context or None. Only consider variables with a name listed in the ``names`` set. + + If ``strict`` is True, raise ApkbuildParseFailure error if any attribute + value cannot be fully resolved for shell variables. """ if not text: return @@ -650,7 +729,11 @@ def parse_apkbuild_text(text, strict=False,): f'errors: {errors}', ) variables = ((v.name, v.value,) for v in variables) - package = build_package(variables) + package = build_package_data( + variables, + datasource_id=datasource_id, + package_type=package_type + ) if package and unresolved: unresolved = [v.to_dict() for v in unresolved] @@ -660,9 +743,9 @@ def parse_apkbuild_text(text, strict=False,): def parse_pkginfo(location): """ - Return an AlpinePackage object from aa .PKGINFO file at ``location`` or None. - .PKGINFO is a file created by abuild from package metadata in APKBUILD - and that is found at the root of a package .apk tarball. + Return a PackageData object from a .PKGINFO file at ``location`` or None. + .PKGINFO is a metadata is found at the root of an .apk tarball and is + derived from the package metadata in APKBUILD Each lines are in the format of "name = value" such as in:: @@ -685,14 +768,21 @@ def parse_pkginfo(location): depend = imagemagick """ - raise NotImplementedError('TODO: implement me') + raise NotImplementedError -def build_package(package_fields): +def build_package_data(package_fields, datasource_id, package_type): """ - Return an AlpinePackage object from a `package_fields` iterable of (name, - value) tuples. The package_fields comes from the APKINDEX and installed - database files that use one-letter field names. + Return a PackageData object from a ``package_fields`` iterable of (name, + value) tuples. + + The ``package_fields`` names are either: + + - the short form one-letter field names used in an APKINDEX and an installed + database file + + - the long form field names seen in an APKBUILD build manifest/script and an + APKINFO data file. Note: we do NOT use a dict for ``package_fields`` because some fields names may occur more than once. @@ -705,9 +795,13 @@ def build_package(package_fields): """ package_fields = list(package_fields) all_fields = dict(package_fields) + # mapping of actual Package field name -> value that have been converted to # the expected normalized format - converted_fields = {} + converted_fields = { + 'datasource_id': datasource_id, + 'type': package_type, + } for name, value in package_fields: handler = package_handlers_by_field_name.get(name) if handler: @@ -727,9 +821,10 @@ def build_package(package_fields): converted_fields.update(converted) - return AlpinePackage.create(**converted_fields) + return models.PackageData.from_dict(converted_fields) -# Note handlers MUST accept **kwargs as they also receive the current data +##################################### +# Note: all handlers MUST accept **kwargs as they also receive the current data # being processed so far as a processed_data kwarg, but most do not use it @@ -746,6 +841,11 @@ def handler(value, **kwargs): def apkbuild_version_handler(value, all_fields, **kwargs): + """ + Return a version suffixed with its release. + + TODO: should this be used everywhere? + """ pkgrel = all_fields.get('pkgrel') rel_suffix = f'-r{pkgrel}' if pkgrel else '' return {'version': f'{value}{rel_suffix}'} @@ -799,7 +899,7 @@ def m_maintainer_handler(value, **kwargs): name=name, email=email, ) - parties.append(maintainer) + parties.append(maintainer.to_dict()) return {'parties': parties} @@ -895,7 +995,7 @@ def D_dependencies_handler(value, dependencies=None, **kwargs): is_resolved=is_resolved, ) if dependency not in dependencies: - dependencies.append(dependency) + dependencies.append(dependency.to_dict()) return {'dependencies': dependencies} @@ -918,40 +1018,46 @@ def c_git_commit_handler(value, **kwargs): def A_arch_handler(value, **kwargs): """ - Return a Package URL qualifier for the arch. + Return a Package URL qualifiers for the arch. """ + # TODO: should arch={value} be rather a mapping of {arch: value} ? return {'qualifiers': f'arch={value}'} -# Note that we use a little trick for handling files. -# Each handler receives a copy of the data processed so far. -# As it happens, the data about files start with a directory enry -# then one or more files, each normally followed by their checksums -# We return and use the current_dir and current_file from these handlers -# to properly create a file for its directory (which is the current one) -# and add the checksum to its file (which is the current one). -# 'current_file' and 'current_dir' are not actual package fields, but we ignore -# these when we create the AlpinePcakge object +# Note that we use a little trick for handling package file references. Each +# handler receives a copy of the data processed so far. As it happens, the data +# about files starts with a directory entry then one or more files, each +# normally followed by their checksums We return and use the current_dir and +# current_file from these handlers to properly create a file in its directory +# (which is the current one) and add the checksum to its file (which is the +# current one). 'current_file' and 'current_dir' are not actual package fields, +# but we ignore these when we create the PackageData object. def F_directory_handler(value, **kwargs): return {'current_dir': value} -def R_filename_handler(value, current_dir, installed_files=None, **kwargs): +def R_filename_handler(value, current_dir, file_references=None, **kwargs): """ - Return a new current_file PackageFile in current_dir. Add to installed_files + Return a new current_file FileReference in current_dir. Add to the + ``file_references`` list (create it if not provided) + + Return a mapping of {'current_file': current_file, 'file_references': file_references} """ # operate on a copy for safety and create an empty list on first use - installed_files = installed_files[:] if installed_files else [] + file_references = file_references[:] if file_references else [] - current_file = models.PackageFile(path=posixpath.join(current_dir, value)) - installed_files.append(current_file) - return {'current_file': current_file, 'installed_files': installed_files} + current_file = models.FileReference(path=posixpath.join(current_dir, value)) + file_references.append(current_file.to_dict()) + return {'current_file': current_file, 'file_references': file_references} def Z_checksum_handler(value, current_file, **kwargs): """ - Update the current PackageFile with its updated SHA1 hex-encoded checksum. + Update the ``current_file`` FileReference with its updated SHA1 hex-encoded + checksum. + + Return a mapping of {'current_file': current_file} 'Z' is a file checksum (for files and links) For example: Z:Q1WTc55xfvPogzA0YUV24D0Ym+MKE= @@ -1025,7 +1131,6 @@ def get_source_entries(source): or:: source="lua-mqtt-publish-$pkgver.tar.gz::https://github.com/ncopa/lua-mqtt-publish/archive/v$pkgver.tar.gz" - """ schemes = 'https://', 'http://', 'ftp://', for entry in source.strip().splitlines(False): @@ -1073,6 +1178,7 @@ def source_handler(value, **kwargs): # 'pkgname' in .PKGINFO and APKBUILD 'P': build_name_value_str_handler('name'), 'pkgname': build_name_value_str_handler('name'), + # TODO: add subpackages # this can be composed of two or three segments: epoch:version-release # For example: V:1.31.1-r9 @@ -1084,10 +1190,12 @@ def source_handler(value, **kwargs): # 'pkgdesc' in .PKGINFO and APKBUILD 'T': build_name_value_str_handler('description'), 'pkgdesc': build_name_value_str_handler('description'), + # For example: U:https://busybox.net/ # 'url' in .PKGINFO and APKBUILD 'U': build_name_value_str_handler('homepage_url'), 'url': build_name_value_str_handler('homepage_url'), + # The license. For example: L:GPL2 # 'license' in .PKGINFO and APKBUILD 'L': L_license_handler, @@ -1096,7 +1204,7 @@ def source_handler(value, **kwargs): # For example: m:Natanael Copa # 'maintainer' in .PKGINFO and APKBUILD 'm': m_maintainer_handler, - # TODO: this is more often than a comment in the APKBUILD + # TODO: this is more often just a comment in the APKBUILD 'maintainer': m_maintainer_handler, # For example: A:x86_64 @@ -1190,10 +1298,13 @@ def source_handler(value, **kwargs): # - 'F': this is a folder path from the root and until there is a new F value # all files defined with an R are under that folder 'F': F_directory_handler, + # - 'Z' is a file checksum (for files and links) 'Z': Z_checksum_handler, + # - 'R': this is a file name that is under the current F Folder 'R': R_filename_handler, + # - 'M' is a set of permissions for a folder as user:group:mode e.g. M:0:0:1777 # - 'a' is a set of permissions for a file as user:group:mode e.g. a:0:0:755 ############################################################################ @@ -1258,8 +1369,10 @@ def normalize_and_cleanup_declared_license(declared): The expression should be valida SPDX but are far from this in practice. Several fixes are applied: + - plain text replacemnet aka. syntax fixes are plain text replacements to make the expression parsable + - common fixes includes also nadling space-separated and comma-separated lists of licenses """ @@ -1548,6 +1661,7 @@ def apkbuild_options_handler(value, **kwargs): ################################################# +# test code to test parse whole APKINDEX if __name__ == '__main__': import sys diff --git a/src/packagedcode/bower.py b/src/packagedcode/bower.py index 83910c1a86d..ff16a58eb51 100644 --- a/src/packagedcode/bower.py +++ b/src/packagedcode/bower.py @@ -9,65 +9,33 @@ import io import json -import logging -import attr from packageurl import PackageURL -from commoncode import filetype from packagedcode import models from packagedcode.utils import combine_expressions -TRACE = False - -logger = logging.getLogger(__name__) - -if TRACE: - import sys - logging.basicConfig(stream=sys.stdout) - logger.setLevel(logging.DEBUG) - - -@attr.s() -class BowerPackageData(models.PackageData): - - default_type = 'bower' +# TODO: handle complex cases of npms and bower combined +class BowerJsonHandler(models.DatafileHandler): + datasource_id = 'bower_json' + path_patterns = ('*/bower.json', '*/.bower.json',) + default_package_type = 'bower' + default_primary_language = 'JavaScript' + description = 'Bower package' + documentation_url = 'https://bower.io' @classmethod - def get_package_root(cls, manifest_resource, codebase): - return manifest_resource.parent(codebase) - - def compute_normalized_license(self): - return compute_normalized_license(self.declared_license) - - -@attr.s() -class BowerJson(BowerPackageData, models.PackageDataFile): - - file_patterns = ('bower.json', '.bower.json') - extensions = ('.json',) + def compute_normalized_license(cls, package): + return compute_bower_normalized_license(package.declared_license) @classmethod - def is_package_data_file(cls, location): - """ - Return True if the file at ``location`` is likely a manifest of this type. - """ - return filetype.is_file(location) and location.lower().endswith(('bower.json', '.bower.json')) - - @classmethod - def recognize(cls, location): - """ - Yield one or more Package manifest objects given a file ``location`` pointing to a - package archive, manifest or similar. - """ + def parse(cls, location): with io.open(location, encoding='utf-8') as loc: package_data = json.load(loc) + # note: having no name is not a problem for private packages. See #1514 name = package_data.get('name') - # FIXME: having no name may not be a problem See #1514 - if not name: - return description = package_data.get('description') version = package_data.get('version') @@ -105,7 +73,7 @@ def recognize(cls, location): vcs_url = None if repo_type and repo_url: - vcs_url = '{}+{}'.format(repo_type, repo_url) + vcs_url = f'{repo_type}+{repo_url}' deps = package_data.get('dependencies') or {} dependencies = [] @@ -132,7 +100,9 @@ def recognize(cls, location): ) ) - yield cls( + yield models.PackageData( + datasource_id=cls.datasource_id, + type=cls.default_package_type, name=name, description=description, version=version, @@ -145,21 +115,7 @@ def recognize(cls, location): ) -@attr.s() -class BowerPackage(BowerPackageData, models.Package): - """ - A Bower Package that is created out of one/multiple bower package - manifests and package-like data, with it's files. - """ - - @property - def manifests(self): - return [ - BowerJson - ] - - -def compute_normalized_license(declared_license): +def compute_bower_normalized_license(declared_license): """ Return a normalized license expression string detected from a list of declared license strings. diff --git a/src/packagedcode/build.py b/src/packagedcode/build.py index 4697b7d9943..dee192784f0 100644 --- a/src/packagedcode/build.py +++ b/src/packagedcode/build.py @@ -7,78 +7,60 @@ # See https://aboutcode.org for more information about nexB OSS projects. # -from collections import defaultdict import ast -import logging -import os - -import attr +from collections import defaultdict from commoncode import fileutils + from packagedcode import models from packagedcode.utils import combine_expressions from scancode.api import get_licenses - -TRACE = False - -logger = logging.getLogger(__name__) - -if TRACE: - import sys - logging.basicConfig(stream=sys.stdout) - logger.setLevel(logging.DEBUG) - - """ Detect as Packages common build tools and environment such as Make, Autotools, -gradle, Buck, Bazel, Pants, etc. +Buck, Bazel, Pants, etc. """ -@attr.s() -class BaseBuildManifestPackageData(models.PackageData): - file_patterns = tuple() +class AutotoolsConfigureHandler(models.DatafileHandler): + datasource_id = 'autotools_configure' + path_patterns = ('*/configure', '*/configure.ac',) + default_package_type = 'autotools' + description = 'Autotools configure script' + documentation_url = 'https://www.gnu.org/software/automake/' @classmethod - def recognize(cls, location): - if not cls.is_package_data_file(location): - return - - # we use the parent directory as a name + def parse(cls, location): + # we use the parent directory as a package name name = fileutils.file_name(fileutils.parent_directory(location)) # we could use checksums as version in the future version = None # there is an optional array of license file names in targets that we could use # declared_license = None - # there is are dependencies we could use + + # there are dependencies we could use # dependencies = [] - yield cls( + + yield models.PackageData( + datasource_id=cls.datasource_id, + type=cls.default_package_type, name=name, - version=version) + version=version, + ) @classmethod - def get_package_root(cls, manifest_resource, codebase): - return manifest_resource.parent(codebase) - - -@attr.s() -class AutotoolsPackage(BaseBuildManifestPackageData, models.PackageDataFile): - file_patterns = ('configure', 'configure.ac',) - default_type = 'autotools' - - -starlark_rule_types = [ - 'binary', - 'library' -] + def assign_package_to_resources(cls, package, resource, codebase): + cls.assign_package_to_parent_tree( + package=package, + resource=resource, + codebase=codebase, + ) -def check_rule_name_ending(rule_name): +def check_rule_name_ending(rule_name, starlark_rule_types=('binary', 'library')): """ Return True if `rule_name` ends with a rule type from `starlark_rule_types` - Return False otherwise """ for rule_type in starlark_rule_types: @@ -87,16 +69,48 @@ def check_rule_name_ending(rule_name): return False -@attr.s() -class StarlarkManifestPackage(BaseBuildManifestPackageData, models.PackageDataFile): +class BaseStarlarkManifestHandler(models.DatafileHandler): + """ + Common base class for Bazel and Buck that both use the Starlark syntax. + """ @classmethod - def recognize(cls, location): - if not cls.is_package_data_file(location): - return + def assemble(cls, package_data, resource, codebase): + """ + Given a ``package_data`` PackageData found in the ``resource`` datafile + of the ``codebase``, assemble package their files and dependencies + from one or more datafiles. + """ + datafile_path = resource.path + # do we have enough to create a package? + if package_data.purl: + package = models.Package.from_package_data( + package_data=package_data, + datafile_path=datafile_path, + ) + + if not package.license_expression: + package.license_expression = compute_normalized_license( + package=package, + resource=resource, + codebase=codebase, + ) + + cls.assign_package_to_resources( + package=package, + resource=resource, + codebase=codebase, + ) + + yield package + + # we yield this as we do not want this further processed + yield resource - # Thanks to Starlark being a Python dialect, we can use the `ast` - # library to parse it + @classmethod + def parse(cls, location): + + # Thanks to Starlark being a Python dialect, we can use `ast` to parse it with open(location, 'rb') as f: tree = ast.parse(f.read()) @@ -104,11 +118,13 @@ def recognize(cls, location): for statement in tree.body: # We only care about function calls or assignments to functions whose # names ends with one of the strings in `rule_types` - if (isinstance(statement, ast.Expr) - or isinstance(statement, ast.Call) - or isinstance(statement, ast.Assign) - and isinstance(statement.value, ast.Call) - and isinstance(statement.value.func, ast.Name)): + if ( + isinstance(statement, ast.Expr) + or isinstance(statement, ast.Call) + or isinstance(statement, ast.Assign) + and isinstance(statement.value, ast.Call) + and isinstance(statement.value.func, ast.Name) + ): rule_name = statement.value.func.id # Ensure that we are only creating packages from the proper # build rules @@ -120,9 +136,14 @@ def recognize(cls, location): arg_name = kw.arg if isinstance(kw.value, ast.Str): args[arg_name] = kw.value.s + if isinstance(kw.value, ast.List): - # We collect the elements of a list if the element is not a function call - args[arg_name] = [elt.s for elt in kw.value.elts if not isinstance(elt, ast.Call)] + # We collect the elements of a list if the element is + # not a function call + args[arg_name] = [ + elt.s for elt in kw.value.elts + if not isinstance(elt, ast.Call) + ] if args: build_rules[rule_name].append(args) @@ -130,68 +151,123 @@ def recognize(cls, location): for rule_name, rule_instances_args in build_rules.items(): for args in rule_instances_args: name = args.get('name') + + # FIXME: we could still return partial package data if not name: continue + license_files = args.get('licenses') - manifest = cls( + yield models.PackageData( + datasource_id=cls.datasource_id, + type=cls.default_package_type, name=name, declared_license=license_files, ) - manifest.license_expression = manifest.compute_normalized_license( - manifest_parent_path=fileutils.parent_directory(location) - ) - yield manifest + else: - # If we don't find anything in the manifest file, we yield a Package with - # the parent directory as the name - yield cls( + # If we don't find anything in the pkgdata file, we yield a Package + # with the parent directory as the name + yield models.PackageData( + datasource_id=cls.datasource_id, + type=cls.default_package_type, name=fileutils.file_name(fileutils.parent_directory(location)) ) - def compute_normalized_license(self, manifest_parent_path): - """ - Return a normalized license expression string detected from a list of - declared license items. - """ - declared_license = self.declared_license + @classmethod + def assign_package_to_resources(cls, package, resource, codebase, skip_name=None): + package_uid = package.package_uid + parent = resource.parent(codebase) + for res in walk_build(resource=parent, codebase=codebase, skip_name=skip_name): + res.for_packages.append(package_uid) + res.save(codebase) - if not declared_license or not manifest_parent_path: - return - license_expressions = [] - for license_file in declared_license: - license_file_path = os.path.join(manifest_parent_path, license_file) - if os.path.exists(license_file_path) and os.path.isfile(license_file_path): - licenses = get_licenses(license_file_path) +def walk_build(resource, codebase, skip_name): + """ + Walk the ``codebase`` starting at ``resource`` and stop when ``skip_name`` + is found in a subdirectory. The idea is to avoid walking recursively sub- + directories that contain a build script such as a Bazel or BUCK file as they + define their own file tree. + """ + for child in resource.children(codebase): + yield child + if not child.is_dir: + continue + if not any(r.name == skip_name for r in child.children(codebase)): + for subchild in walk_build(child, codebase, skip_name=skip_name): + yield subchild + + +def compute_normalized_license(package, resource, codebase): + """ + Return a normalized license expression string detected from a list of + declared license items. + """ + declared_licenses = package.declared_license + if not declared_licenses: + return + + declared_licenses = set(declared_licenses) + + license_expressions = [] + + parent = resource.parent(codebase) + # FIXME: we should be able to get the path relatively to the ABOUT file resource + for child in parent.children(codebase): + if child.name in declared_licenses: + licenses = get_licenses(child.location) + if not licenses: + license_expressions.append('unknown') + else: license_expressions.extend(licenses.get('license_expressions', [])) - return combine_expressions(license_expressions) + return combine_expressions(license_expressions) + +class BazelBuildHandler(BaseStarlarkManifestHandler): + datasource_id = 'bazel_build' + path_patterns = ('*/BUILD',) + default_package_type = 'bazel' + description = 'Bazel BUILD' + documentation_url = 'https://bazel.build/' + + @classmethod + def assign_package_to_resources(cls, package, resource, codebase, skip_name='BUILD'): + return super().assign_package_to_resources( + package=package, + resource=resource, + codebase=codebase, + skip_name=skip_name, + ) -@attr.s() -class BazelPackage(StarlarkManifestPackage): - file_patterns = ('BUILD',) - default_type = 'bazel' +class BuckPackageHandler(BaseStarlarkManifestHandler): + datasource_id = 'buck_file' + path_patterns = ('*/BUCK',) + default_package_type = 'buck' + description = 'Buck file' + documentation_url = 'https://buck.build/' -@attr.s() -class BuckPackage(StarlarkManifestPackage): - file_patterns = ('BUCK',) - default_type = 'buck' + @classmethod + def assign_package_to_resources(cls, package, resource, codebase, skip_name='BUCK'): + return super().assign_package_to_resources( + package=package, + resource=resource, + codebase=codebase, + skip_name=skip_name, + ) -@attr.s() -class MetadataBzl(BaseBuildManifestPackageData, models.PackageDataFile): - file_patterns = ('METADATA.bzl',) - # TODO: Not sure what the default type should be, change this to something - # more appropriate later - default_type = 'METADATA.bzl' +class BuckMetadataBzlHandler(BaseStarlarkManifestHandler): + datasource_id = 'buck_metadata' + path_patterns = ('*/METADATA.bzl',) + default_package_type = 'buck' + description = 'Buck metadata file' + documentation_url = 'https://buck.build/' @classmethod - def recognize(cls, location): - if not cls.is_package_data_file(location): - return + def parse(cls, location): with open(location, 'rb') as f: tree = ast.parse(f.read()) @@ -200,6 +276,7 @@ def recognize(cls, location): for statement in tree.body: if not (hasattr(statement, 'targets') and isinstance(statement, ast.Assign)): continue + # We are looking for a dictionary assigned to the variable `METADATA` for target in statement.targets: if not (target.id == 'METADATA' and isinstance(statement.value, ast.Dict)): @@ -234,28 +311,34 @@ def recognize(cls, location): # TODO: Create function that determines package type from download URL, # then create a package of that package type from the metadata info - yield cls( - type=metadata_fields.get('upstream_type', ''), - name=metadata_fields.get('name', ''), - version=metadata_fields.get('version', ''), + yield models.PackageData( + datasource_id=cls.datasource_id, + type=metadata_fields.get('upstream_type', cls.default_package_type), + name=metadata_fields.get('name'), + version=metadata_fields.get('version'), declared_license=metadata_fields.get('licenses', []), parties=parties, homepage_url=metadata_fields.get('upstream_address', ''), # TODO: Store 'upstream_hash` somewhere ) - def compute_normalized_license(self): - """ - Return a normalized license expression string detected from a list of - declared license strings. - """ - if not self.declared_license: + @classmethod + def compute_normalized_license(cls, package): + if not package.declared_license: return detected_licenses = [] - for declared in self.declared_license: + for declared in package.declared_license: detected_license = models.compute_normalized_license(declared) detected_licenses.append(detected_license) if detected_licenses: return combine_expressions(detected_licenses) + + @classmethod + def assign_package_to_resources(cls, package, resource, codebase): + cls.assign_package_to_parent_tree( + package_=package, + resource=resource, + codebase=codebase, + ) diff --git a/src/packagedcode/build_gradle.py b/src/packagedcode/build_gradle.py index 047fc0f5d08..6daf41e15b0 100644 --- a/src/packagedcode/build_gradle.py +++ b/src/packagedcode/build_gradle.py @@ -7,27 +7,39 @@ # See https://aboutcode.org for more information about nexB OSS projects. # -import logging - from packageurl import PackageURL from pygmars import Token from pygmars.parse import Parser from pygments import lex -from pygments.lexers import GroovyLexer -import attr +from pygments.lexers.jvm import GroovyLexer from packagedcode import models -from packagedcode.build import BaseBuildManifestPackageData +# TODO: split groovy and kotlin handlers -TRACE = False -logger = logging.getLogger(__name__) +class BuildGradleHandler(models.DatafileHandler): + datasource_id = 'build_gradle' + path_patterns = ('*/build.gradle', 'build.gradle.kts',) + # TODO: Not sure what the default type should be, change this to something + # more appropriate later + default_package_type = 'maven' + primary_language = 'Java' + description = 'Gradle build script' -if TRACE: - import sys - logging.basicConfig(stream=sys.stdout) - logger.setLevel(logging.DEBUG) + @classmethod + def parse(cls, location): + dependencies = get_dependencies(location) + return build_package(cls, dependencies) + + # TODO: handle complex cases of nested builds with many packages + @classmethod + def assign_package_to_resources(cls, package, resource, codebase): + cls.assign_package_to_parent_tree( + package=package, + resource=resource, + codebase=codebase, + ) grammar = """ @@ -49,6 +61,9 @@ def get_tokens(contents): + """ + Yield tuples of (position, Token, value) from lexing a ``contents`` string. + """ for i, (token, value) in enumerate(lex(contents, GroovyLexer())): yield i, token, value @@ -62,7 +77,9 @@ def get_pygmar_tokens(contents): def get_parse_tree(build_gradle_location): - # Open build.gradle and create a Pygmars parse tree from its contents + """ + Return a Pygmars parse tree from a ``build_gradle_location`` build.gradle + """ with open(build_gradle_location) as f: contents = f.read() parser = Parser(grammar, trace=0) @@ -75,11 +92,14 @@ def is_literal_string(string): def remove_quotes(string): """ - Remove starting and ending quotes from `string`. + Remove starting and ending quotes from ``string``. - If `string` has no starting or ending quotes, return `string`. + If ``string`` has no starting or ending quotes, return ``string``. """ - quoted = lambda x: (x.startswith('"') and x.endswith('"')) or (x.startswith("'") and x.endswith("'")) + quoted = lambda x: ( + (x.startswith('"') and x.endswith('"')) + or (x.startswith("'") and x.endswith("'")) + ) if quoted: return string[1:-1] else: @@ -261,7 +281,7 @@ def build_package(cls, dependencies): continue namespace = dependency.get('namespace', '') - version = dependency.get('version', '') + version = dependency.get('version', '') scope = dependency.get('scope', '') is_runtime = True is_optional = False @@ -272,7 +292,7 @@ def build_package(cls, dependencies): package_dependencies.append( models.DependentPackage( purl=PackageURL( - type='build.gradle', + type=cls.default_package_type, namespace=namespace, name=name, version=version @@ -284,22 +304,10 @@ def build_package(cls, dependencies): ) ) - yield cls( + yield models.PackageData( + datasource_id=cls.datasource_id, + type=cls.default_package_type, + primary_language=BuildGradleHandler.default_primary_language, dependencies=package_dependencies, ) - -@attr.s() -class BuildGradle(BaseBuildManifestPackageData, models.PackageDataFile): - file_patterns = ('build.gradle',) - extensions = ('.gradle',) - # TODO: Not sure what the default type should be, change this to something - # more appropriate later - default_type = 'build.gradle' - - @classmethod - def recognize(cls, location): - if not cls.is_package_data_file(location): - return - dependencies = get_dependencies(location) - return build_package(cls, dependencies) diff --git a/src/packagedcode/cargo.py b/src/packagedcode/cargo.py index 2e358d180dd..76241487404 100644 --- a/src/packagedcode/cargo.py +++ b/src/packagedcode/cargo.py @@ -7,171 +7,206 @@ # See https://aboutcode.org for more information about nexB OSS projects. # -import logging import re -import attr -from packageurl import PackageURL +import saneyaml import toml +from packageurl import PackageURL -from commoncode import filetype -from commoncode import fileutils from packagedcode import models - """ Handle Rust cargo crates """ -TRACE = False - -logger = logging.getLogger(__name__) - -if TRACE: - import sys - logging.basicConfig(stream=sys.stdout) - logger.setLevel(logging.DEBUG) - -@attr.s() -class RustCargoCrate(models.PackageData): - default_type = 'cargo' +class CargoTomlHandler(models.DatafileHandler): + datasource_id = 'cargo_toml' + path_patterns = ('*/Cargo.toml', '*/cargo.toml',) + default_package_type = 'cargo' default_primary_language = 'Rust' - default_web_baseurl = 'https://crates.io' - default_download_baseurl = 'https://crates.io/api/v1' - default_api_baseurl = 'https://crates.io/api/v1' + description = 'Rust Cargo.toml package manifest' + documentation_url = 'https://doc.rust-lang.org/cargo/reference/manifest.html' @classmethod - def get_package_root(cls, manifest_resource, codebase): - return manifest_resource.parent(codebase) - - def repository_homepage_url(self, baseurl=default_web_baseurl): - if self.name: - return '{}/crates/{}'.format(baseurl, self.name) - - def repository_download_url(self, baseurl=default_download_baseurl): - if self.name and self.version: - return '{}/crates/{}/{}/download'.format(baseurl, self.name, self.version) - - def api_data_url(self, baseurl=default_api_baseurl): - if self.name: - return '{}/crates/{}'.format(baseurl, self.name) - - -@attr.s() -class CargoToml(RustCargoCrate, models.PackageDataFile): - - file_patterns = ('Cargo.toml',) - extensions = ('.toml',) - - @classmethod - def is_package_data_file(cls, location): - """ - Return True if the file at ``location`` is likely a manifest of this type. - """ - return filetype.is_file(location) and fileutils.file_name(location).lower() == 'cargo.toml' - - @classmethod - def recognize(cls, location): - """ - Yield one or more Package manifest objects given a file ``location`` pointing to a - package archive, manifest or similar. - """ + def parse(cls, location): package_data = toml.load(location, _dict=dict) core_package_data = package_data.get('package', {}) + name = core_package_data.get('name') version = core_package_data.get('version') - description = core_package_data.get('description') - if description: - description = description.strip() + description = core_package_data.get('description') or '' + description = description.strip() - authors = core_package_data.get('authors') - parties = list(party_mapper(authors, party_role='author')) + authors = core_package_data.get('authors') or [] + parties = list(get_parties(person_names=authors, party_role='author')) declared_license = core_package_data.get('license') - - package = cls( + # TODO: load as a notice_text + license_file = core_package_data.get('license-file') + + keywords = core_package_data.get('keywords') or [] + categories = core_package_data.get('categories') or [] + keywords.extend(categories) + + # cargo dependencies are complex and can be overriden at multiple levels + dependencies = [] + for key, value in core_package_data.items(): + if key.endswith('dependencies'): + dependencies.extend(dependency_mapper(dependencies=value, scope=key)) + + # TODO: add file refs: + # - readme, include and exclude + # TODO: other URLs + # - documentation + + vcs_url = core_package_data.get('repository') + homepage_url = core_package_data.get('homepage') + repository_homepage_url = name and f'https://crates.io/crates/{name}' + repository_download_url = name and version and f'https://crates.io/api/v1/crates/{name}/{version}/download' + api_data_url = name and f'https://crates.io/api/v1/crates/{name}' + + yield models.PackageData( + datasource_id=cls.datasource_id, + type=cls.default_package_type, name=name, version=version, + primary_language=cls.default_primary_language, description=description, parties=parties, - declared_license=declared_license + declared_license=declared_license, + vcs_url=vcs_url, + homepage_url=homepage_url, + repository_homepage_url=repository_homepage_url, + repository_download_url=repository_download_url, + api_data_url=api_data_url, + dependencies=dependencies, ) - yield package - - -@attr.s() -class CargoLock(RustCargoCrate, models.PackageDataFile): - - file_patterns = ('Cargo.lock',) - extensions = ('.lock',) - @classmethod - def is_package_data_file(cls, location): + def assemble(cls, package_data, resource, codebase): """ - Return True if the file at ``location`` is likely a manifest of this type. + Assemble Cargo.toml and possible Cargo.lock datafiles """ - return (filetype.is_file(location) - and fileutils.file_name(location).lower() == 'cargo.lock') + yield from cls.assemble_from_many_datafiles( + datafile_name_patterns=('Cargo.toml', 'cargo.toml', 'Cargo.lock', 'cargo.lock'), + directory=resource.parent(codebase), + codebase=codebase, + ) - @classmethod - def recognize(cls, location): - """ - Yield one or more Package manifest objects given a file ``location`` pointing to a - package archive, manifest or similar. - """ - package_data = toml.load(location, _dict=dict) - package_dependencies = [] - core_package_data = package_data.get('package', []) - for dep in core_package_data: - package_dependencies.append( +class CargoLockHandler(models.DatafileHandler): + datasource_id = 'cargo_lock' + path_patterns = ('*/Cargo.lock', '*/cargo.lock',) + default_package_type = 'cargo' + default_primary_language = 'Rust' + description = 'Rust Cargo.lock dependencies lockfile' + documentation_url = 'https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html' + + # TODO: also add extra package data found such as version control and commits + # [[package]] + # name = "ansi_term" + # version = "0.11.0" + # source = "registry+https://github.com/rust-lang/crates.io-index" + # checksum = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b" + # dependencies = [ + # "winapi", + # ] + + @classmethod + def parse(cls, location): + cargo_lock = toml.load(location, _dict=dict) + dependencies = [] + package = cargo_lock.get('package', []) + for dep in package: + # TODO: add missing "source" vs. "dependencies" and checksum + dependencies.append( models.DependentPackage( purl=PackageURL( - type='crates', + type='cargo', name=dep.get('name'), version=dep.get('version') ).to_string(), extracted_requirement=dep.get('version'), - scope='dependency', + scope='dependencies', is_runtime=True, is_optional=False, is_resolved=True, ) ) - - yield cls(dependencies=package_dependencies) + yield models.PackageData( + datasource_id=cls.datasource_id, + type=cls.default_package_type, + primary_language=cls.default_primary_language, + dependencies=dependencies, + ) -@attr.s() -class RustPackage(RustCargoCrate, models.Package): + @classmethod + def assemble(cls, package_data, resource, codebase): + """ + Assemble Cargo.toml and possible Cargo.lock datafiles + """ + yield from cls.assemble_from_many_datafiles( + datafile_name_patterns=('Cargo.toml', 'Cargo.lock',), + directory=resource.parent(codebase), + codebase=codebase, + ) + + +def dependency_mapper(dependencies, scope='dependencies'): """ - A Rust Package that is created out of one/multiple rust package - manifests and package-like data, with it's files. + Yield DependentPackage collected from a list of cargo dependencies """ - - @property - def manifests(self): - return [ - CargoToml, - CargoLock - ] + is_runtime = not scope.endswith(('dev-dependencies', 'build-dependencies')) + for name, requirement in dependencies.items(): + if isinstance(requirement, str): + # plain version requirement + is_optional = False + elif isinstance(requirement, dict): + # complex requirement, with more than version are harder to handle + # so we just dump + is_optional = requirement.pop('optional', False) + requirement = saneyaml.dump(requirement) + + yield models.DependentPackage( + purl=PackageURL( + type='cargo', + name=name, + ).to_string(), + extracted_requirement=requirement, + scope=scope, + is_runtime=is_runtime, + is_optional=is_optional, + is_resolved=False, + ) -def party_mapper(party, party_role): +def get_parties(person_names, party_role): """ - Yields a Party object with party of `party_role`. + Yields Party of `party_role` given a list of ``person_names`` strings. https://doc.rust-lang.org/cargo/reference/manifest.html#the-authors-field-optional """ - for person in party: - name, email = parse_person(person) + for person_name in person_names: + name, email = parse_person(person_name) yield models.Party( type=models.party_person, name=name, role=party_role, - email=email) + email=email, + ) + + +person_parser = re.compile( + r'^(?P[^\(<]+)' + r'\s?' + r'(?P<([^>]+)>)?' +).match + +person_parser_no_name = re.compile( + r'(?P<([^>]+)>)?' +).match def parse_person(person): @@ -206,14 +241,3 @@ def parse_person(person): email = email.strip('<> ') return name, email - - -person_parser = re.compile( - r'^(?P[^\(<]+)' - r'\s?' - r'(?P<([^>]+)>)?' -).match - -person_parser_no_name = re.compile( - r'(?P<([^>]+)>)?' -).match diff --git a/src/packagedcode/chef.py b/src/packagedcode/chef.py index b4c48aeaaca..17f8401c7d9 100644 --- a/src/packagedcode/chef.py +++ b/src/packagedcode/chef.py @@ -10,23 +10,19 @@ import json import logging -import attr +from commoncode import fileutils from packageurl import PackageURL from pygments import highlight from pygments.formatter import Formatter -from pygments.lexers import RubyLexer +from pygments.lexers.ruby import RubyLexer from pygments.token import Token -from commoncode import filetype -from commoncode import fileutils from packagedcode import models - """ Handle Chef cookbooks """ - TRACE = False logger = logging.getLogger(__name__) @@ -37,31 +33,7 @@ logger.setLevel(logging.DEBUG) -@attr.s() -class ChefPackageData(models.PackageData): - filetypes = ('.tgz',) - mimetypes = ('application/x-tar',) - default_type = 'chef' - default_primary_language = 'Ruby' - default_web_baseurl = 'https://supermarket.chef.io/cookbooks' - default_download_baseurl = 'https://supermarket.chef.io/cookbooks' - default_api_baseurl = 'https://supermarket.chef.io/api/v1' - - @classmethod - def get_package_root(cls, manifest_resource, codebase): - return manifest_resource.parent(codebase) - - def repository_download_url(self, baseurl=default_download_baseurl): - return chef_download_url(self.name, self.version, registry=baseurl) - - def api_data_url(self, baseurl=default_api_baseurl): - return chef_api_url(self.name, self.version, registry=baseurl) - - def compute_normalized_license(self): - return models.compute_normalized_license(self.declared_license) - - -def chef_download_url(name, version, registry='https://supermarket.chef.io/cookbooks'): +def chef_download_url(name, version): """ Return an Chef cookbook download url given a name, version, and base registry URL. @@ -69,11 +41,10 @@ def chef_download_url(name, version, registry='https://supermarket.chef.io/cookb >>> c = chef_download_url('seven_zip', '1.0.4') >>> assert c == u'https://supermarket.chef.io/cookbooks/seven_zip/versions/1.0.4/download' """ - registry = registry.rstrip('/') - return '{registry}/{name}/versions/{version}/download'.format(**locals()) + return name and version and f'https://supermarket.chef.io/cookbooks/{name}/versions/{version}/download' -def chef_api_url(name, version, registry='https://supermarket.chef.io/api/v1'): +def chef_api_url(name, version): """ Return a package API data URL given a name, version and a base registry URL. @@ -81,8 +52,21 @@ def chef_api_url(name, version, registry='https://supermarket.chef.io/api/v1'): >>> c = chef_api_url('seven_zip', '1.0.4') >>> assert c == u'https://supermarket.chef.io/api/v1/cookbooks/seven_zip/versions/1.0.4' """ - registry = registry.rstrip('/') - return '{registry}/cookbooks/{name}/versions/{version}'.format(**locals()) + return name and version and f'https://supermarket.chef.io/api/v1/cookbooks/{name}/versions/{version}' + + +def get_urls(name, version): + """ + Return a mapping of URLs given a name and version. + """ + dnl = chef_download_url(name, version) + rhu = name and version and f'https://supermarket.chef.io/cookbooks/{name}/versions/{version}/' + return dict( + download_url=dnl, + repository_download_url=dnl, + repository_homepage_url=rhu, + api_data_url=chef_api_url(name, version), + ) class ChefMetadataFormatter(Formatter): @@ -155,93 +139,89 @@ def format(self, tokens, outfile): json.dump(metadata, outfile) -@attr.s() -class MetadataJson(ChefPackageData, models.PackageDataFile): - - file_patterns = ('metadata.json',) - extensions = ('.json',) +class BaseChefMetadataHandler(models.DatafileHandler): @classmethod - def is_package_data_file(cls, location): + def assemble(cls, package_data, resource, codebase): """ - Return True if `location` path is for a Chef metadata.json file. - The metadata.json is also used in Python installed packages in a 'dist-info' - directory. + Assemble Package from Chef metadata.rb, then from metadata.json files. """ - return ( - filetype.is_file(location) - and fileutils.file_name(location).lower() == 'metadata.json' - and not fileutils.file_name(fileutils.parent_directory(location)) - .lower().endswith('dist-info') + yield from cls.assemble_from_many_datafiles( + datafile_name_patterns=('metadata.rb', 'metadata.json',), + directory=resource.parent(codebase), + codebase=codebase, ) - @classmethod - def recognize(cls, location): - """ - Yield one or more Package manifest objects given a file ``location`` pointing to a - package archive, manifest or similar. - """ - with io.open(location, encoding='utf-8') as loc: - package_data = json.load(loc) - return build_package(cls, package_data) +# TODO: implemet me: extract and parse and register +class ChefCookbookHandler(BaseChefMetadataHandler): + datasource_id = 'chef_cookbook_tarball' + path_patterns = ('*.tgz',) + default_package_type = 'chef' + default_primary_language = 'Ruby' + description = 'Chef cookbook tarball' -@attr.s() -class Metadatarb(ChefPackageData, models.PackageDataFile): - file_patterns = ('metadata.rb',) - extensions = ('.rb',) +class ChefMetadataJsonHandler(BaseChefMetadataHandler): + datasource_id = 'chef_cookbook_metadata_json' + path_patterns = ('*/metadata.json',) + default_package_type = 'chef' + default_primary_language = 'Ruby' + description = 'Chef cookbook metadata.json' + documentation_url = 'https://docs.chef.io/config_rb_metadata/' @classmethod - def is_package_data_file(cls, location): + def is_datafile(cls, location, filetypes=tuple()): """ - Return True if `location` path is for a Chef metadata.json file. - The metadata.json is also used in Python installed packages in a 'dist-info' + Return True if `location` path is for a Chef metadata.json file. The + metadata.json is/was also used in Python legacy wheels in a 'dist-info' directory. """ - return (filetype.is_file(location) - and fileutils.file_name(location).lower() == 'metadata.rb') + if super().is_datafile(location, filetypes=filetypes): + parent = fileutils.file_name(fileutils.parent_directory(location)) + return not parent.endswith('dist-info') @classmethod - def recognize(cls, location): + def parse(cls, location): """ - Yield one or more Package manifest objects given a file ``location`` pointing to a - package archive, manifest or similar. + Yield one or more Package manifest objects given a file ``location`` + pointing to a package archive, manifest or similar. """ with io.open(location, encoding='utf-8') as loc: - file_contents = loc.read() - formatted_file_contents = highlight( - file_contents, RubyLexer(), ChefMetadataFormatter()) - package_data = json.loads(formatted_file_contents) - return build_package(cls, package_data) + package_data = json.load(loc) + return build_package(package_data, datasource_id=cls.datasource_id) -@attr.s() -class ChefPackage(ChefPackageData, models.Package): - """ - A Chef Package that is created out of one/multiple chef package - manifests. - """ +class ChefMetadataRbHandler(BaseChefMetadataHandler): + datasource_id = 'chef_cookbook_metadata_rb' + path_patterns = ('*/metadata.rb',) + default_package_type = 'chef' + default_primary_language = 'Ruby' + description = 'Chef cookbook metadata.rb' + documentation_url = 'https://docs.chef.io/config_rb_metadata/' + + @classmethod + def parse(cls, location): + with io.open(location, encoding='utf-8') as loc: + file_contents = loc.read() - @property - def manifests(self): - return [ - MetadataJson, - Metadatarb - ] + # we use a Pygments formatter for parsing lexed Ruby code + formatted_file_contents = highlight( + file_contents, + RubyLexer(), + ChefMetadataFormatter() + ) + package_data = json.loads(formatted_file_contents) + return build_package(package_data, datasource_id=cls.datasource_id) -def build_package(cls, package_data): +def build_package(package_data, datasource_id): """ - Return a Package object from a package_data mapping (from a metadata.json or - similar) or None. + Return a PackageData object from a package_data mapping from a metadata.json + or similar or None. """ name = package_data.get('name') version = package_data.get('version') - if not name or not version: - # a metadata.json without name and version is not a usable chef package - # FIXME: raise error? - return maintainer_name = package_data.get('maintainer', '') maintainer_email = package_data.get('maintainer_email', '') @@ -249,21 +229,30 @@ def build_package(cls, package_data): if maintainer_name or maintainer_email: parties.append( models.Party( - name=maintainer_name or None, + name=maintainer_name.strip() or None, role='maintainer', - email=maintainer_email or None, + email=maintainer_email.strip() or None, ) ) + # TODO: combine descriptions as done elsewhere description = package_data.get('description', '') or package_data.get('long_description', '') lic = package_data.get('license', '') + declared_license = None + license_expression = None + if lic: + declared_license=lic.strip() + if declared_license: + license_expression = models.compute_normalized_license(declared_license) code_view_url = package_data.get('source_url', '') bug_tracking_url = package_data.get('issues_url', '') - dependencies = package_data.get('dependencies', {}) or package_data.get('depends', {}) - package_dependencies = [] - for dependency_name, requirement in dependencies.items(): - package_dependencies.append( + deps = dict(package_data.get('dependencies', {}) or {}) + deps.update(package_data.get('depends', {}) or {}) + + dependencies = [] + for dependency_name, requirement in deps.items(): + dependencies.append( models.DependentPackage( purl=PackageURL(type='chef', name=dependency_name).to_string(), scope='dependencies', @@ -273,14 +262,18 @@ def build_package(cls, package_data): ) ) - yield cls( + yield models.PackageData( + datasource_id=datasource_id, + type=ChefMetadataJsonHandler.default_package_type, name=name, version=version, parties=parties, description=description.strip() or None, - declared_license=lic.strip() or None, + declared_license=declared_license, + license_expression=license_expression, code_view_url=code_view_url.strip() or None, bug_tracking_url=bug_tracking_url.strip() or None, - download_url=chef_download_url(name, version).strip(), - dependencies=package_dependencies, + dependencies=dependencies, + primary_language='Ruby', + **get_urls(name, version), ) diff --git a/src/packagedcode/cocoapods.py b/src/packagedcode/cocoapods.py index 2efa5f86052..3552e2bae5c 100644 --- a/src/packagedcode/cocoapods.py +++ b/src/packagedcode/cocoapods.py @@ -9,19 +9,17 @@ import hashlib import json +import os import logging -import re -import attr import saneyaml +from packageurl import PackageURL -from commoncode import filetype from packagedcode import models from packagedcode.licensing import get_license_matches from packagedcode.licensing import get_license_expression_from_matches -from packagedcode.spec import Spec - -from packageurl import PackageURL +from packagedcode import spec +from packagedcode import utils """ Handle cocoapods packages manifests for macOS and iOS @@ -30,9 +28,11 @@ See https://cocoapods.org """ -# TODO: override the license detection to detect declared_license correctly. +TRACE = os.environ.get('SCANCODE_DEBUG_PACKAGE', False) + +def logger_debug(*args): + pass -TRACE = False logger = logging.getLogger(__name__) @@ -41,246 +41,302 @@ logging.basicConfig(stream=sys.stdout) logger.setLevel(logging.DEBUG) + def logger_debug(*args): + return logger.debug( + ' '.join(isinstance(a, str) and a or repr(a) for a in args) + ) -@attr.s() -class CocoapodsPackageData(models.PackageData): - default_type = 'pods' - default_primary_language = 'Objective-C' - default_web_baseurl = 'https://cocoapods.org' - github_specs_repo_baseurl = 'https://raw.githubusercontent.com/CocoaPods/Specs/blob/master/Specs' - default_cdn_baseurl='https://cdn.cocoapods.org/Specs' +# TODO: consider merging Gemfile.lock and Podfile.lock in one module: this is the same format - def repository_homepage_url(self, baseurl=default_web_baseurl): - return f'{baseurl}/pods/{self.name}' +# TODO: override the license detection to detect declared_license correctly. - def repository_download_url(self): - if self.homepage_url: - return f'{self.homepage_url}/archive/{self.version}.zip' - elif self.reponame: - return f'{self.reponame}/archive/refs/tags/{self.version}.zip' - def get_api_data_url(self): - return self.specs_json_github_url +def get_repo_base_url(vcs_url): + """ + Return the repository base_url given a ``vcs_url`` version control URL or + None. - def get_code_view_url(self): - if isinstance(self.reponame, str): - return self.reponame+'/tree/'+self.version + For example:: + >>> assert get_repo_base_url('https://github.com/jogendra/BadgeHub.git') == 'https://github.com/jogendra/BadgeHub' + >>> assert get_repo_base_url('https://github.com/jogendra/BadgeHub') == 'https://github.com/jogendra/BadgeHub' + >>> assert get_repo_base_url(None) == None + """ + if not vcs_url: + return - def get_bug_tracking_url(self): - if isinstance(self.reponame, str): - return self.reponame+'/issues/' + if not vcs_url.startswith('https://github.com/'): + # TODO: we may not know what to do if this is not a GH repo? + pass - def specs_json_cdn_url(self, baseurl=default_cdn_baseurl): - return f'{baseurl}/{self.hashed_path}/{self.name}/{self.version}/{self.name}.podspec.json' + if vcs_url.endswith('.git'): + reponame, _, _ = vcs_url.partition('.git') + else: + reponame = vcs_url - def specs_json_github_url(self, baseurl=github_specs_repo_baseurl): - return f'{baseurl}/{self.hashed_path}/{self.name}/{self.version}/{self.name}.podspec.json' + return reponame - @property - def reponame(self): - if isinstance(self.vcs_url, str): - if self.vcs_url[-4:] == '.git': - return self.vcs_url[:-4] - @property - def hashed_path(self): - """ - Returns a string with a part of the file path derived from the md5 hash. +def get_podname_proper(podname): + """ + Podnames in cocoapods sometimes are files inside a pods package (like 'OHHTTPStubs/Default') + This returns proper podname in those cases. + """ + if '/' in podname: + return podname.split('/')[0] + return podname - From https://github.com/CocoaPods/cdn.cocoapods.org: - "There are a set of known prefixes for all Podspec paths, you take the name of the pod, - create a hash (using md5) of it and take the first three characters." - """ - podname = self.get_podname_proper(self.name) - if self.name != podname: - name_to_hash = podname - else: - name_to_hash = self.name - hash_init = self.get_first_3_mdf_hash_characters(name_to_hash) - hashed_path = '/'.join(list(hash_init)) - return hashed_path +def get_hashed_path(name): + """ + Returns a string with a part of the file path derived from the md5 hash. - @staticmethod - def get_first_3_mdf_hash_characters(podname): - return hashlib.md5(podname.encode('utf-8')).hexdigest()[0:3] + From https://github.com/CocoaPods/cdn.cocoapods.org: + "There are a set of known prefixes for all Podspec paths, you take the name of the pod, + create a hash (using md5) of it and take the first three characters." + """ + if not name: + return + podname = get_podname_proper(name) + if name != podname: + name_to_hash = podname + else: + name_to_hash = name + + hash_init = get_first_three_md5_hash_characters(name_to_hash) + hashed_path = '/'.join(list(hash_init)) + return hashed_path - @staticmethod - def get_podname_proper(podname): - """ - Podnames in cocoapods sometimes are files inside a pods package (like 'OHHTTPStubs/Default') - This returns proper podname in those cases. - """ - if '/' in podname: - return podname.split('/')[0] - return podname +def get_first_three_md5_hash_characters(podname): + return hashlib.md5(podname.encode('utf-8')).hexdigest()[0:3] -@attr.s() -class Podspec(CocoapodsPackageData, models.PackageDataFile): - file_patterns = ('*.podspec',) - extensions = ('.podspec',) +class BasePodHandler(models.DatafileHandler): @classmethod - def is_package_data_file(cls, location): + def assemble(cls, package_data, resource, codebase): """ - Return True if the file at ``location`` is likely a manifest of this type. + Assemble pod packages and dependencies and handle the specific cases where + there are more than one podspec in the same directory. + This is designed to process .podspec, Podfile and Podfile.lock """ - return filetype.is_file(location) and location.endswith('.podspec') + if codebase.has_single_resource: + yield from models.DatafileHandler.assemble(package_data, resource, codebase) + else: + # do we have more than one podspec? + parent = resource.parent(codebase) + sibling_podspecs = [ + r for r in parent.children(codebase) + if r.name.endswith('.podspec') + ] + + siblings_counts = len(sibling_podspecs) + has_single_podspec = siblings_counts == 1 + has_multiple_podspec = siblings_counts > 1 + + datafile_name_patterns = ( + 'Podfile.lock', + 'Podfile', + ) + + if has_single_podspec: + # we can treat all podfile/spec as being for one package + datafile_name_patterns = (sibling_podspecs[0].name,) + datafile_name_patterns + + yield from models.DatafileHandler.assemble_from_many_datafiles( + datafile_name_patterns=datafile_name_patterns, + directory=parent, + codebase=codebase, + ) + + elif has_multiple_podspec: + # treat each of podspec and podfile alone without meraging + # as we cannot determine easily which podfile is for which + # podspec + podspec = sibling_podspecs.pop() + datafile_name_patterns = (podspec.name,) + datafile_name_patterns + + yield from models.DatafileHandler.assemble_from_many_datafiles( + datafile_name_patterns=datafile_name_patterns, + directory=parent, + codebase=codebase, + ) + + for resource in sibling_podspecs: + datafile_path = resource.path + yield resource + for package_data in resource.package_data: + package_data = models.PackageData.from_dict(package_data) + package = models.Package.from_package_data( + package_data=package_data, + datafile_path=datafile_path, + ) + cls.assign_package_to_resources(package, resource, codebase) + yield package + + else: + # has_no_podspec: + yield from models.DatafileHandler.assemble_from_many_datafiles( + datafile_name_patterns=datafile_name_patterns, + directory=parent, + codebase=codebase, + ) + + +class PodspecHandler(BasePodHandler): + datasource_id = 'cocoapods_podspec' + path_patterns = ('*.podspec',) + default_package_type = 'pods' + default_primary_language = 'Objective-C' + description = 'Cocoapods .podspec' + documentation_url = 'https://guides.cocoapods.org/syntax/podspec.html' @classmethod - def recognize(cls, location): + def parse(cls, location): """ - Yield one or more Package manifest objects given a file ``location`` pointing to a - package archive, manifest or similar. + Yield one or more Package manifest objects given a file ``location`` + pointing to a package archive, manifest or similar. """ - podspec_object = Spec() - data = podspec_object.parse_spec(location) + podspec = spec.parse_spec( + location=location, + package_type=cls.default_package_type, + ) - name = data.get('name') - version = data.get('version') - declared_license = data.get('license') - summary = data.get('summary', '') - description = data.get('description', '') - homepage_url = data.get('homepage_url') - source = data.get('source') - authors = data.get('author') or [] - if summary and not description.startswith(summary): - desc = [summary] - if description: - desc += [description] - description = '\n'.join(desc) + name = podspec.get('name') + version = podspec.get('version') + homepage_url = podspec.get('homepage') + declared_license = podspec.get('license') + license_expression = None + if declared_license: + license_expression = models.compute_normalized_license(declared_license) + summary = podspec.get('summary') + description = podspec.get('description') + description = utils.build_description( + summary=summary, + description=description, + ) + vcs_url = podspec.get('source') or '' + authors = podspec.get('author') or [] - author_names = [] - author_email = [] + # FIXME: we are doing nothing with the email list + parties = [] if authors: - for split_author in authors: - split_author = split_author.strip() - author, email = parse_person(split_author) - author_names.append(author) - author_email.append(email) + for author in authors: + auth, email = parse_person(author) + party = models.Party( + type=models.party_person, + name=auth, + email=email, + role='author', + ) + parties.append(party) - parties = list(party_mapper(author_names, author_email)) + urls = get_urls( + name=name, + version=version, + homepage_url=homepage_url, + vcs_url=vcs_url) - yield cls( + yield models.PackageData( + datasource_id=cls.datasource_id, + type=cls.default_package_type, name=name, version=version, - vcs_url=source, - source_packages=list(source.split('\n')), + primary_language=cls.default_primary_language, + vcs_url=vcs_url, + # FIXME: a source should be a PURL, not a list of URLs + # source_packages=vcs_url.split('\n'), description=description, declared_license=declared_license, + license_expression=license_expression, homepage_url=homepage_url, - parties=parties + parties=parties, + **urls, ) -@attr.s() -class PodfileLock(CocoapodsPackageData, models.PackageDataFile): +class PodfileHandler(PodspecHandler): + datasource_id = 'cocoapods_podfile' + path_patterns = ('*Podfile',) + default_package_type = 'pods' + default_primary_language = 'Objective-C' + description = 'Cocoapods Podfile' + documentation_url = 'https://guides.cocoapods.org/using/the-podfile.html' - file_patterns = ('*podfile.lock',) - extensions = ('.lock',) - @classmethod - def is_package_data_file(cls, location): - """ - Return True if the file at ``location`` is likely a manifest of this type. - """ - return (filetype.is_file(location) and location.endswith(('podfile.lock', 'Podfile.lock'))) +class PodfileLockHandler(BasePodHandler): + datasource_id = 'cocoapods_podfile_lock' + path_patterns = ('*Podfile.lock',) + default_package_type = 'pods' + default_primary_language = 'Objective-C' + description = 'Cocoapods Podfile.lock' + documentation_url = 'https://guides.cocoapods.org/using/the-podfile.html' @classmethod - def recognize(cls, location): + def parse(cls, location): """ - Yield one or more Package manifest objects given a file ``location`` pointing to a - package archive, manifest or similar. + Yield PackageData from a YAML Podfile.lock. """ - data = cls.read_podfile_lock(location) + with open(location) as pfl: + data = saneyaml.load(pfl) pods = data['PODS'] - pod_deps = [] + dependencies = [] for pod in pods: - if isinstance(pod, dict): for main_pod, _dep_pods in pod.items(): - podname, namespace, version = get_data_from_pods(main_pod) - - purl = PackageURL( - type='pods', - namespace=namespace, - name=podname, - version=version, - ).to_string() + purl, xreq = parse_dep_requirements(main_pod) - pod_deps.append( + dependencies.append( models.DependentPackage( - purl=purl, - scope='requires-dev', - extracted_requirement=version, + purl=str(purl), + # FIXME: why dev? + scope='requires', + extracted_requirement=xreq, is_runtime=False, is_optional=True, is_resolved=True, ) ) - elif isinstance(pod, str): - podname, namespace, version = get_data_from_pods(pod) - purl = PackageURL( - type='pods', - namespace=namespace, - name=podname, - version=version, - ).to_string() + elif isinstance(pod, str): - pod_deps.append( + purl, xreq = parse_dep_requirements(pod) + + dependencies.append( models.DependentPackage( - purl=purl, - scope='requires-dev', - extracted_requirement=version, + purl=str(purl), + # FIXME: why dev? + scope='requires', + extracted_requirement=xreq, is_runtime=False, is_optional=True, is_resolved=True, ) ) - yield cls( - dependencies=pod_deps, - declared_license=None, + yield models.PackageData( + datasource_id=cls.datasource_id, + type=cls.default_package_type, + primary_language=cls.default_primary_language, + dependencies=dependencies, ) - @staticmethod - def read_podfile_lock(location): - """ - Reads from podfile.lock file at location as YML. - """ - with open(location, 'r') as file: - data = saneyaml.load(file) - - return data - - -@attr.s() -class PodspecJson(CocoapodsPackageData, models.PackageDataFile): - - file_patterns = ('*.podspec.json',) - extensions = ('.json',) +class PodspecJsonHandler(models.DatafileHandler): + datasource_id = 'cocoapods_podspec_json' + path_patterns = ('*.podspec.json',) + default_package_type = 'pods' + default_primary_language = 'Objective-C' + description = 'Cocoapods .podspec.json' + documentation_url = 'https://guides.cocoapods.org/syntax/podspec.html' @classmethod - def is_package_data_file(cls, location): - """ - Return True if the file at ``location`` is likely a manifest of this type. - """ - return filetype.is_file(location) and location.endswith('.podspec.json') - - @classmethod - def recognize(cls, location): - """ - Yield one or more Package manifest objects given a file ``location`` pointing to a - package archive, manifest or similar. - """ - data = cls.read_podspec_json(location) + def parse(cls, location): + with open(location) as psj: + data = json.load(psj) name = data.get('name') version = data.get('version') @@ -288,11 +344,11 @@ def recognize(cls, location): description = data.get('description', '') homepage_url = data.get('homepage') - license = data.get('license') - if isinstance(license, dict): - declared_license = ' '.join(list(license.values())) + lic = data.get('license') + if isinstance(lic, dict): + declared_license = ' '.join(list(lic.values())) else: - declared_license = license + declared_license = lic source = data.get('source') vcs_url = None @@ -305,9 +361,9 @@ def recognize(cls, location): vcs_url = git_url elif http_url: download_url = http_url - - if not vcs_url: - vcs_url = source + elif isinstance(source, str): + if not vcs_url: + vcs_url = source authors = data.get('authors') or {} @@ -330,7 +386,7 @@ def recognize(cls, location): party = models.Party( type=models.party_org, name=key, - url=value+'.com', + url=value + '.com', role='owner' ) parties.append(party) @@ -341,7 +397,7 @@ def recognize(cls, location): role='owner' ) parties.append(party) - + extra_data = {} extra_data['source'] = data['source'] dependencies = data.get('dependencies', '') @@ -349,47 +405,58 @@ def recognize(cls, location): extra_data['dependencies'] = dependencies extra_data['podspec.json'] = data - package_data = cls( + urls = get_urls( + name=name, + version=version, homepage_url=homepage_url, vcs_url=vcs_url) + + yield models.PackageData( + datasource_id=cls.datasource_id, + primary_language=cls.default_primary_language, + type=cls.default_package_type, name=name, version=version, - vcs_url=vcs_url, description=description, declared_license=declared_license, license_expression=license_expression, + parties=parties, + vcs_url=vcs_url, homepage_url=homepage_url, download_url=download_url, - parties=parties, + **urls, ) - package_data.api_data_url = package_data.get_api_data_url() - - yield package_data - - @staticmethod - def read_podspec_json(location): - """ - Reads from podspec.json file at location as JSON. - """ - with open(location, "r") as file: - data = json.load(file) - - return data - -@attr.s() -class CocoapodsPackage(CocoapodsPackageData, models.Package): +def get_urls(name=None, version=None, homepage_url=None, vcs_url=None): """ - A cocoapods Package that is created out of one/multiple cocoapods package - manifests and package-like data, with it's files. + Return a mapping of podspec URLS. """ - - @property - def manifests(self): - return [ - Podspec, - PodspecJson, - PodfileLock - ] + reponame = get_repo_base_url(vcs_url) or '' + + repository_download_url = None + if version: + if homepage_url: + repository_download_url = f'{homepage_url}/archive/{version}.zip' + if reponame: + repository_download_url = f'{reponame}/archive/refs/tags/{version}.zip' + + hashed_path = get_hashed_path(name) + # not used yet, alternative for api_data_url + specs_json_cdn_url = f'https://cdn.cocoapods.org/Specs/{hashed_path}/{name}/{version}/{name}.podspec.json' + + api_data_url = ( + hashed_path + and name + and version + and f'https://raw.githubusercontent.com/CocoaPods/Specs/blob/master/Specs/{hashed_path}/{name}/{version}/{name}.podspec.json' + ) + + return dict( + repository_download_url=repository_download_url or None, + repository_homepage_url=name and f'https://cocoapods.org/pods/{name}' or None, + code_view_url=reponame and version and f'{reponame}/tree/{version}' or None, + bug_tracking_url=reponame and f'{reponame}/issues/' or None, + api_data_url=api_data_url or None, + ) def party_mapper(author, email): @@ -400,24 +467,15 @@ def party_mapper(author, email): yield models.Party( type=models.party_person, name=person, - role='author') + role='author', + ) for person in email: yield models.Party( type=models.party_person, email=person, - role='email') - - -person_parser = re.compile( - r'^(?P[\w\s(),-_.,]+)' - r'=>' - r'(?P[\S+]+$)' -).match - -person_parser_only_name = re.compile( - r'^(?P[\w\s(),-_.,]+)' -).match + role='email', + ) def parse_person(person): @@ -429,43 +487,66 @@ def parse_person(person): s.author = 'Rohit Potter' or s.author = 'Rohit Potter=>rohit@gmail.com' - Author check: + >>> p = parse_person('Rohit Potter=>rohit@gmail.com') - >>> assert p == ('Rohit Potter', 'rohit@gmail.com') + >>> assert p == ('Rohit Potter', 'rohit@gmail.com'), p >>> p = parse_person('Rohit Potter') - >>> assert p == ('Rohit Potter', None) + >>> assert p == ('Rohit Potter', None), p """ - parsed = person_parser(person) - if not parsed: - parsed = person_parser_only_name(person) - name = parsed.group('name') - email = None + if '=>' in person: + name, _, email = person.partition('=>') + email = email.strip('\'" =') + elif '=' in person: + name, _, email = person.partition('=') + email = email.strip('\'" ') else: - name = parsed.group('name') - email = parsed.group('email') + name = person + email = None + + name = name.strip('\'"') return name, email -def get_sha1_file(location): - """ - Get sha1 hash for a file at location. +def parse_dep_requirements(dep): """ - with open(location, "rb") as f: - return hashlib.sha1(f.read()).hexdigest() + Return a tuple of (Package URL, version constraint) given a ``dep`` + dependency requirement string extracted from a podspec. + For example: + + >>> expected = PackageURL.from_string('pkg:pods/OHHTTPStubs@9.0.0'), '9.0.0' + >>> assert parse_dep_requirements('OHHTTPStubs (9.0.0)') == expected + + >>> expected = PackageURL.from_string('pkg:pods/OHHTTPStubs/NSURLSession'), None + >>> result = parse_dep_requirements('OHHTTPStubs/NSURLSession') + >>> assert result == expected, result + + >>> expected = PackageURL.from_string('pkg:pods/AFNetworking/Serialization@3.0.4'), '= 3.0.4' + >>> result = parse_dep_requirements(' AFNetworking/Serialization (= 3.0.4) ') + >>> assert result == expected, result + """ + if '(' in dep: + name, _, version = dep.partition('(') + version = version.strip(')( ') + requirement = version + version = requirement.strip('= ') -def get_data_from_pods(dep_pod_version): - - if '(' in dep_pod_version: - podname, _, version = dep_pod_version.strip(')').partition(' (') else: version = None - podname = dep_pod_version - - if '/' in podname: - namespace, _, podname = podname.partition('/') + requirement = None + name = dep + + name = name.strip(')') + if '/' in name: + namespace, _, name = name.partition('/') else: namespace = None - return podname, namespace, version + purl = PackageURL( + type='pods', + namespace=namespace, + name=name, + version=version, + ) + return purl, requirement diff --git a/src/packagedcode/conda.py b/src/packagedcode/conda.py index 557207b43be..44e7d918ff7 100644 --- a/src/packagedcode/conda.py +++ b/src/packagedcode/conda.py @@ -8,189 +8,161 @@ # import io -import logging -import sys -import attr import saneyaml - -from commoncode import filetype -from commoncode import fileutils - -from packagedcode import models from packageurl import PackageURL +from packagedcode import models +from packagedcode.pypi import BaseDependencyFileHandler """ -Parse Conda manifests, see https://docs.conda.io/en/latest/ +Handle Conda manifests and metadata, see https://docs.conda.io/en/latest/ +https://docs.conda.io/projects/conda-build/en/latest/resources/define-metadata.html +See https://repo.continuum.io/pkgs/free for examples. """ -TRACE = False - - -def logger_debug(*args): - pass - +# TODO: there are likely other package data files for Conda +# TODO: report platform -logger = logging.getLogger(__name__) -if TRACE: - logging.basicConfig(stream=sys.stdout) - logger.setLevel(logging.DEBUG) +class CondaYamlHandler(BaseDependencyFileHandler): + # TODO: there are several other manifests worth adding + datasource_id = 'conda_yaml' + path_patterns = ('*conda.yaml', '*conda.yml',) + default_package_type = 'pypi' + default_primary_language = 'Python' + description = 'Conda yaml manifest' + documentation_url = 'https://docs.conda.io/' - def logger_debug(*args): - return logger.debug(' '.join(isinstance(a, str) and a or repr(a) for a in args)) - -@attr.s() -class CondaPackageData(models.PackageData): - default_type = 'conda' - default_web_baseurl = None - default_download_baseurl = 'https://repo.continuum.io/pkgs/free' - default_api_baseurl = None - - @classmethod - def get_package_root(cls, manifest_resource, codebase): - if manifest_resource.name.lower().endswith(('.yaml', '.yml')): - # the root is either the parent or further up for yaml stored under - # a INFO dir - path = 'info/recipe.tar-extract/recipe/meta.yaml' - if manifest_resource.path.endswith(path): - for ancestor in manifest_resource.ancestors(codebase): - if ancestor.name == 'info': - root_dir = ancestor.parent(codebase) - return root_dir - return manifest_resource.parent(codebase) - else: - return manifest_resource +class CondaMetaYamlHandler(models.DatafileHandler): + datasource_id = 'conda_meta_yaml' + default_package_type = 'conda' + path_patterns = ('*/meta.yaml',) + description = 'Conda meta.yml manifest' + documentation_url = 'https://docs.conda.io/' @classmethod - def extra_root_dirs(cls): - return ['**/recipe.tar-extract/recipe'] - - def compute_normalized_license(self): - return models.compute_normalized_license(self.declared_license) + def get_conda_root(cls, resource, codebase): + """ + Return a root Resource given a meta.yaml ``resource``. + """ + # the root is either the parent or further up for yaml stored under + # an "info" dir. We support extractcode extraction. + # in a source repo it would be in /conda.recipe/meta.yaml + paths = ( + 'info/recipe.tar-extract/recipe/meta.yaml', + 'info/recipe/recipe/meta.yaml', + 'conda.recipe/meta.yaml', + ) + res = resource + for pth in paths: + if not res.path.endswith(pth): + continue + for _seg in pth.split('/'): + res = res.parent(codebase) + if not res: + break -@attr.s() -class Condayml(CondaPackageData, models.PackageDataFile): + return res - file_patterns = ('meta.yaml', 'META.yml',) - extensions = ('.yml', '.yaml',) + return resource.parent(codebase) @classmethod - def is_package_data_file(cls, location): - """ - Return True if the file at ``location`` is likely a manifest of this type. - """ - return (filetype.is_file(location) - and fileutils.file_name(location).lower().endswith(('.yaml', '.yml'))) + def assign_package_to_resources(cls, package, resource, codebase): + return super().assign_package_to_resources( + package=package, + resource=cls.get_conda_root(resource, codebase), + codebase=codebase, + ) @classmethod - def recognize(cls, location): - """ - Yield one or more Package manifest objects given a file ``location`` pointing to a - package archive, manifest or similar. - """ - package_data = get_yaml_data(location) - - name = None - version = None - - # Handle the package element - package_element = package_data.get('package') - if package_element: - for key, value in package_element.items(): - if key == 'name': - name = value - elif key == 'version': - version = value + def parse(cls, location): + metayaml = get_meta_yaml_data(location) + package_element = metayaml.get('package') or {} + name = package_element.get('name') if not name: return + version = package_element.get('version') - package_manifest = cls( + package = models.PackageData( + datasource_id=cls.datasource_id, + type=cls.default_package_type, name=name, - version=version or None, + version=version, ) - # Handle the source element - source_element = package_data.get('source') - if source_element: - for key, value in source_element.items(): - if key == 'url' and value: - package_manifest.download_url = value - elif key == 'sha256' and value: - package_manifest.sha256 = value - - # Handle the about element - about_element = package_data.get('about') - if about_element: - for key, value in about_element.items(): - if key == 'home' and value: - package_manifest.homepage_url = value - elif key == 'license' and value: - package_manifest.declared_license = value - elif key == 'summary' and value: - package_manifest.description = value - elif key == 'dev_url' and value: - package_manifest.vcs_url = value - - # Handle the about element - requirements_element = package_data.get('requirements') - if requirements_element: - for key, value in requirements_element.items(): - # Run element format is like: - # (u'run', [u'mccortex ==1.0', u'nextflow ==19.01.0', u'cortexpy ==0.45.7', u'kallisto ==0.44.0', u'bwa', u'pandas', u'progressbar2', u'python >=3.6'])]) - if key == 'run' and value and isinstance(value, (list, tuple)): - package_dependencies = [] - for dependency in value: - requirement = None - for splitter in ('==', '>=', '<=', '>', '<'): - if splitter in dependency: - splits = dependency.split(splitter) - # Replace the package name and keep the relationship and version - # For example: keep ==19.01.0 - requirement = dependency.replace(splits[0], '').strip() - dependency = splits[0].strip() - break - package_dependencies.append( - models.DependentPackage( - purl=PackageURL( - type='conda', name=dependency).to_string(), - extracted_requirement=requirement, - scope='dependencies', - is_runtime=True, - is_optional=False, - ) - ) - package_manifest.dependencies = package_dependencies - yield package_manifest - - -def get_yaml_data(location): + # FIXME: source is source, not download + source = metayaml.get('source') or {} + package.download_url = source.get('url') + package.sha256 = source.get('sha256') + + about = metayaml.get('about') or {} + package.homepage_url = about.get('home') + package.declared_license = about.get('license') + if package.declared_license: + package.license_expression = cls.compute_normalized_license(package) + package.description = about.get('summary') + package.vcs_url = about.get('dev_url') + + requirements = metayaml.get('requirements') or {} + for scope, reqs in requirements.items(): + # requirements format is like: + # (u'run', [u'mccortex ==1.0', u'nextflow ==19.01.0', u'cortexpy + # ==0.45.7', u'kallisto ==0.44.0', u'bwa', u'pandas', + # u'progressbar2', u'python >=3.6'])]) + for req in reqs: + name, _, requirement = req.partition(" ") + purl = PackageURL(type=cls.default_package_type, name=name) + package.dependencies.append( + models.DependentPackage( + purl=purl.to_string(), + extracted_requirement=requirement, + scope=scope, + is_runtime=True, + is_optional=False, + ) + ) + + yield package + + +def get_meta_yaml_data(location): """ - Get variables and parse the yaml file, replace the variable with the value and return dictionary. + Return a mapping of conda metadata loaded from a meta.yaml files. The format + support Jinja-based templating and we try a crude resolution of variables + before loading the data as YAML. """ + # FIXME: use Jinja to process these variables = get_variables(location) yaml_lines = [] - with io.open(location, encoding='utf-8') as loc: - for line in loc.readlines(): + with io.open(location, encoding='utf-8') as metayaml: + for line in metayaml: if not line: continue pure_line = line.strip() - if pure_line.startswith('{%') and pure_line.endswith('%}') and '=' in pure_line: + if ( + pure_line.startswith('{%') + and pure_line.endswith('%}') + and '=' in pure_line + ): continue + # Replace the variable with the value if '{{' in line and '}}' in line: for variable, value in variables.items(): line = line.replace('{{ ' + variable + ' }}', value) yaml_lines.append(line) + return saneyaml.load('\n'.join(yaml_lines)) def get_variables(location): """ - Conda yaml will have variables defined at the beginning of the file, the idea is to parse it and return a dictionary of the variable and value + Conda yaml will have variables defined at the beginning of the file, the + idea is to parse it and return a dictionary of the variable and value + For example: {% set version = "0.45.0" %} {% set sha256 = "bc7512f2eef785b037d836f4cc6faded457ac277f75c6e34eccd12da7c85258f" %} diff --git a/src/packagedcode/cran.py b/src/packagedcode/cran.py index c51e0dd11f4..9275e4cafda 100644 --- a/src/packagedcode/cran.py +++ b/src/packagedcode/cran.py @@ -8,146 +8,114 @@ # import io -import logging -import attr import saneyaml - -from commoncode import filetype -from commoncode import fileutils -from packagedcode import models from packageurl import PackageURL +from packagedcode import models """ -Handle CRAN package. -R is a programming languages and CRAN its package repository. -https://cran.r-project.org/ +Handle CRAN packages. +R is a programming languages and CRAN is its package repository. +See https://cran.r-project.org/ """ -TRACE = False - -logger = logging.getLogger(__name__) - -if TRACE: - import sys - logging.basicConfig(stream=sys.stdout) - logger.setLevel(logging.DEBUG) - - -@attr.s() -class CranPackageData(models.PackageData): - default_type = 'cran' - default_web_baseurl = 'https://cran.r-project.org/package=' - - @classmethod - def get_package_root(cls, manifest_resource, codebase): - return manifest_resource.parent(codebase) - - def repository_homepage_url(self, baseurl=default_web_baseurl): - return '{}{}'.format(baseurl, self.name) - - -@attr.s() -class DescriptionFile(CranPackageData, models.PackageDataFile): - file_patterns = ('DESCRIPTION',) - - @classmethod - def is_package_data_file(cls, location): - """ - Return True if `location` path is for a Cran DESCRIPTION file. - """ - return (filetype.is_file(location) - and fileutils.file_name(location) == 'DESCRIPTION') +class CranDescriptionFileHandler(models.DatafileHandler): + datasource_id = 'cran_description' + default_package_type = 'cran' + path_patterns = ('*/DESCRIPTION',) + default_primary_language = 'R' + description = 'CRAN package DESCRIPTION' + documentation_url = 'https://r-pkgs.org/description.html' @classmethod - def recognize(cls, location): - """ - Yield one or more Package manifest objects given a file ``location`` pointing to a - package archive, manifest or similar. - """ - package_data = get_yaml_data(location) - - name = package_data.get('Package') - if name: - parties = [] - maintainers = package_data.get('Maintainer') - if maintainers: - for maintainer in maintainers.split(',\n'): - maintainer_name, maintainer_email = get_party_info(maintainer) - if maintainer_name or maintainer_email: - parties.append( - models.Party( - name=maintainer_name, - role='maintainer', - email=maintainer_email, - ) - ) - authors = package_data.get('Author') - if authors: - for author in authors.split(',\n'): - author_name, author_email = get_party_info(author) - if author_name or author_email: - parties.append( - models.Party( - name=author_name, - role='author', - email=author_email, - ) - ) - package_dependencies = [] - dependencies = package_data.get('Depends') - if dependencies: - for dependency in dependencies.split(',\n'): - requirement = None - for splitter in ('==', '>=', '<=', '>', '<'): - if splitter in dependency: - splits = dependency.split(splitter) - # Replace the package name and keep the relationship and version - # For example: R (>= 2.1) - requirement = dependency.replace(splits[0], '').strip().strip(')').strip() - dependency = splits[0].strip().strip('(').strip() - break - package_dependencies.append( - models.DependentPackage( - purl=PackageURL( - type='cran', name=dependency).to_string(), - extracted_requirement=requirement, - scope='dependencies', - is_runtime=True, - is_optional=False, - ) + def parse(cls, location): + cran_desc = get_cran_description(location) + + name = cran_desc.get('Package') + if not name: + return + + parties = [] + maintainers = cran_desc.get('Maintainer') or '' + for maintainer in maintainers.split(',\n'): + maintainer_name, maintainer_email = get_party_info(maintainer) + if maintainer_name or maintainer_email: + parties.append( + models.Party( + name=maintainer_name, + role='maintainer', + email=maintainer_email, ) - yield cls( - name=name, - version=package_data.get('Version'), - description=package_data.get('Description', '') or package_data.get('Title', ''), - declared_license=package_data.get('License'), - parties=parties, - dependencies=package_dependencies, - # TODO: Let's handle the release date as a Date type - # release_date = package_data.get('Date/Publication'), + ) + + authors = cran_desc.get('Author') or '' + for author in authors.split(',\n'): + author_name, author_email = get_party_info(author) + if author_name or author_email: + parties.append( + models.Party( + name=author_name, + role='author', + email=author_email, + ) + ) + + package_dependencies = [] + dependencies = cran_desc.get('Depends') or '' + for dependency in dependencies.split(',\n'): + requirement = None + # TODO: IMHO we could do simpler and better here + + for splitter in ('==', '>=', '<=', '>', '<'): + if splitter in dependency: + splits = dependency.split(splitter) + # Replace the package name and keep the relationship and version + # For example: R (>= 2.1) + requirement = dependency.replace(splits[0], '').strip().strip(')').strip() + dependency = splits[0].strip().strip('(').strip() + break + + package_dependencies.append( + models.DependentPackage( + purl=PackageURL( + type='cran', name=dependency).to_string(), + extracted_requirement=requirement, + scope='dependencies', + is_runtime=True, + is_optional=False, + ) ) + declared_license=cran_desc.get('License') + license_expression = None + if declared_license: + license_expression = models.compute_normalized_license(declared_license) -@attr.s() -class CranPackage(CranPackageData, models.Package): - """ - A cran Package that is created out of one/multiple cran package - manifests. - """ + # TODO: Let's handle the release date as a Date type + # release_date = cran_desc.get('Date/Publication'), + + yield models.PackageData( + datasource_id=cls.datasource_id, + type=cls.default_package_type, + name=name, + version=cran_desc.get('Version'), + # TODO: combine both together + description=cran_desc.get('Description', '') or cran_desc.get('Title', ''), + declared_license=declared_license, + license_expression=license_expression, + parties=parties, + dependencies=package_dependencies, + repository_homepage_url=f'https://cran.r-project.org/package={name}', + ) - @property - def manifests(self): - return [ - DescriptionFile - ] +# FIXME: THIS IS NOT YAML but RFC 822 -def get_yaml_data(location): +def get_cran_description(location): """ - Parse the yaml file and return the metadata in dictionary format. + Parse a CRAN DESCRIPTION file as YAML and return a mapping of metadata. """ yaml_lines = [] with io.open(location, encoding='utf-8') as loc: diff --git a/src/packagedcode/debian.py b/src/packagedcode/debian.py index 2ff67f7e57c..e4089e313ac 100644 --- a/src/packagedcode/debian.py +++ b/src/packagedcode/debian.py @@ -7,306 +7,624 @@ # See https://aboutcode.org for more information about nexB OSS projects. # -import logging import os +import logging +from pathlib import Path -import attr -from debian_inspector import debcon +from commoncode import fileutils +from debian_inspector.debcon import get_paragraph_data_from_file +from debian_inspector.debcon import get_paragraphs_data_from_file +from debian_inspector.package import DebArchive from packageurl import PackageURL -from commoncode import filetype from packagedcode import models +from packagedcode.utils import get_ancestor """ -Handle Debian packages. +Handle Debian package archives, control files and installed databases. """ -TRACE = False +SCANCODE_DEBUG_PACKAGE_API = os.environ.get('SCANCODE_DEBUG_PACKAGE_API', False) + +TRACE = SCANCODE_DEBUG_PACKAGE_API + +def logger_debug(*args): + pass logger = logging.getLogger(__name__) if TRACE: import sys - logging.basicConfig(level=logging.DEBUG, stream=sys.stdout) + logging.basicConfig(stream=sys.stdout) logger.setLevel(logging.DEBUG) + def logger_debug(*args): + return logger.debug( + ' '.join(isinstance(a, str) and a or repr(a) for a in args) + ) -@attr.s() -class DebianPackage(models.PackageData, models.PackageDataFile): - file_patterns = ('*.control',) - extensions = ('.deb',) - filetypes = ('debian binary package',) - mimetypes = ('application/x-archive', 'application/vnd.debian.binary-package',) - default_type = 'deb' - - @property - def multi_arch(self): - """ - Multi-Arch value from a status or spec file. - """ - return self.extra_data.get('multi_arch') - - def set_multi_arch(self, value): - if value: - self.extra_data['multi_arch'] = value - def populate_installed_files(self, var_lib_dpkg_info_dir): - """ - Populate the installed_file attribute given a `var_lib_dpkg_info_dir` - path to a Debian /var/lib/dpkg/info directory. - """ - self.installed_files = self.get_list_of_installed_files(var_lib_dpkg_info_dir) +# TODO: add dependencies - def get_list_of_installed_files(self, var_lib_dpkg_info_dir): - """ - Return a list of InstalledFile given a `var_lib_dpkg_info_dir` path to a - Debian /var/lib/dpkg/info directory where .list and/or - .md5sums files can be found for a package name. - We first use the .md5sums file and switch to the .list file otherwise. - The .list files also contains directories. - """ - # Multi-Arch can be: foreign, same, allowed or empty - # We only need to adjust the md5sum path in the case of `same` - if self.multi_arch == 'same': - arch = ':{}'.format(self.qualifiers.get('arch')) +# TODO: introspect archive +class DebianDebPackageHandler(models.DatafileHandler): + datasource_id = 'debian_deb' + default_package_type = 'deb' + path_patterns = ('*.deb',) + filetypes = ('debian binary package',) + description = 'Debian binary package archive' + documentation_url = 'https://manpages.debian.org/unstable/dpkg-dev/deb.5.en.html' + + @classmethod + def parse(cls, location): + yield build_package_data_from_package_filename( + filename=fileutils.file_name(location), + datasource_id=cls.datasource_id, + package_type=cls.default_package_type, + ) + + @classmethod + def assign_package_to_resources(cls, package, resource, codebase): + # only assign this resource + return super().assign_package_to_resources(package, resource, codebase) + + +# TODO: introspect archive +class DebianSourcePackageMetadataTarballHandler(models.DatafileHandler): + datasource_id = 'debian_source_metadata_tarball' + default_package_type = 'deb' + path_patterns = ('*.debian.tar.xz', '*.debian.tar.gz',) + filetypes = ('posix tar archive',) + description = 'Debian source package metadata archive' + documentation_url = 'https://manpages.debian.org/unstable/dpkg-dev/deb.5.en.html' + + @classmethod + def parse(cls, location): + # strip extension + filename, _, _ = location.rpartition('.tar') + yield build_package_data_from_package_filename( + filename=filename, + datasource_id=cls.datasource_id, + package_type=cls.default_package_type, + ) + + @classmethod + def assign_package_to_resources(cls, package, resource, codebase): + # only assign this resource + return super().assign_package_to_resources(package, resource, codebase) + + +# TODO: introspect archive +class DebianSourcePackageTarballHandler(models.DatafileHandler): + datasource_id = 'debian_original_source_tarball' + default_package_type = 'deb' + path_patterns = ('*.orig.tar.xz', '*.orig.tar.gz',) + filetypes = ('posix tar archive',) + description = 'Debian package original source archive' + documentation_url = 'https://manpages.debian.org/unstable/dpkg-dev/deb.5.en.html' + + @classmethod + def parse(cls, location): + # strip extension + filename, _, _ = location.rpartition('.tar') + yield build_package_data_from_package_filename( + filename=filename, + datasource_id=cls.datasource_id, + package_type=cls.default_package_type, + ) + + @classmethod + def assign_package_to_resources(cls, package, resource, codebase): + # only assign this resource + return super().assign_package_to_resources(package, resource, codebase) + + +# TODO: also look into neighboring md5sum and data.tarball copyright files!!! +class DebianControlFileInExtractedDebHandler(models.DatafileHandler): + datasource_id = 'debian_control_extracted_deb' + default_package_type = 'deb' + path_patterns = ('*/control.tar.gz-extract/control',) + description = 'Debian control file - extracted layout' + documentation_url = 'https://www.debian.org/doc/debian-policy/ch-controlfields.html' + + @classmethod + def parse(cls, location): + # TODO: we cannot know the distro from the name only + yield build_package_data( + debian_data=get_paragraph_data_from_file(location=location), + datasource_id=cls.datasource_id, + package_type=cls.default_package_type, + ) + + @classmethod + def assign_package_to_resources(cls, package, resource, codebase): + # two levels up + root = resource.parent(codebase).parent(codebase) + if root: + return cls.assign_package_to_resources(package, root, codebase) + + +# TODO: also look into neighboring copyright files!!! +class DebianControlFileInSourceHandler(models.DatafileHandler): + datasource_id = 'debian_control_in_source' + default_package_type = 'deb' + path_patterns = ('*/debian/control',) + description = 'Debian control file - source layout' + documentation_url = 'https://www.debian.org/doc/debian-policy/ch-controlfields.html' + + @classmethod + def parse(cls, location): + # TODO: we cannot know the distro from the name only + # NOTE: a control file in a source repo or debina.tar tarball can contain more than one package + for debian_data in get_paragraphs_data_from_file(location=location): + yield build_package_data( + debian_data, + datasource_id=cls.datasource_id, + package_type=cls.default_package_type, + ) + + @classmethod + def assign_package_to_resources(cls, package, resource, codebase): + # two levels up + root = resource.parent(codebase).parent(codebase) + if root: + return cls.assign_package_to_resources(package, root, codebase) + + +class DebianDscFileHandler(models.DatafileHandler): + # See http://deb.debian.org/debian/pool/main/p/python-docutils/python-docutils_0.16+dfsg-4.dsc + # or http://ftp.debian.org/debian/pool/main/7/7kaa/7kaa_2.15.4p1+dfsg-1.dsc + # these are source control files + datasource_id = 'debian_source_control_dsc' + default_package_type = 'deb' + path_patterns = ('*.dsc',) + description = 'Debian source control file' + documentation_url = 'https://wiki.debian.org/dsc' + + @classmethod + def parse(cls, location): + # this is typically signed + debian_data = get_paragraph_data_from_file( + location=location, + remove_pgp_signature=True, + ) + yield build_package_data( + debian_data=debian_data, + datasource_id=cls.datasource_id, + package_type=cls.default_package_type, + ) + + @classmethod + def assign_package_to_resources(cls, package, resource, codebase): + # only assign this resource + return super().assign_package_to_resources(package, resource, codebase) + + +class DebianInstalledStatusDatabaseHandler(models.DatafileHandler): + datasource_id = 'debian_installed_status_db' + default_package_type = 'deb' + path_patterns = ('*var/lib/dpkg/status',) + description = 'Debian installed packages database' + documentation_url = 'https://www.debian.org/doc/debian-policy/ch-controlfields.html' + + @classmethod + def parse(cls, location): + # note that we do not know yet the distro at this stage + # we could get it... but we get that later during assemble() + for debian_data in get_paragraphs_data_from_file(location): + yield build_package_data( + debian_data, + datasource_id=cls.datasource_id, + package_type=cls.default_package_type, + ) + + @classmethod + def assemble(cls, package_data, resource, codebase): + # get the root resource of the rootfs + levels_up = len('var/lib/dpkg/status'.split('/')) + root_resource = get_ancestor( + levels_up=levels_up, + resource=resource, + codebase=codebase, + ) + + package_name = package_data.name + + package = models.Package.from_package_data( + package_data=package_data, + datafile_path=resource.path, + ) + + package_file_references = [] + package_file_references.extend(package_data.file_references) + package_uid = package.package_uid + + dependent_packages = package_data.dependencies + if dependent_packages: + yield from models.Dependency.from_dependent_packages( + dependent_packages=dependent_packages, + datafile_path=resource.path, + datasource_id=package_data.datasource_id, + package_uid=package_uid, + ) + + # Multi-Arch can be: "foreign", "same", "allowed", "all", "optional" or + # empty/non-present. See https://wiki.debian.org/Multiarch/HOWTO + + # We only need to adjust the md5sum/list path in the case of `same` + qualifiers = package_data.qualifiers or {} + architecture = qualifiers.get('architecture') + + multi_arch = package_data.extra_data.get('multi_arch') + + if TRACE: + logger_debug(f' debian: assemble: multi_arch: {multi_arch}') + logger_debug(f' debian: assemble: architecture: {architecture}') + + if multi_arch == 'same': + arch_path = f':{architecture}' else: - arch = '' - - package_md5sum = '{}{}.md5sums'.format(self.name, arch) - md5sum_file = os.path.join(var_lib_dpkg_info_dir, package_md5sum) - - package_list = '{}{}.list'.format(self.name, arch) - list_file = os.path.join(var_lib_dpkg_info_dir, package_list) - - has_md5 = os.path.exists(md5sum_file) - has_list = os.path.exists(list_file) - - if not (has_md5 or has_list): - return [] - - installed_files = [] - directories = set() - if has_md5: - with open(md5sum_file) as info_file: - for line in info_file: - line = line.strip() - if not line: - continue - md5sum, _, path = line.partition(' ') - md5sum = md5sum.strip() - - path = path.strip() - if not path.startswith('/'): - path = '/' + path - - # we ignore dirs in general, and we ignore these that would - # be created a plain dir when we can - if path in ignored_root_dirs: - continue - - installed_file = models.PackageFile(path=path, md5=md5sum) - - installed_files.append(installed_file) - directories.add(os.path.dirname(path)) - - elif has_list: - with open(list_file) as info_file: - for line in info_file: - line = line.strip() - if not line: - continue - md5sum = None - path = line - - path = path.strip() - if not path.startswith('/'): - path = '/' + path - - # we ignore dirs in general, and we ignore these that would - # be created a plain dir when we can - if path in ignored_root_dirs: - continue - - installed_file = models.PackageFile(path=path, md5=md5sum) - if installed_file not in installed_files: - installed_files.append(installed_file) - directories.add(os.path.dirname(path)) - - # skip directories when possible - installed_files = [f for f in installed_files if f.path not in directories] - - return installed_files - - def get_copyright_file_path(self, root_dir): + arch_path = '' + + # collect .list, .md5sum, and copyright file for this package + # and assemble package data + assemblable_paths = tuple(set([ + # we try both with and without arch in path for multi-arch support + f'var/lib/dpkg/info/{package_name}.md5sums', + f'var/lib/dpkg/info/{package_name}{arch_path}.md5sums', + + f'var/lib/dpkg/info/{package_name}.list', + f'var/lib/dpkg/info/{package_name}{arch_path}.list', + + f'usr/share/doc/{package_name}/copyright', + ])) + # TODO: keep track of missing files + for res in root_resource.walk(codebase): + if not res.path.endswith(assemblable_paths): + continue + + for pkgdt in res.package_data: + package_data = models.PackageData.from_dict(pkgdt) + package.update( + package_data=package_data, + datafile_path=res.path, + ) + package_file_references.extend(package_data.file_references) + + res.for_packages.append(package_uid) + res.save(codebase) + + # yield possible dependencies + dependent_packages = package_data.dependencies + if dependent_packages: + yield from models.Dependency.from_dependent_packages( + dependent_packages=dependent_packages, + datafile_path=res.path, + datasource_id=package_data.datasource_id, + package_uid=package_uid, + ) + + # we yield this as we do not want this further processed + yield res + + root_path = Path(root_resource.path) + + # FIXME: should we consider ONLY the md5sums? + # merge references for the same path (e.g. .list amd .md5sum) + file_references_by_path = {} + for ref in package_file_references: + # a file ref extends from the root of the filesystem + ref_path = str(root_path / ref.path) + existing = file_references_by_path.get(ref_path) + if existing: + existing.update(ref) + else: + file_references_by_path[ref_path] = ref + + for res in root_resource.walk(codebase): + ref = file_references_by_path.get(res.path) + if not ref: + continue + + # path is found and processed: remove it, so we can check if we found all of them + del file_references_by_path[res.path] + res.for_packages.append(package_uid) + res.save(codebase) + + yield res + + # if we have left over file references, add these to extra data + if file_references_by_path: + missing = sorted(file_references_by_path.values(), key=lambda r:r.path) + package.extra_data['missing_file_references'] = missing + + yield package + + +class DebianDistrolessInstalledDatabaseHandler(models.DatafileHandler): + datasource_id = 'debian_distroless_installed_db' + default_package_type = 'deb' + path_patterns = ('*var/lib/dpkg/status.d/*',) + description = 'Debian distroless installed database' + documentation_url = 'https://www.debian.org/doc/debian-policy/ch-controlfields.html' + + @classmethod + def parse(cls, location): """ - Given a root_dir path to a filesystem root, return the path to a copyright file - for this Package + Yield installed PackageData objects given a ``location`` + var/lib/dpkg/status.d/ file as found in a distroless container + rootfs installation. distroless is derived from Debian but each package + has its own status file. """ - # We start by looking for a copyright file stored in a directory named after the - # package name. Otherwise we look for a copyright file stored in a source package - # name. - candidate_names = [self.name] - candidate_names.extend(PackageURL.from_string(sp).name for sp in self.source_packages) - - copyright_file = os.path.join(root_dir, 'usr/share/doc/{}/copyright') - - for name in candidate_names: - copyright_loc = copyright_file.format(name) - if os.path.exists(copyright_loc): - return copyright_loc - - -def get_installed_packages(root_dir, distro='debian', detect_licenses=False, **kwargs): + for debian_data in get_paragraphs_data_from_file(location): + yield build_package_data( + debian_data, + datasource_id=cls.datasource_id, + package_type=cls.default_package_type, + distro='distroless', + ) + + @classmethod + def assemble(cls, package_data, resource, codebase): + # get the root resource of the rootfs + levels_up = len('var/lib/dpkg/status.d/name'.split('/')) + root_resource = get_ancestor( + levels_up=levels_up, + resource=resource, + codebase=codebase, + ) + + package_name = package_data.name + + package = models.Package.from_package_data( + package_data=package_data, + datafile_path=resource.path, + ) + package_uid = package.package_uid + + dependent_packages = package_data.dependencies + if dependent_packages: + yield from models.Dependency.from_dependent_packages( + dependent_packages=dependent_packages, + datafile_path=resource.path, + datasource_id=package_data.datasource_id, + package_uid=package_uid, + ) + + # collect copyright file for this package + # and merge in package data + assemblable_paths = ( + f'usr/share/doc/{package_name}/copyright', + ) + for res in root_resource.walk(codebase): + if not res.path.endswith(assemblable_paths): + continue + + for pkgdt in res.package_data: + package.update( + package_data=pkgdt, + datafile_path=res.path, + ) + + res.for_packages.append(package_uid) + res.save(codebase) + + yield res + + yield package + + +class DebianInstalledFilelistHandler(models.DatafileHandler): + # seen in installed rootfs in: + # - /var/lib/dpkg/info/.list + datasource_id = 'debian_installed_files_list' + default_package_type = 'deb' + path_patterns = ( + '*var/lib/dpkg/info/*.list', + ) + description = 'Debian installed file paths list' + + @classmethod + def parse(cls, location): + return parse_debian_files_list( + location=location, + datasource_id=cls.datasource_id, + package_type=cls.default_package_type, + ) + + @classmethod + def assemble(cls, package_data, resource, codebase): + # this is assembled only from a database entry + return + + +class DebianInstalledMd5sumFilelistHandler(models.DatafileHandler): + # seen in installed rootfs in: + # - /var/lib/dpkg/info/.md5sums + # - /var/lib/dpkg/info/.md5sums + datasource_id = 'debian_installed_md5sums' + default_package_type = 'deb' + path_patterns = ( + '*var/lib/dpkg/info/*.md5sums', + ) + description = 'Debian installed file MD5 and paths list' + documentation_url = 'https://www.debian.org/doc/manuals/debian-handbook/sect.package-meta-information.en.html#sect.configuration-scripts' + + @classmethod + def parse(cls, location): + return parse_debian_files_list( + location=location, + datasource_id=cls.datasource_id, + package_type=cls.default_package_type, + ) + + @classmethod + def assemble(cls, package_data, resource, codebase): + # this is assembled only from a database entry + return [] + + +class DebianMd5sumFilelistInPackageHandler(models.DatafileHandler): + datasource_id = 'debian_md5sums_in_extracted_deb' + default_package_type = 'deb' + path_patterns = ( + # in .deb control tarball + '*/control.tar.gz-extract/md5sums', + '*/control.tar.xz-extract/md5sums', + ) + description = 'Debian file MD5 and paths list in .deb archive' + documentation_url = 'https://www.debian.org/doc/manuals/debian-handbook/sect.package-meta-information.en.html#sect.configuration-scripts' + + @classmethod + def parse(cls, location): + return parse_debian_files_list( + location=location, + datasource_id=cls.datasource_id, + package_type=cls.default_package_type, + ) + + @classmethod + def assign_package_to_resources(cls, package, resource, codebase): + # two levels up + root = resource.parent(codebase).parent(codebase) + if root: + return cls.assign_package_to_resources(package, root, codebase) + + +def build_package_data_from_package_filename(filename, datasource_id, package_type,): """ - Yield installed Package objects given a ``root_dir`` rootfs directory. + Return a PackageData built from the filename of a Debian package archive. """ - base_status_file_loc = os.path.join(root_dir, 'var/lib/dpkg/status') - base_statusd_loc = os.path.join(root_dir, 'var/lib/dpkg/status.d/') - - if os.path.exists(base_status_file_loc): - var_lib_dpkg_info_dir = os.path.join(root_dir, 'var/lib/dpkg/info/') - - # guard from recursive import - from packagedcode import debian_copyright - - for package in parse_status_file(base_status_file_loc, distro=distro): - package.populate_installed_files(var_lib_dpkg_info_dir) - if detect_licenses: - copyright_location = package.get_copyright_file_path(root_dir) - dc = debian_copyright.parse_copyright_file(copyright_location) - if dc: - package.declared_license = dc.get_declared_license( - filter_duplicates=True, - skip_debian_packaging=True, - ) - package.license_expression = dc.get_license_expression( - skip_debian_packaging=True, - simplify_licenses=True, - ) - package.copyright = dc.get_copyright( - skip_debian_packaging=True, - unique_copyrights=True, - ) - yield package - - elif os.path.exists(base_statusd_loc): - for root, dirs, files in os.walk(base_statusd_loc): - for f in files: - status_file_loc = os.path.join(root, f) - for package in parse_status_file(status_file_loc, distro=distro): - yield package - - -def parse_status_file(location, distro='debian'): - """ - Yield Debian Package objects from a dpkg `status` file or None. - """ - if not os.path.exists(location): - raise FileNotFoundError('[Errno 2] No such file or directory: {}'.format(repr(location))) - if not filetype.is_file(location): - raise Exception(f'Location is not a file: {location}') - for debian_pkg_data in debcon.get_paragraphs_data_from_file(location): - yield build_package(debian_pkg_data, distro) + # TODO: we cannot know the distro from the name only + deb = DebArchive.from_filename(filename=filename) + if deb.architecture: + qualifiers = dict(architecture=deb.architecture) + else: + qualifiers = {} -def build_package(package_data, distro='debian'): - """ - Return a Package object from a package_data mapping (from a dpkg status file) - or None. - """ - # construct the package - package = DebianPackage() - package.namespace = distro - - # add debian-specific package 'qualifiers' - package.qualifiers = dict([ - ('arch', package_data.get('architecture')), - ]) - - package.set_multi_arch(package_data.get('multi-arch')) - - # mapping of top level `status` file items to the Package object field name - plain_fields = [ - ('description', 'description'), - ('homepage', 'homepage_url'), - ('installed-size', 'size'), - ('package', 'name'), - ('version', 'version'), - ('maintainer', 'maintainer'), - ] - - for source, target in plain_fields: - value = package_data.get(source) - if value: - if isinstance(value, str): - value = value.strip() - if value: - setattr(package, target, value) - - # mapping of top level `status` file items to a function accepting as - # arguments the package.json element value and returning an iterable of key, - # values Package Object to update - field_mappers = [ - ('section', keywords_mapper), - ('source', source_packages_mapper), - # ('depends', dependency_mapper), - ] - - for source, func in field_mappers: - logger.debug('parse: %(source)r, %(func)r' % locals()) - value = package_data.get(source) or None - if value: - func(value, package) - - # parties_mapper() need mutiple fields: - parties_mapper(package_data, package) - - return package - - -def keywords_mapper(keyword, package): - """ - Add `section` info as a list of keywords to a DebianPackage. - """ - package.keywords = [keyword] - return package + return models.PackageData( + datasource_id=datasource_id, + type=package_type, + name=deb.name, + version=deb.version, + qualifiers=qualifiers, + ) -def source_packages_mapper(source, package): +def parse_debian_files_list(location, datasource_id, package_type): """ - Add `source` info as a list of `purl`s to a DebianPackage. + Yield PackageData from a list of file paths at locations such as an from a + Debian installed .list or .md5sums file. """ - source_pkg_purl = PackageURL( - type=package.type, - name=source, - namespace=package.namespace - ).to_string() + qualifiers = {} + filename = fileutils.file_base_name(location) + if ':' in filename: + name, _, arch = filename.partition(':') + qualifiers['arch'] = arch + else: + name = filename + + file_references = [] + with open(location) as info_file: + for line in info_file: + line = line.strip() + if not line or line.startswith('#'): + continue + # for a plain file lits, the md5sum will be empty + md5sum, _, path = line.partition(' ') + path = path.strip() + md5sum = md5sum and md5sum.strip() or None + + # we ignore dirs in general, and we ignore these that would + # be created a plain dir when we can + if path in ignored_root_dirs: + continue + + ref = models.FileReference(path=path, md5=md5sum) + file_references.append(ref) + + if not file_references: + return + + yield models.PackageData( + datasource_id=datasource_id, + type=package_type, + name=name, + qualifiers=qualifiers, + file_references=file_references, + ) + + +def build_package_data(debian_data, datasource_id, package_type='deb', distro=None): + """ + Return a PackageData object from a package_data mapping (from a dpkg status + or similar file) or None. + """ + name = debian_data.get('package') + version = debian_data.get('version') - package.source_packages = [source_pkg_purl] + qualifiers = {} + architecture = debian_data.get('architecture') + if architecture: + qualifiers['architecture'] = architecture - return package + extra_data = {} + # Multi-Arch can be: "foreign", "same", "allowed", "all", "optional" or + # empty/non-present. See https://wiki.debian.org/Multiarch/HOWTO + multi_arch = debian_data.get('multi-arch') + if multi_arch: + extra_data['multi_arch'] = multi_arch + description = debian_data.get('description') + homepage_url = debian_data.get('homepage') + size = debian_data.get('installed') -def parties_mapper(package_data, package): - """ - add - """ parties = [] - maintainer = package_data.get('maintainer') - orig_maintainer = package_data.get('original_maintainer') - + maintainer = debian_data.get('maintainer') if maintainer: - parties.append(models.Party(role='maintainer', name=maintainer)) + party = models.Party(role='maintainer', name=maintainer) + parties.append(party) + orig_maintainer = debian_data.get('original_maintainer') if orig_maintainer: - parties.append(models.Party(role='original_maintainer', name=orig_maintainer)) - - package.parties = parties - - return package + party = models.Party(role='original_maintainer', name=orig_maintainer) + parties.append(party) + + keywords = [] + keyword = debian_data.get('section') + if keyword: + keywords.append(keyword) + + source_packages = [] + source = debian_data.get('source') + if source: + source_pkg_purl = PackageURL( + type=package_type, + name=source, + namespace=distro + ).to_string() + + source_packages.append(source_pkg_purl) + + return models.PackageData( + datasource_id=datasource_id, + type=package_type, + namespace=distro, + name=name, + version=version, + qualifiers=qualifiers, + description=description, + homepage_url=homepage_url, + size=size, + source_packages=source_packages, + keywords=keywords, + parties=parties, + extra_data=extra_data, + ) ignored_root_dirs = { diff --git a/src/packagedcode/debian_copyright.py b/src/packagedcode/debian_copyright.py index c66f6c590ca..3b6a3903737 100644 --- a/src/packagedcode/debian_copyright.py +++ b/src/packagedcode/debian_copyright.py @@ -27,11 +27,14 @@ from licensedcode.match import set_matched_lines from licensedcode.models import Rule from licensedcode.spans import Span -from packagedcode.utils import combine_expressions +from packagedcode import models from packagedcode.licensing import get_license_expression_from_matches from packagedcode.licensing import get_license_matches from packagedcode.licensing import get_license_matches_from_query_string +from packagedcode.utils import combine_expressions from textcode.analysis import unicode_text +import fnmatch +from pathlib import Path """ Detect licenses and copyright in Debian copyright files. Can handle dep-5 @@ -51,7 +54,6 @@ TRACE = os.environ.get('SCANCODE_DEBUG_PACKAGE', False) -MATCHER_UNKNOWN = '5-unknown' def logger_debug(*args): @@ -69,19 +71,120 @@ def logger_debug(*args): ' '.join(isinstance(a, str) and a or repr(a) for a in args) ) +MATCHER_UNKNOWN = '5-unknown' + +class BaseDebianCopyrightFileHandler(models.DatafileHandler): + default_package_type = 'deb' + documentation_url = 'https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/' + + @classmethod + def is_datafile(cls, location, filetypes=tuple(), strict=False): + isdc = ( + super().is_datafile(location, filetypes=filetypes) + # we want the filename to be lowercase + and location.endswith('copyright') + ) + if isdc: + if strict: + text = unicode_text(location) + return EnhancedDebianCopyright.is_machine_readable_copyright(text) + else: + return True + + @classmethod + def compute_normalized_license(cls, package): + return + + @classmethod + def parse(cls, location): + dc = parse_copyright_file(location) + # TODO: collect the upstream source package details + + # find a name... TODO: this should be pushed down to each handler + if fnmatch.fnmatch(name=location, pat='*usr/share/doc/*/copyright'): + path = Path(location) + name = path.parent.name + else: + # no name otherwise for now + name = None + + yield models.PackageData( + datasource_id=cls.datasource_id, + type=cls.default_package_type, + name=name, + declared_license=dc.get_declared_license(), + license_expression=dc.get_license_expression(), + copyright=dc.get_copyright(), + ) + + +class DebianCopyrightFileInSourceHandler(BaseDebianCopyrightFileHandler): + datasource_id = 'debian_copyright_in_source' + description = 'Debian machine readable file in source' + + path_patterns = ( + # Seen in a source repo or in *.debian.tar.xz tarball + # See https://github.com/Debian/dcs/blob/c88c75b9fb776b9d3075698716af8c0fd8d7558f/debian/copyright ] + # See http://deb.debian.org/debian/pool/main/p/python-docutils/python-docutils_0.16+dfsg-4.debian.tar.xz + '*/debian/copyright', + ) + + @classmethod + def assign_package_to_resources(cls, package, resource, codebase): + # two levels up + root = resource.parent(codebase).parent(codebase) + if root: + return cls.assign_package_to_resources(package, root, codebase) + + +# TODO: distiguish the cased of an installed package vs. the case of an extracted .deb +class DebianCopyrightFileInPackageHandler(BaseDebianCopyrightFileHandler): + datasource_id = 'debian_copyright_in_package' + description = 'Debian machine readable file in source' + + path_patterns = ( + # Standard form when seen in an installed form in /usr/share/doc/ + # and in the same place in the data.tar.xz inner archive of a .deb archive + # See http://ftp.us.debian.org/debian/pool/main/p/python-docutils/python3-docutils_0.16+dfsg-4_all.deb + '*usr/share/doc/*/copyright', + ) + + @classmethod + def assemble(cls, package_data, resource, codebase): + # DO NOTHING: let other handler reuse this + return [] + + +class StandaloneDebianCopyrightFileHandler(BaseDebianCopyrightFileHandler): + datasource_id = 'debian_copyright_standalone' + description = 'Debian machine readable file standalone' + + path_patterns = ( + # other places... may be we should treat this strictly wrt. being a structure file only? + '*/copyright', + # Seen in http://metadata.ftp-master.debian.org/changelogs/main/d/dtrx/dtrx_8.2.2-1_copyright + '*_copyright', + ) + + @classmethod + def assemble(cls, package_data, resource, codebase): + # assemble is the default + yield from super().assemble(package_data, resource, codebase) + class NotReallyStructuredCopyrightFile(Exception): """ - Raised when a file has a dep5 format declared, but is really not structured + Raised when a file has a dep5, machine readable copyrigh file format + declared, but is not strictly structured. """ def parse_copyright_file(location, check_consistency=False): """ Return a DebianDetector Object containing copyright and license detections - extracted from the debain copyright file at `location`. + extracted from the debian copyright file at ``location``. - If `check_consistency` is True, check if debian copyright file is + If ``check_consistency`` is True, check if debian copyright file is consistently structured according to the guidelines specified at https://www.debian.org/doc/packaging-manuals/copyright-format/1.0 """ @@ -158,28 +261,28 @@ def from_file(cls, *args, **kwargs): """ Return a DebianDetector object with License and Copyright detections. """ - return NotImplementedError + raise NotImplementedError def get_copyright(self, *args, **kwargs): """ Return a copyright string (found in Copyright: structured fields or in plain text). """ - return NotImplementedError + raise NotImplementedError def get_license_expression(self, *args, **kwargs): """ Return a license expression string suitable to use as a - DebianPackage.license_expression. + PackageData.license_expression. """ - return NotImplementedError + raise NotImplementedError def get_declared_license(self, *args, **kwargs): """ Return a list of declared license string suitable to use as a - DebianPackage.declared_license. + PackageData.declared_license. """ - return NotImplementedError + raise NotImplementedError @attr.s @@ -525,7 +628,7 @@ def get_license_expression( If `skip_debian_packaging` is True, skips the declared license for `Files: debian/*` paragraph. - If `simplify_licenses` is True, license expressions are deduplicated by + If `simplify_licenses` is True, license expressions are deduplicated by Licensing.dedup() and then returned. """ if not self.license_detections: @@ -1213,7 +1316,10 @@ def is_all_licenses_expressions_parsable(self): return True def get_all_license_expressions(self): - + """ + Return a list of all the license expressions detected in this copyright + file. + """ license_expressions = [] for paragraph in self.debian_copyright.paragraphs: diff --git a/src/packagedcode/distro.py b/src/packagedcode/distro.py new file mode 100644 index 00000000000..538a2ee1f30 --- /dev/null +++ b/src/packagedcode/distro.py @@ -0,0 +1,66 @@ +# +# Copyright (c) nexB Inc. and others. All rights reserved. +# ScanCode is a trademark of nexB Inc. +# SPDX-License-Identifier: Apache-2.0 +# See http://www.apache.org/licenses/LICENSE-2.0 for the license text. +# See https://github.com/nexB/scancode-toolkit for support or download. +# See https://aboutcode.org for more information about nexB OSS projects. +# + +from container_inspector.distro import Distro + +from packagedcode import models +from packagedcode import utils + +""" +Check for files to determine the Linux distro or operating system of a codebase. +""" + + +class EtcOsReleaseHandler(models.NonAssemblableDatafileHandler): + datasource_id = 'etc_os_release' + default_package_type = 'linux-distro' + path_patterns = ('*etc/os-release', '*usr/lib/os-release',) + description = 'Linux OS release metadata file' + documentation_url = 'https://www.freedesktop.org/software/systemd/man/os-release.html' + + @classmethod + def parse(cls, location): + distro = Distro.from_os_release_file(location) + distro_identifier = distro.identifier + pretty_name = distro.pretty_name and distro.pretty_name.lower() or '' + + if distro_identifier == 'debian': + namespace = 'debian' + + if 'distroless' in pretty_name: + name = 'distroless' + elif pretty_name.startswith('debian'): + name = 'distroless' + + elif distro_identifier == 'ubuntu' and distro.id_like == 'debian': + namespace = 'debian' + name = 'ubuntu' + else: + namespace = distro_identifier + name = 'ubuntu' + + version = distro.version_id + + yield models.PackageData( + datasource_id=cls.datasource_id, + type=cls.default_package_type, + namespace=namespace, + name=name, + version=version, + ) + + @classmethod + def find_linux_rootfs_root_resource(cls, resource, codebase): + """ + Given a ``codebase`` ``resource`` for an "os-release" file, return the + resource for the root directory of this filesystem or None. + """ + paths = ('etc/os-release', 'usr/lib/os-release',) + return utils.find_root_from_paths(paths, resource, codebase) + diff --git a/src/packagedcode/freebsd.py b/src/packagedcode/freebsd.py index 69b69e83d36..814c6e5fce9 100644 --- a/src/packagedcode/freebsd.py +++ b/src/packagedcode/freebsd.py @@ -10,11 +10,8 @@ import io import logging -import attr import saneyaml -from commoncode import filetype -from commoncode import fileutils from packagedcode import models from packagedcode.utils import combine_expressions @@ -32,35 +29,20 @@ logging.basicConfig(level=logging.DEBUG, stream=sys.stdout) logger.setLevel(logging.DEBUG) +# see also https://github.com/freebsd/pkg#the-metadata +# TODO: use the libucl Python binding +# TODO: support +MANIFETS and its file references -@attr.s() -class FreeBSDPackageData(models.PackageData): - file_patterns = ('+COMPACT_MANIFEST',) - default_type = 'freebsd' - @classmethod - def get_package_root(cls, manifest_resource, codebase): - return manifest_resource.parent(codebase) - - def compute_normalized_license(self): - return compute_normalized_license(self.declared_license) - - -@attr.s() -class CompactManifest(FreeBSDPackageData, models.PackageDataFile): - - file_patterns = ('+COMPACT_MANIFEST',) - - @classmethod - def is_package_data_file(cls, location): - """ - Return True if the file at ``location`` is likely a manifest of this type. - """ - return (filetype.is_file(location) - and fileutils.file_name(location).lower() == '+compact_manifest') +class CompactManifestHandler(models.DatafileHandler): + datasource_id = 'freebsd_compact_manifest' + path_patterns = ('*/+COMPACT_MANIFEST',) + default_package_type = 'freebsd' + description = 'FreeBSD compact package manifest' + documentation_url = 'https://www.freebsd.org/cgi/man.cgi?pkg-create(8)#MANIFEST_FILE_DETAILS' @classmethod - def recognize(cls, location): + def parse(cls, location): """ Yield one or more Package manifest objects given a file ``location`` pointing to a package archive, manifest or similar. @@ -68,17 +50,16 @@ def recognize(cls, location): with io.open(location, encoding='utf-8') as loc: freebsd_manifest = saneyaml.load(loc) - # construct the package - package = cls() + package_data = models.PackageData( + datasource_id=cls.datasource_id, + type=cls.default_package_type, + qualifiers=dict( + arch=freebsd_manifest.get('arch'), + origin=freebsd_manifest.get('origin'), + ) + ) - # add freebsd-specific package 'qualifiers' - qualifiers = dict([ - ('arch', freebsd_manifest.get('arch')), - ('origin', freebsd_manifest.get('origin')), - ]) - package.qualifiers = qualifiers - - # mapping of top level package.json items to the Package object field name + # mapping of top level manifest items to the PackageData object field name plain_fields = [ ('name', 'name'), ('version', 'version'), @@ -93,7 +74,7 @@ def recognize(cls, location): if isinstance(value, str): value = value.strip() if value: - setattr(package, target, value) + setattr(package_data, target, value) # mapping of top level +COMPACT_MANIFEST items to a function accepting as # arguments the package.json element value and returning an iterable of key, @@ -108,62 +89,57 @@ def recognize(cls, location): logger.debug('parse: %(source)r, %(func)r' % locals()) value = freebsd_manifest.get(source) or None if value: - func(value, package) + func(value, package_data) # license_mapper needs multiple fields - license_mapper(freebsd_manifest, package) + license_mapper(freebsd_manifest, package_data) - yield package + if package_data.declared_license: + package_data.license_expression = cls.compute_normalized_license(package_data) + yield package_data -@attr.s() -class FreebsdPackage(FreeBSDPackageData, models.Package): - """ - A Freebsd Package that is created out of one/multiple Freebsd package - manifests and package-like data, with it's files. - """ - - @property - def manifests(self): - return [ - CompactManifest - ] + @classmethod + def compute_normalized_license(cls, package): + """ + Return a normalized license expression string or None detected from a ``package`` Package + declared license items or an ordered dict. + """ + declared_license = package.declared_license + if not declared_license: + return + if not isinstance(declared_license, dict): + return models.compute_normalized_license(declared_license=declared_license) -def compute_normalized_license(declared_license): - """ - Return a normalized license expression string detected from a list of - declared license items or an ordered dict. - """ - if not declared_license: - return + licenses = declared_license.get('licenses') + if not licenses: + return - licenses = declared_license.get('licenses') - if not licenses: - return - - license_logic = declared_license.get('licenselogic') - relation = 'AND' - if license_logic: - if license_logic == 'or' or license_logic == 'dual': - relation = 'OR' + license_logic = declared_license.get('licenselogic') + # the default in FreebSD expressions is AND + relation = 'AND' + if license_logic: + if license_logic == 'or' or license_logic == 'dual': + relation = 'OR' - detected_licenses = [] - for declared in licenses: - detected_license = models.compute_normalized_license(declared) - if detected_license: - detected_licenses.append(detected_license) + detected_licenses = [] + for lic in licenses: + detected = models.compute_normalized_license(declared_license=lic) + if detected: + detected_licenses.append(detected) - if detected_licenses: - return combine_expressions(detected_licenses, relation) + if detected_licenses: + return combine_expressions(expressions=detected_licenses, relation=relation) -def license_mapper(package_data, package): +def license_mapper(freebsd_manifest, package): """ - Update package licensing and return package. Licensing structure for FreeBSD - packages is a list of (non-scancode) license keys and a 'licenselogic' field. + Update ``package`` Package declared licensing using ``freebsd_manifest`` and + return package. Licensing structure for FreeBSD packages is a list of + FreeBSD own license keys and a 'licenselogic' field. """ - license_logic, licenses = package_data.get('licenselogic'), package_data.get('licenses') + licenses = freebsd_manifest.get('licenses') if not licenses: return @@ -171,11 +147,13 @@ def license_mapper(package_data, package): declared_license = {} lics = [l.strip() for l in licenses if l and l.strip()] declared_license['licenses'] = lics + + license_logic = freebsd_manifest.get('licenselogic') if license_logic: declared_license['licenselogic'] = license_logic package.declared_license = declared_license - return package + return def maintainer_mapper(maintainer, package): @@ -192,8 +170,10 @@ def origin_mapper(origin, package): Update package code_view_url using FreeBSD origin information and return package. """ # the 'origin' field allows us to craft a code_view_url + # TODO: the origin may need to be the namespace?? package.qualifiers['origin'] = origin - package.code_view_url = 'https://svnweb.freebsd.org/ports/head/{}'.format(origin) + package.code_view_url = f'https://svnweb.freebsd.org/ports/head/{origin}' + return package def arch_mapper(arch, package): @@ -203,5 +183,5 @@ def arch_mapper(arch, package): # the 'arch' field allows us to craft a binary download_url # FIXME: due to the rolling-release nature of binary ports, some download URLs # will lead to 404 errors if a newer release of a particular port is availible - package.download_url = 'https://pkg.freebsd.org/{}/latest/All/{}-{}.txz'.format(arch, package.name, package.version) + package.download_url = f'https://pkg.freebsd.org/{arch}/latest/All/{package.name}-{package.version}.txz' return package diff --git a/src/packagedcode/gemfile_lock.py b/src/packagedcode/gemfile_lock.py index 1a3b6bba16f..bb7ac0d0a53 100644 --- a/src/packagedcode/gemfile_lock.py +++ b/src/packagedcode/gemfile_lock.py @@ -24,7 +24,6 @@ from commoncode.datautils import TriBoolean from textcode import analysis - """ Handle Gemfile.lock Rubygems lockfile. @@ -32,7 +31,7 @@ script is based on and contains code derived from Ruby Bundler: https://raw.githubusercontent.com/bundler/bundler/77e7050364367d98f9bc96911ea2769b69a4735c/lib/bundler/lockfile_parser.rb -TODO: update to latest https://github.com/bundler/bundler/compare/77e7050364367d98f9bc96911ea2769b69a4735c...master#diff-3c625d3cd7d7604b3e2e3c5487a5ede6 +TODO: update to latest https://github.com/bundler/bundler/compare/77e7050364367d98f9bc96911ea2769b69a4735c...master Portions copyright (c) 2010 Andre Arko Portions copyright (c) 2009 Engine Yard @@ -104,15 +103,14 @@ def logger_debug(*args): def logger_debug(*args): return logger.debug(' '.join(isinstance(a, str) and a or repr(a) for a in args)) - # Section headings: these are also used as switches to track a parsing state -PATH = u'PATH' -GIT = u'GIT' -SVN = u'SVN' -GEM = u'GEM' -PLATFORMS = u'PLATFORMS' -DEPENDENCIES = u'DEPENDENCIES' -SPECS = u' specs:' +PATH = 'PATH' +GIT = 'GIT' +SVN = 'SVN' +GEM = 'GEM' +PLATFORMS = 'PLATFORMS' +DEPENDENCIES = 'DEPENDENCIES' +SPECS = ' specs:' # types of Gems, which is really where they are provisioned from # RubyGems repo, local path or VCS @@ -184,7 +182,7 @@ def refine(self): if self.type in (GIT, SVN,): # FIXME: this likely WRONG - # TODO: this may not be correct for SVN BUT SVN has been abandoned + # TODO: this may not be correct for SVN but SVN has been abandoned self.spec_version = self.version if self.revision and not self.ref: self.version = self.revision @@ -344,7 +342,7 @@ def get_option(s): PLATS = re.compile('^ (?P.*)$').match -class GemfileLockParser(object): +class GemfileLockParser: """ Parse a Gemfile.lock. Code originally derived from Bundler's /bundler/lib/bundler/lockfile_parser.rb parser diff --git a/src/packagedcode/go_mod.py b/src/packagedcode/go_mod.py index 0772505a8f3..527931c2dcc 100644 --- a/src/packagedcode/go_mod.py +++ b/src/packagedcode/go_mod.py @@ -7,23 +7,12 @@ # import io -import logging import re import attr from packageurl import PackageURL -TRACE = False - -logger = logging.getLogger(__name__) - -if TRACE: - import sys - logging.basicConfig(stream=sys.stdout) - logger.setLevel(logging.DEBUG) - - @attr.s() class GoModule(object): namespace = attr.ib(default=None) @@ -45,59 +34,6 @@ def purl(self, include_version=True): ).to_string() -####################################################################################### -""" -This part handles go.mod files from Go. -See https://golang.org/ref/mod#go.mod-files for details - -For example: - -module example.com/my/thing - -go 1.12 - -require example.com/other/thing v1.0.2 -require example.com/new/thing v2.3.4 -exclude example.com/old/thing v1.2.3 -require ( - example.com/new/thing v2.3.4 - example.com/old/thing v1.2.3 -) -require ( - example.com/new/thing v2.3.4 - example.com/old/thing v1.2.3 -) - -""" - -""" -module is in the form -require github.com/davecgh/go-spew v1.1.1 -or -exclude github.com/davecgh/go-spew v1.1.1 -or -module github.com/alecthomas/participle - -For example: ->>> p = parse_module('module github.com/alecthomas/participle') ->>> assert p.group('type') == ('module') ->>> assert p.group('ns_name') == ('github.com/alecthomas/participle') - ->>> p = parse_module('require github.com/davecgh/go-spew v1.1.1') ->>> assert p.group('type') == ('require') ->>> assert p.group('ns_name') == ('github.com/davecgh/go-spew') ->>> assert p.group('version') == ('v1.1.1') - -require or exclude can be in the form -github.com/davecgh/go-spew v1.1.1 - -For example: ->>> p = parse_dep_link('github.com/davecgh/go-spew v1.1.1') ->>> assert p.group('namespace') == ('github.com/davecgh') ->>> assert p.group('name') == ('go-spew') ->>> assert p.group('version') == ('v1.1.1') -""" - # Regex expressions to parse different types of go.mod file dependency parse_module = re.compile( r'(?P[^\s]+)' @@ -128,6 +64,55 @@ def preprocess(line): def parse_gomod(location): """ Return a dictionary containing all the important go.mod file data. + + Handle go.mod files from Go. + See https://golang.org/ref/mod#go.mod-files for details + + For example: + + module example.com/my/thing + + go 1.12 + + require example.com/other/thing v1.0.2 + require example.com/new/thing v2.3.4 + exclude example.com/old/thing v1.2.3 + require ( + example.com/new/thing v2.3.4 + example.com/old/thing v1.2.3 + ) + require ( + example.com/new/thing v2.3.4 + example.com/old/thing v1.2.3 + ) + + Each module line is in the form + require github.com/davecgh/go-spew v1.1.1 + or + exclude github.com/davecgh/go-spew v1.1.1 + or + module github.com/alecthomas/participle + + For example:: + + >>> p = parse_module('module github.com/alecthomas/participle') + >>> assert p.group('type') == ('module') + >>> assert p.group('ns_name') == ('github.com/alecthomas/participle') + + >>> p = parse_module('require github.com/davecgh/go-spew v1.1.1') + >>> assert p.group('type') == ('require') + >>> assert p.group('ns_name') == ('github.com/davecgh/go-spew') + >>> assert p.group('version') == ('v1.1.1') + + A line for require or exclude can be in the form: + + github.com/davecgh/go-spew v1.1.1 + + For example:: + + >>> p = parse_dep_link('github.com/davecgh/go-spew v1.1.1') + >>> assert p.group('ns_name') == ('github.com/davecgh/go-spew') + >>> assert p.group('version') == ('v1.1.1') """ with io.open(location, encoding='utf-8', closefd=True) as data: lines = data.readlines() @@ -140,7 +125,7 @@ def parse_gomod(location): line = preprocess(line) if 'require' in line and '(' in line: - for req in lines[i+1:]: + for req in lines[i + 1:]: req = preprocess(req) if ')' in req: break @@ -157,7 +142,7 @@ def parse_gomod(location): continue if 'exclude' in line and '(' in line: - for exc in lines[i+1:]: + for exc in lines[i + 1:]: exc = preprocess(exc) if ')' in exc: break @@ -207,29 +192,6 @@ def parse_gomod(location): return gomods -####################################################################################### -""" -This part handles go.sum files from Go. -See https://blog.golang.org/using-go-modules for details - -A go.sum file contains pinned Go modules checksums of two styles: - -For example: -github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= - -... where the line with /go.mod is for a check of that go.mod file -and the other line contains a dirhash for that path as documented as -https://pkg.go.dev/golang.org/x/mod/sumdb/dirhash - -Here are some example of usage of this module:: - ->>> p = get_dependency('github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=') ->>> assert p.group('ns_name') == ('github.com/BurntSushi/toml') ->>> assert p.group('version') == ('v0.3.1') ->>> assert p.group('checksum') == ('WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=') -""" - # Regex expressions to parse go.sum file dependency # dep example: github.com/BurntSushi/toml v0.3.1 h1:WXkYY.... get_dependency = re.compile( @@ -244,6 +206,28 @@ def parse_gomod(location): def parse_gosum(location): """ Return a list of GoSum from parsing the go.sum file at `location`. + + Handles go.sum file from Go. + + See https://blog.golang.org/using-go-modules for details + + A go.sum file contains pinned Go modules checksums of two styles: + + For example:: + + github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= + github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= + + ... where the line with /go.mod is for a check of that go.mod file + and the other line contains a dirhash for that path as documented as + https://pkg.go.dev/golang.org/x/mod/sumdb/dirhash + + For example:: + + >>> p = get_dependency('github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=') + >>> assert p.group('ns_name') == ('github.com/BurntSushi/toml') + >>> assert p.group('version') == ('v0.3.1') + >>> assert p.group('checksum') == ('WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=') """ with io.open(location, encoding='utf-8', closefd=True) as data: lines = data.readlines() diff --git a/src/packagedcode/godeps.py b/src/packagedcode/godeps.py index 5bc7428d88b..70589e087be 100644 --- a/src/packagedcode/godeps.py +++ b/src/packagedcode/godeps.py @@ -7,45 +7,88 @@ # See https://aboutcode.org for more information about nexB OSS projects. # -from collections import namedtuple import io import json -import logging +from commoncode import datautils + +from packagedcode import models +import attr +from packageurl import PackageURL """ Handle Godeps-like Go package dependency data. -Note: there are other dependency tools for Go beside Godeps, yet -several use the same format. +Note: there are other dependency tools for Go beside Godeps, yet several use the +same format. Godeps (and glide, etc.) is mostly legacy today and replaced by Go +modules. """ # FIXME: update to use the latest vendor conventions. +# consider other legacy format? +# https://github.com/golang/dep/blob/master/Gopkg.lock +# https://github.com/golang/dep/blob/master/Gopkg.toml + + +class GodepsHandler(models.NonAssemblableDatafileHandler): + datasource_id = 'godeps' + default_package_type = 'golang' + default_primary_language = 'Go' + path_patterns = ('*/Godeps.json',) + description = 'Go Godeps' + documentation_url = 'https://github.com/tools/godep' + + @classmethod + def parse(cls, location): + godeps = Godep(location) + + if godeps.import_path: + # we create a purl from the import path to parse ns/name nicely + purl = PackageURL.from_string(f'pkg:golang/{godeps.import_path}') + namespace = purl.namespace + name = purl.name + else: + namespace = None + name = None -TRACE = False - - -def logger_debug(*args): - pass - - -logger = logging.getLogger(__name__) - -if TRACE: - import sys - logging.basicConfig(stream=sys.stdout) - logger.setLevel(logging.DEBUG) - - def logger_debug(*args): - return logger.debug(' '.join(isinstance(a, str) and a or repr(a) for a in args)) - - -class Dep(namedtuple('Dep', 'import_path revision comment')): + dependencies = [] + deps = godeps.dependencies or [] + for dep in deps: + dependencies.append( + models.DependentPackage( + purl=str(PackageURL.from_string(f'pkg:golang/{dep.import_path}')), + extracted_requirement=dep.revision, + scope='Deps', + is_runtime=True, + is_optional=False, + is_resolved=False, + ) + ) + + yield models.PackageData( + datasource_id=cls.datasource_id, + type=cls.default_package_type, + namespace=namespace, + name=name, + primary_language=cls.default_primary_language, + dependencies=dependencies, + ) + + @classmethod + def assign_package_to_resources(cls, package, resource, codebase): + super().assign_package_to_parent_tree(package, resource, codebase) + + +@attr.s +class Dep: + import_path = datautils.String() + revision = datautils.String() + comment = datautils.String() - def __new__(cls, import_path=None, revision=None, comment=None): - return super(Dep, cls).__new__(cls, import_path, revision, comment) + def to_dict(self): + return attr.asdict(self) -# map Godep names to our own attribute names +# map of Godep names to our own attribute names NAMES = { 'ImportPath': 'import_path', 'GoVersion': 'go_version', @@ -56,9 +99,10 @@ def __new__(cls, import_path=None, revision=None, comment=None): } -class Godep(object): +@attr.s +class Godep: """ - A JSON dep file with this structure: + Represent JSON dep file with this structure: type Godeps struct { ImportPath string GoVersion string // Abridged output of 'go version'. @@ -78,34 +122,30 @@ class Godep(object): Comment Rev """ + location = datautils.String() + import_path = datautils.String() + go_version = datautils.String() + packages = datautils.List(item_type=str) + dependencies = datautils.List(item_type=Dep) - def __init__(self, location=None, import_path=None, go_version=None, - packages=None, dependencies=None): - - self.location = location - self.import_path = None - self.go_version = None - self.dependencies = [] - self.packages = [] - - if location: - self.load(location) - else: - self.import_path = import_path - self.go_version = go_version - self.dependencies = dependencies or [] - self.packages = packages or [] + def __attrs_post_init__(self, *args, **kwargs): + if self.location: + self.load(self.location) def load(self, location): """ - Load self from a location string or a file-like object - containing a Godeps JSON. + Load self from a location string or a file-like object containing a + Godeps JSON. """ - if isinstance(location, str): - with io.open(location, encoding='utf-8') as godep: - data = json.load(godep) - else: - data = json.load(location) + with io.open(location, encoding='utf-8') as godep: + text = godep.read() + return self.loads(text) + + def loads(self, text): + """ + Load a Godeps JSON text. + """ + data = json.loads(text) for key, value in data.items(): name = NAMES.get(key) @@ -115,15 +155,10 @@ def load(self, location): setattr(self, name, value) return self - def loads(self, string): + def parse_deps(self, deps): """ - Load a Godeps JSON string. + Return a list of Dep from a ``deps`` list of dependency mappings. """ - from io import StringIO - self.load(StringIO(string)) - return self - - def parse_deps(self, deps): deps_list = [] for dep in deps: data = dict((NAMES[key], value) for key, value in dep.items()) @@ -131,19 +166,12 @@ def parse_deps(self, deps): return deps_list or [] def to_dict(self): - dct = {} - dct.update([ - ('import_path', self.import_path), - ('go_version', self.go_version), - ('packages', self.packages), - ('dependencies', [d._asdict() for d in self.dependencies]), - ]) - return dct - - def __repr__(self): - return ('Godep(%r)' % self.to_dict()) - - __str__ = __repr__ + return { + 'import_path': self.import_path, + 'go_version': self.go_version, + 'packages': self.packages, + 'dependencies': [d.to_dict() for d in self.dependencies], + } def parse(location): diff --git a/src/packagedcode/golang.py b/src/packagedcode/golang.py index c94caca6b11..e78477e33dc 100644 --- a/src/packagedcode/golang.py +++ b/src/packagedcode/golang.py @@ -6,12 +6,7 @@ # See https://github.com/nexB/scancode-toolkit for support or download. # See https://aboutcode.org for more information about nexB OSS projects. # -import logging -import attr - -from commoncode import fileutils -from commoncode import filetype from packagedcode import go_mod from packagedcode import models @@ -19,64 +14,47 @@ Handle Go packages including go.mod and go.sum files. """ -# TODO: -# go.mod file does not contain version number. +# FIXME: !!improve how we handle packages names vs. subpath. +# we need to have shorter names and use subpath + +# TODO: go.mod file does not contain version number. # valid download url need version number # CHECK: https://forum.golangbridge.org/t/url-to-download-package/19811 -TRACE = False - -logger = logging.getLogger(__name__) - -if TRACE: - import sys - logging.basicConfig(stream=sys.stdout) - logger.setLevel(logging.DEBUG) - - -@attr.s() -class GolangPackageData(models.PackageData): - default_type = 'golang' - default_primary_language = 'Go' - default_web_baseurl = 'https://pkg.go.dev' - default_download_baseurl = None - default_api_baseurl = None - - @classmethod - def get_package_root(cls, manifest_resource, codebase): - return manifest_resource.parent(codebase) - - def repository_homepage_url(self, baseurl=default_web_baseurl): - if self.namespace and self.name: - return '{}/{}/{}'.format(baseurl, self.namespace, self.name) - +# TODO: use the LICENSE file convention! +# TODO: support "vendor" and "workspace" layouts -@attr.s() -class GoMod(GolangPackageData, models.PackageDataFile): - file_patterns = ('go.mod',) - extensions = ('.mod',) +class BaseGoModuleHandler(models.DatafileHandler): @classmethod - def is_package_data_file(cls, location): + def assemble(cls, package_data, resource, codebase): """ - Return True if the file at ``location`` is likely a manifest of this type. + Always use go.mod first then go.sum """ - filename = fileutils.file_name(location).lower() - return filetype.is_file(location) and filename == 'go.mod' + yield from cls.assemble_from_many_datafiles( + datafile_name_patterns=('go.mod', 'go.sum',), + directory=resource.parent(codebase), + codebase=codebase, + ) + + +class GoModHandler(BaseGoModuleHandler): + datasource_id = 'go_mod' + path_patterns = ('*/go.mod',) + default_package_type = 'golang' + default_primary_language = 'Go' + description = 'Go modules file' + documentation_url = 'https://go.dev/ref/mod' @classmethod - def recognize(cls, location): - """ - Yield one or more Package manifest objects given a file ``location`` pointing to a - package archive, manifest or similar. - """ + def parse(cls, location): gomods = go_mod.parse_gomod(location) - package_dependencies = [] + dependencies = [] require = gomods.require or [] for gomod in require: - package_dependencies.append( + dependencies.append( models.DependentPackage( purl=gomod.purl(include_version=True), extracted_requirement=gomod.version, @@ -89,7 +67,7 @@ def recognize(cls, location): exclude = gomods.exclude or [] for gomod in exclude: - package_dependencies.append( + dependencies.append( models.DependentPackage( purl=gomod.purl(include_version=True), extracted_requirement=gomod.version, @@ -102,40 +80,38 @@ def recognize(cls, location): name = gomods.name namespace = gomods.namespace - homepage_url = 'https://pkg.go.dev/{}/{}'.format(gomods.namespace, gomods.name) - vcs_url = 'https://{}/{}.git'.format(gomods.namespace, gomods.name) - yield cls( + homepage_url = f'https://pkg.go.dev/{gomods.namespace}/{gomods.name}' + vcs_url = f'https://{gomods.namespace}/{gomods.name}.git' + + repository_homepage_url = None + if namespace and name: + repository_homepage_url = f'https://pkg.go.dev/{namespace}/{name}' + + yield models.PackageData( + datasource_id=cls.datasource_id, + type=cls.default_package_type, name=name, namespace=namespace, vcs_url=vcs_url, homepage_url=homepage_url, - dependencies=package_dependencies + repository_homepage_url=repository_homepage_url, + dependencies=dependencies, + primary_language=cls.default_primary_language, ) -@attr.s() -class GoSum(GolangPackageData, models.PackageDataFile): - - file_patterns = ('go.sum',) - extensions = ('.sum',) - - @classmethod - def is_package_data_file(cls, location): - """ - Return True if the file at ``location`` is likely a manifest of this type. - """ - filename = fileutils.file_name(location).lower() - return filetype.is_file(location) and filename == 'go.sum' +class GoSumHandler(BaseGoModuleHandler): + datasource_id = 'go_sum' + path_patterns = ('*/go.sum',) + default_package_type = 'golang' + default_primary_language = 'Go' + description = 'Go module cheksums file' + documentation_url = 'https://go.dev/ref/mod#go-sum-files' @classmethod - def recognize(cls, location): - """ - Yield one or more Package manifest objects given a file ``location`` pointing to a - package archive, manifest or similar. - """ + def parse(cls, location): gosums = go_mod.parse_gosum(location) - package_dependencies = [] for gosum in gosums: package_dependencies.append( @@ -149,19 +125,9 @@ def recognize(cls, location): ) ) - yield cls(dependencies=package_dependencies) - - -@attr.s() -class GoPackage(GolangPackageData, models.Package): - """ - A Golang Package that is created out of one/multiple go package - manifests. - """ - - @property - def manifests(self): - return [ - GoMod, - GoSum - ] + yield models.PackageData( + datasource_id=cls.datasource_id, + type=cls.default_package_type, + dependencies=package_dependencies, + primary_language=cls.default_primary_language, + ) diff --git a/src/packagedcode/haxe.py b/src/packagedcode/haxe.py index 6ea8c904f39..181056ced36 100644 --- a/src/packagedcode/haxe.py +++ b/src/packagedcode/haxe.py @@ -9,16 +9,11 @@ import io import json -import logging -import attr from packageurl import PackageURL -from commoncode import filetype -from commoncode import fileutils from packagedcode import models - """ Handle haxelib Haxe packages @@ -36,56 +31,24 @@ - https://lib.haxe.org/files/3.0/format-3,4,1.zip """ - -TRACE = False - -logger = logging.getLogger(__name__) - -if TRACE: - import sys - logging.basicConfig(stream=sys.stdout) - logger.setLevel(logging.DEBUG) +# TODO: Update the license based on a mapping: +# Per the doc: +# Can be GPL, LGPL, BSD, Public (for Public Domain), MIT, or Apache. -@attr.s() -class HaxePackageData(models.PackageData): - - filetypes = tuple() - mimetypes = tuple() - default_type = 'haxe' +class HaxelibJsonHandler(models.DatafileHandler): + datasource_id = 'haxelib_json' + path_patterns = ('*/haxelib.json',) + default_package_type = 'haxe' default_primary_language = 'Haxe' - default_web_baseurl = 'https://lib.haxe.org/p/' - default_download_baseurl = 'https://lib.haxe.org/p/' - - @classmethod - def get_package_root(cls, manifest_resource, codebase): - return manifest_resource.parent(codebase) - - def repository_homepage_url(self, baseurl=default_web_baseurl): - return haxelib_homepage_url(self.name, baseurl=baseurl) - - def repository_download_url(self, baseurl=default_download_baseurl): - return haxelib_download_url(self.name, self.version, baseurl=baseurl) - - -@attr.s() -class HaxelibJson(HaxePackageData, models.PackageDataFile): - - file_patterns = ('haxelib.json',) - extensions = ('.json',) - - @classmethod - def is_package_data_file(cls, location): - """ - Return True if the file at ``location`` is likely a manifest of this type. - """ - return filetype.is_file(location) and fileutils.file_name(location).lower() == 'haxelib.json' + description = 'Haxe haxelib.json metadata file' + documentation_url = 'https://lib.haxe.org/documentation/creating-a-haxelib-package/' @classmethod - def recognize(cls, location): + def parse(cls, location): """ Yield one or more Package manifest objects given a file ``location`` pointing to a - package archive, manifest or similar. + package_data archive, manifest or similar. { "name": "haxelib", @@ -100,84 +63,51 @@ def recognize(cls, location): } """ with io.open(location, encoding='utf-8') as loc: - package_data = json.load(loc) - - package = cls( - name=package_data.get('name'), - version=package_data.get('version'), - homepage_url=package_data.get('url'), - declared_license=package_data.get('license'), - keywords=package_data.get('tags'), - description=package_data.get('description'), + json_data = json.load(loc) + + name = json_data.get('name') + version = json_data.get('version') + + package_data = models.PackageData( + datasource_id=cls.datasource_id, + type=cls.default_package_type, + name=name, + version=version, + homepage_url=json_data.get('url'), + declared_license=json_data.get('license'), + keywords=json_data.get('tags'), + description=json_data.get('description'), + primary_language=cls.default_primary_language, ) - package.download_url = package.repository_download_url() + if not package_data.license_expression and package_data.declared_license: + package_data.license_expression = cls.compute_normalized_license(package_data) + + if name and version: + download_url = f'https://lib.haxe.org/p/{name}/{version}/download/' + package_data.repository_download_url = download_url + package_data.download_url = download_url - for contrib in package_data.get('contributors', []): + if name: + package_data.repository_homepage_url = f'https://lib.haxe.org/p/{name}' + + for contrib in json_data.get('contributors', []): party = models.Party( type=models.party_person, name=contrib, role='contributor', url='https://lib.haxe.org/u/{}'.format(contrib)) - package.parties.append(party) + package_data.parties.append(party) - for dep_name, dep_version in package_data.get('dependencies', {}).items(): + for dep_name, dep_version in json_data.get('dependencies', {}).items(): dep_version = dep_version and dep_version.strip() is_resolved = bool(dep_version) dep_purl = PackageURL( - type='haxe', + type=cls.default_package_type, name=dep_name, version=dep_version ).to_string() dep = models.DependentPackage(purl=dep_purl, is_resolved=is_resolved,) - package.dependencies.append(dep) - - yield package - - -@attr.s() -class HaxePackage(HaxePackageData, models.Package): - """ - A Haxe Package that is created out of one/multiple haxe package - manifests, lockfiles, build scripts and package-like data, with it's files. - """ - - @property - def manifests(self): - return [ - HaxelibJson - ] - - -def haxelib_homepage_url(name, baseurl='https://lib.haxe.org/p/'): - """ - Return an haxelib package homepage URL given a name and a base registry web - interface URL. - - For example: - >>> assert haxelib_homepage_url('format') == u'https://lib.haxe.org/p/format' - """ - baseurl = baseurl.rstrip('/') - return '{baseurl}/{name}'.format(**locals()) - - -def haxelib_download_url(name, version, baseurl='https://lib.haxe.org/p'): - """ - Return an haxelib package tarball download URL given a namespace, name, version - and a base registry URL. - - For example: - >>> assert haxelib_download_url('format', '3.4.1') == u'https://lib.haxe.org/p/format/3.4.1/download/' - """ - if name and version: - baseurl = baseurl.rstrip('/') - return '{baseurl}/{name}/{version}/download/'.format(**locals()) - + package_data.dependencies.append(dep) -def map_license(package): - """ - Update the license based on a mapping: - Per the doc: - Can be GPL, LGPL, BSD, Public (for Public Domain), MIT, or Apache. - """ - raise NotImplementedError + yield package_data diff --git a/src/packagedcode/jar_manifest.py b/src/packagedcode/jar_manifest.py index e7b3ae9334c..25cabd3a4ff 100644 --- a/src/packagedcode/jar_manifest.py +++ b/src/packagedcode/jar_manifest.py @@ -9,13 +9,9 @@ import re -import attr - -from commoncode.fileutils import as_posixpath -from packagedcode.utils import normalize_vcs_url -from packagedcode.maven import parse_scm_connection from packagedcode import models - +from packagedcode.maven import parse_scm_connection +from packagedcode.utils import normalize_vcs_url """ A JAR/WAR/EAR and OSGi MANIFEST.MF parser and handler. @@ -27,90 +23,83 @@ """ -@attr.s() -class JavaArchive(models.PackageData): - - filetypes = ('java archive ', 'zip archive',) - mimetypes = ('application/java-archive', 'application/zip',) - default_type = 'jar' +class JavaJarManifestHandler(models.DatafileHandler): + datasource_id = 'java_jar_manifest' + path_patterns = ('*/META-INF/MANIFEST.MF',) + default_package_type = 'jar' default_primary_language = 'Java' + description='Java JAR MANIFEST.MF' + documentation_url='https://docs.oracle.com/javase/tutorial/deployment/jar/manifestindex.html' @classmethod - def get_package_root(cls, manifest_resource, codebase): - if manifest_resource.path.lower().endswith('meta-inf/manifest.mf'): - # the root is the parent of META-INF - return manifest_resource.parent(codebase).parent(codebase) - else: - return manifest_resource + def parse(cls, location): + sections = parse_manifest(location) + if sections: + main_section = sections[0] + manifest = get_normalized_java_manifest_data(main_section) + if manifest: + package_data = models.PackageData(**manifest,) + if not package_data.license_expression and package_data.declared_license: + package_data.license_expression = cls.compute_normalized_license(package_data) -@attr.s() -class IvyJar(JavaArchive, models.PackageDataFile): - file_patterns = ('ivy.xml',) - default_type = 'ivy' - default_primary_language = 'Java' - - -@attr.s() -class JavaManifest(JavaArchive, models.PackageDataFile): - file_patterns = ('META-INF/MANIFEST.MF',) - extensions = ('.jar', '.war', '.ear') + yield package_data @classmethod - def get_manifest_data(cls, location): - if cls.is_package_data_file(location): - yield parse_manifest(location) + def assign_package_to_resources(cls, package, resource, codebase): + # we want to root of the jar, two levels up + parent = resource.parent(codebase) + if parent: + parent = resource.parent(codebase) + + if parent: + super().assign_package_to_resources(package, resource=parent, codebase=codebase) - @classmethod - def is_package_data_file(cls, location): - """ - Return Trye if the file at location is a Manifest. - """ - return as_posixpath(location).lower().endswith('meta-inf/manifest.mf') def parse_manifest(location): """ Return a Manifest parsed from the file at `location` or None if this cannot be parsed. """ - mode = 'r' - with open(location, mode) as manifest: + with open(location) as manifest: return parse_manifest_data(manifest.read()) -def parse_manifest_data(manifest): +def parse_manifest_data(manifest_content): """ Return a list of mapping, one for each manifest section (where the first entry is the main section) parsed from a `manifest` string. """ # normalize line endings then split each section: they are separated by two LF - lines = '\n'.join(manifest.splitlines(False)) - sections = re.split('\n\n+', lines) + lines = '\n'.join(manifest_content.splitlines(False)) + sections = re.split(r'\n\n+', lines) return [parse_section(s) for s in sections] def parse_section(section): """ - Return a mapping of key/values for a manifest `section` string + Return a mapping of key/values for a manifest ``section`` string """ data = {} for line in section.splitlines(False): if not line: continue + if not line.startswith(' '): # new key/value key, _, value = line.partition(': ') data[key] = value + else: # continuation of the previous value data[key] += line[1:] return data -def get_normalized_package_data(manifest_main_section): +def get_normalized_java_manifest_data(manifest_mapping): """ Return a mapping of package-like data normalized from a mapping of the - `manifest_main_section` data or None. + `manifest_mapping` data mapping or None. Maven Archiver does this: Manifest-Version: 1.0 @@ -126,12 +115,12 @@ def get_normalized_package_data(manifest_main_section): Implementation-URL: ${project.url} See https://maven.apache.org/shared/maven-archiver/examples/manifest.html """ - if not manifest_main_section or len(manifest_main_section) == 1: + if not manifest_mapping or len(manifest_mapping) == 1: # only a manifest version return def dget(s): - v = manifest_main_section.get(s) + v = manifest_mapping.get(s) if v and v.startswith(('%', '$', '{')): v = None return v @@ -334,7 +323,6 @@ def dget(s): vcs_url = None code_view_url = None - m_vcs_url = dget('Module-Origin') or '' if m_vcs_url.strip(): # this block comes from Gradle? diff --git a/src/packagedcode/maven.py b/src/packagedcode/maven.py index 7c9b087c34d..00e9a029a3a 100644 --- a/src/packagedcode/maven.py +++ b/src/packagedcode/maven.py @@ -9,22 +9,18 @@ import logging import os.path -from os.path import dirname -from os.path import join from pprint import pformat import attr import javaproperties -from lxml import etree +import lxml from packageurl import PackageURL from pymaven import artifact from pymaven import pom from pymaven.pom import strip_namespace -from commoncode import filetype from commoncode import fileutils from packagedcode import models -from packagedcode.models import Package from packagedcode.utils import combine_expressions from packagedcode.utils import normalize_vcs_url from packagedcode.utils import VCS_URLS @@ -41,96 +37,140 @@ logger.setLevel(logging.DEBUG) """ -Support Maven2 POMs. -Attempts to resolve Maven properties when possible. +Support for Maven POMs including resolution of variables using Maven properties +when possible. + +We have seen Maven pom in three layout syles: + +First case: a pom.xml inside a META-INF directory such as in +/META-INF/maven/log4j/log4j/pom.xml possibly with a pom.properties + +Second case: a pom.xml at the root of a package codebase development tree +possibly with a pom.properties + +Third case: a maven repo layout: the jars are side-by-side with a .pom and +there is no pom.properties check if there are side-by-side artifacts """ +# TODO: combine with jar_manifets.py + -@attr.s() -class MavenPomPackageData(models.PackageData): - default_type = 'maven' +class MavenPomXmlHandler(models.DatafileHandler): + datasource_id = 'maven_pom' + # NOTE: Maven 1.x used project.xml + path_patterns = ('*.pom', '*pom.xml',) + default_package_type = 'maven' default_primary_language = 'Java' + description = 'Apache Maven pom' + documentation_url = 'https://maven.apache.org/pom.html' - default_web_baseurl = 'https://repo1.maven.org/maven2' - default_download_baseurl = 'https://repo1.maven.org/maven2' - default_api_baseurl = 'https://repo1.maven.org/maven2' + # TODO: implment more sophistcaed assembly with META-INF/MANIFEST.MF and META-INF/LICENSE @classmethod - def get_package_root(cls, manifest_resource, codebase): - if manifest_resource.name.endswith(('pom.xml', '.pom',)): - # the root is either the parent or further up for poms stored under - # a META-INF dir - package_data = manifest_resource.package_data - if not package_data: - return manifest_resource - package_data = package_data[0] - package = cls.create(**package_data) - ns = package.namespace - name = package.name - path = 'META-INF/maven/{ns}/{name}/pom.xml'.format(**locals()) - if manifest_resource.path.endswith(path): - for ancestor in manifest_resource.ancestors(codebase): - if ancestor.name == 'META-INF': - jar_root_dir = ancestor.parent(codebase) - return jar_root_dir - - return manifest_resource.parent(codebase) - - return manifest_resource - - def repository_homepage_url(self, baseurl=default_web_baseurl): - return build_url( - group_id=self.namespace, - artifact_id=self.name, - version=self.version, - filename=None, - baseurl=baseurl) - - def repository_download_url(self, baseurl=default_download_baseurl): - qualifiers = self.qualifiers or {} - filename = build_filename( - artifact_id=self.name, - version=self.version, - extension=qualifiers.get('type') or 'jar', - classifier=qualifiers.get('classifier')) - - return build_url( - group_id=self.namespace, - artifact_id=self.name, - version=self.version, - filename=filename, - baseurl=baseurl) - - def api_data_url(self, baseurl=default_api_baseurl): - # treat the POM as "API" - filename = build_filename( - artifact_id=self.name, - version=self.version, - extension='pom', - classifier=None) - - return build_url( - group_id=self.namespace, - artifact_id=self.name, - version=self.version, - filename=filename, - baseurl=baseurl) - - def compute_normalized_license(self): - return compute_normalized_license(self.declared_license) + def is_datafile(cls, location, filetypes=tuple()): + """ + Return True if the file at location is highly likely to be a POM. + """ + if super().is_datafile(location, filetypes=filetypes): + return True + + T = contenttype.get_type(location) + if not T.is_text: + return + + maven_declarations = ( + b'http://maven.apache.org/POM/4.0.0', + b'http://maven.apache.org/xsd/maven-4.0.0.xsd', + b'', + # somehow we can still parse version 3 poms too + b'', + ) + + # check the POM version in the first 150 lines + with open(location, 'rb') as pom: + for n, line in enumerate(pom): + if n > 150: + break + if any(x in line for x in maven_declarations): + return True @classmethod - def extra_key_files(cls): - return [ - 'META-INF/MANIFEST.MF', - 'META-INF/LICENSE', - ] + def parse(cls, location, base_url='https://repo1.maven.org/maven2'): + return parse( + location=location, + datasource_id=cls.datasource_id, + package_type=cls.default_package_type, + primary_language=cls.default_primary_language, + base_url=base_url, + ) @classmethod - def extra_root_dirs(cls): - return [ - 'META-INF' - ] + def assign_package_to_resources(cls, package, resource, codebase): + """ + Set the "for_packages" attributes to ``package`` for the whole + resource tree of a ``resource`` object in the ``codebase``. + + handle the various cases where we can find a POM. + """ + + if resource.path.endswith('.pom'): + # we only treat the parent as the root + return super().assign_package_to_parent_tree(package, resource, codebase) + + # the root is either the parent or further up for poms stored under + # a META-INF dir + + # assert resource.name.endswith('pom.xml') + + root = None + if resource.path.endswith(f'META-INF/maven/{package.namespace}/{package.name}/pom.xml'): + # First case: a pom.xml inside a META-INF directory such as in + # /META-INF/maven/log4j/log4j/pom.xml: This requires going up 5 times + upward_segments = 5 + root = resource + for _ in range(upward_segments): + root = root.parent(codebase) + else: + # Second case: a pom.xml at the root of codebase tree + # FIXME: handle the cases opf parent POMs and nested POMs + root = resource.parent(codebase) + + # get a root in all cases + if not root: + root = resource.parent(codebase) + + return super().assign_package_to_resources(package, resource=root, codebase=codebase) + + @classmethod + def compute_normalized_license(cls, package): + return compute_normalized_license(declared_license=package.declared_license) + +# TODO: assemble with its pom!! +class MavenPomPropertiesHandler(models.NonAssemblableDatafileHandler): + datasource_id = 'maven_pom_properties' + path_patterns = ('*/pom.properties',) + default_package_type = 'maven' + default_primary_language = 'Java' + description = 'Apache Maven pom properties file' + documentation_url = 'https://maven.apache.org/pom.html' + + @classmethod + def parse(cls, location): + """ + Yield PackageData from a pom.properties file (which is typically side- + by-side with its pom file.) + """ + with open(location) as props: + properties = javaproperties.load(props) or {} + if TRACE: + logger.debug(f'MavenPomPropertiesHandler.parse: properties: {properties!r}') + if properties: + yield models.PackageData( + datasource_id=cls.datasource_id, + type=cls.package_type, + primary_language=cls.primary_language, + extra_data=dict(pom_properties=properties) + ) def compute_normalized_license(declared_license): @@ -140,6 +180,8 @@ def compute_normalized_license(declared_license): if not declared_license: return + # FIXME: declared_license add top comment to declared license as it often + # contains extra detected_licenses = [] for license_declaration in declared_license: @@ -195,29 +237,35 @@ def compute_normalized_license(declared_license): return combine_expressions(detected_licenses) -def build_url(group_id, artifact_id, version, filename, baseurl='http://repo1.maven.org/maven2'): +def build_url( + group_id, + artifact_id, + version, + filename=None, + base_url='https://repo1.maven.org/maven2', +): """ - Return a download URL for a Maven artifact built from its coordinates. + Return a download URL for a Maven artifact built from its POM "coordinates". """ filename = filename or '' if group_id: group_id = group_id.replace('.', '/') - path = '{group_id}/{artifact_id}/{version}'.format(**locals()) + path = f'{group_id}/{artifact_id}/{version}' else: - path = '{artifact_id}/{version}'.format(**locals()) + path = f'{artifact_id}/{version}' - return '{baseurl}/{path}/{filename}'.format(**locals()) + return f'{base_url}/{path}/{filename}' -def build_filename(artifact_id, version, extension, classifier): +def build_filename(artifact_id, version, extension, classifier=None): """ Return a filename for a Maven artifact built from its coordinates. """ extension = extension or '' classifier = classifier or '' if classifier: - classifier = '-' + classifier - return '{artifact_id}-{version}{classifier}.{extension}'.format(**locals()) + classifier = f'-{classifier}' + return f'{artifact_id}-{version}{classifier}.{extension}' class ParentPom(artifact.Artifact): @@ -227,7 +275,7 @@ class ParentPom(artifact.Artifact): """ def __init__(self, coordinate): - super(ParentPom, self).__init__(coordinate) + super().__init__(coordinate) # add empty, pom.Pom-class-like empty attributes self.client = None @@ -253,13 +301,13 @@ def to_dict(self): """ Return a mapping representing this POM """ - return dict([ - ('group_id', self.group_id), - ('artifact_id', self.artifact_id), - ('version', str(self.version) if self.version else None), - ('classifier', self.classifier), - ('type', self.type), - ]) + return { + 'group_id': self.group_id, + 'artifact_id': self.artifact_id, + 'version': str(self.version) if self.version else None, + 'classifier': self.classifier, + 'type': self.type, + } class MavenPom(pom.Pom): @@ -283,11 +331,11 @@ def __init__(self, location=None, text=None): if TRACE: logger.debug('MavenPom.__init__: xml_text: {}'.format(xml_text)) - self._pom_data = etree.fromstring(xml_text, parser=pom.POM_PARSER) + self._pom_data = lxml.etree.fromstring(xml_text, parser=pom.POM_PARSER) # NOQA # collect and then remove XML comments from the XML elements tree self.comments = self._get_comments() - etree.strip_tags(self._pom_data, etree.Comment) + lxml.etree.strip_tags(self._pom_data, lxml.etree.Comment) # NOQA # FIXME: we do not use a client for now. # There are pending issues at pymaven to address this @@ -833,17 +881,17 @@ def has_basic_pom_attributes(pom): return basics -def get_maven_pom(location=None, text=None, check_is_pom=False, extra_properties=None): +def get_maven_pom(location=None): """ Return a MavenPom object from a POM file at `location` or provided as a `text` string. """ - if location and check_is_pom and not PomXml.is_package_data_file(location): - return - pom = MavenPom(location, text) - if not extra_properties: - extra_properties = {} + pom = MavenPom(location=location) + + extra_properties = {} + # do we have a pom.properties file side-by-side? + # FIXME: we should treat pom.properties as a datafile if location and os.path.exists(location): parent = fileutils.parent_directory(location) pom_properties = os.path.join(parent, 'pom.properties') @@ -851,14 +899,15 @@ def get_maven_pom(location=None, text=None, check_is_pom=False, extra_properties with open(pom_properties) as props: properties = javaproperties.load(props) or {} if TRACE: - logger.debug('_get_mavenpom: properties: {}'.format(repr(properties))) + logger.debug(f'get_maven_pom: properties: {properties!r}') extra_properties.update(properties) pom.resolve(**extra_properties) # TODO: we cannot do much without these?? - if check_is_pom and not has_basic_pom_attributes(pom): + hbpa = has_basic_pom_attributes(pom) + + if not hbpa: if TRACE: - logger.debug('_get_mavenpom: has_basic_pom_attributes: {}'.format( - has_basic_pom_attributes(pom))) + logger.debug(f'get_maven_pom: has_basic_pom_attributes: {hbpa}') return return pom @@ -984,144 +1033,170 @@ def get_parties(pom): return parties -@attr.s() -class MavenPackage(MavenPomPackageData, models.Package): +def get_urls(namespace, name, version, qualifiers, base_url='https://repo1.maven.org/maven2'): """ - A Maven Package that is created out of one/multiple maven package - manifests and package-like data, with it's files. + Return a mapping of URLs. """ + if not namespace or not name: + return {} + repository_homepage_url = build_url( + group_id=namespace, + artifact_id=name, + version=version, + base_url=base_url, + ) + + qualifiers = qualifiers or {} + filename = build_filename( + artifact_id=name, + version=version, + extension=qualifiers.get('type') or 'jar', + classifier=qualifiers.get('classifier'), + ) + + repository_download_url = build_url( + group_id=namespace, + artifact_id=name, + version=version, + filename=filename, + base_url=base_url, + ) + + # treat the POM as "API" + pom_filename = build_filename( + artifact_id=name, + version=version, + extension='pom', + ) + + api_data_url = build_url( + group_id=namespace, + artifact_id=name, + version=version, + filename=pom_filename, + base_url=base_url, + ) + + return dict( + repository_homepage_url=repository_homepage_url, + repository_download_url=repository_download_url, + api_data_url=api_data_url, + ) + + +def parse( + location, + datasource_id, + package_type, + primary_language, + base_url='https://repo1.maven.org/maven2', +): + """ + Yield Packagedata objects from parsing a Maven pom file at `location` or + using the provided `text` (one or the other but not both). + """ + pom = get_maven_pom(location=location) - @property - def manifests(self): - return [ - PomXml - ] - - -@attr.s() -class PomXml(MavenPomPackageData, models.PackageDataFile): - - file_patterns = ('*.pom', 'pom.xml',) - extensions = ('.pom',) - - @classmethod - def is_package_data_file(cls, location): - """ - Return True if the file at location is highly likely to be a POM. - """ - if (not filetype.is_file(location) - or not location.endswith(('.pom', 'pom.xml', 'project.xml',))): - - if TRACE: logger.debug('is_pom: not a POM on name: {}'.format(location)) - return - - T = contenttype.get_type(location) - if T.is_text: - - # check the POM version in the first 150 lines - with open(location, 'rb') as pom: - for n, line in enumerate(pom): - if n > 150: - break - if any(x in line for x in - (b'http://maven.apache.org/POM/4.0.0', - b'http://maven.apache.org/xsd/maven-4.0.0.xsd', - b'', - # somehow we can still parse version 3 poms too - b'',) - ): - return True - - if TRACE: logger.debug('is_pom: not a POM based on type: {}: {}'.format(T, location)) - - @classmethod - def recognize(cls, location, text=None, check_is_pom=True, extra_properties=None): - """ - Yield one or more PomXml objects or None. - - Parse a pom file at `location` or using the provided `text` (one or - the other but not both). - Check if the location is a POM if `check_is_pom` is True. - When resolving the POM, use an optional `extra_properties` mapping - of name/value pairs to resolve properties. - """ - pom = get_maven_pom(location, text, check_is_pom, extra_properties) - if not pom: - return - - if TRACE: - logger.debug('parse: pom:.to_dict()\n{}'.format(pformat(pom.to_dict()))) - - version = pom.version - # pymaven whart - if version == 'latest.release': - version = None - - qualifiers = {} - classifier = pom.classifier - if classifier: - qualifiers['classifier'] = classifier - - packaging = pom.packaging - if packaging: - extension = get_extension(packaging) - if extension and extension not in ('jar', 'pom'): - # we use type as in the PURL spec: this is a problematic field with - # complex defeinition in Maven - qualifiers['type'] = extension - - declared_license = pom.licenses - - source_packages = [] - # TODO: what does this mean???? - if not classifier and all([pom.group_id, pom.artifact_id, version]): - spurl = PackageURL( - type=MavenPomPackageData.default_type, - namespace=pom.group_id, - name=pom.artifact_id, - version=version, - # we hardcode the source qualifier for now... - qualifiers=dict(classifier='sources')) - source_packages = [spurl.to_string()] - - pname = pom.name or '' - pdesc = pom.description or '' - if pname == pdesc: - description = pname - else: - description = [d for d in (pname, pdesc) if d] - description = '\n'.join(description) + if not pom: + return - issue_mngt = pom.issue_management or {} - bug_tracking_url = issue_mngt.get('url') + if TRACE: + ptd = pformat(pom.to_dict()) + logger.debug(f'PomXmlHandler.parse: pom:.to_dict()\n{ptd}') - scm = pom.scm or {} - vcs_url, code_view_url = build_vcs_and_code_view_urls(scm) + version = pom.version + # pymaven whart + if version == 'latest.release': + version = None - # FIXME: there are still other data to map in a Package - yield cls( - namespace=pom.group_id, - name=pom.artifact_id, + qualifiers = {} + classifier = pom.classifier + if classifier: + qualifiers['classifier'] = classifier + + packaging = pom.packaging + if packaging: + extension = get_extension(packaging) + if extension and extension not in ('jar', 'pom'): + # we use type as in the PURL spec: this is a problematic field with + # complex defeinition in Maven + qualifiers['type'] = extension + + declared_license = pom.licenses + + group_id = pom.group_id + artifact_id = pom.artifact_id + + # craft a source package purl for the main binary + source_packages = [] + is_main_binary_jar = not classifier and all([group_id, artifact_id, version]) + if is_main_binary_jar: + spurl = PackageURL( + type=package_type, + namespace=group_id, + name=artifact_id, version=version, - qualifiers=qualifiers or None, - description=description or None, - homepage_url=pom.url or None, - declared_license=declared_license or None, - parties=get_parties(pom), - dependencies=get_dependencies(pom), - source_packages=source_packages, - bug_tracking_url=bug_tracking_url, - vcs_url=vcs_url, - code_view_url=code_view_url, - ) - + # we hardcode the source qualifier for now... + qualifiers=dict(classifier='sources')) + source_packages = [spurl.to_string()] + + pname = pom.name or '' + pdesc = pom.description or '' + if pname == pdesc: + description = pname + else: + description = [d for d in (pname, pdesc) if d] + description = '\n'.join(description) + + issue_mngt = pom.issue_management or {} + bug_tracking_url = issue_mngt.get('url') + + scm = pom.scm or {} + urls = build_vcs_and_code_view_urls(scm) + urls.update(get_urls( + namespace=group_id, + name=artifact_id, version=version, + qualifiers=qualifiers, + base_url=base_url, + )) + + # FIXME: there are still other data to map in a PackageData + package_data = models.PackageData( + datasource_id=datasource_id, + type=package_type, + primary_language=primary_language, + namespace=group_id, + name=artifact_id, + version=version, + qualifiers=qualifiers or None, + description=description or None, + homepage_url=pom.url or None, + declared_license=declared_license or None, + parties=get_parties(pom), + dependencies=get_dependencies(pom), + source_packages=source_packages, + bug_tracking_url=bug_tracking_url, + **urls, + ) + + if not package_data.license_expression and package_data.declared_license: + package_data.license_expression = models.compute_normalized_license(package_data.declared_license) + + yield package_data def build_vcs_and_code_view_urls(scm): """ - Return a proper vcs_url and code_view_url from a Maven `scm` mapping or None. + Return a mapping of vcs_url and code_view_url from a Maven `scm` mapping. For example: - >>> scm = dict(connection='scm:git:git@github.com:histogrammar/histogrammar-scala.git', tag='HEAD', url='https://github.com/histogrammar/histogrammar-scala') + >>> scm = dict( + ... connection='scm:git:git@github.com:histogrammar/histogrammar-scala.git', + ... tag='HEAD', + ... url='https://github.com/histogrammar/histogrammar-scala') + >>> expected = { + ... 'vcs_url': 'git+https://github.com/histogrammar/histogrammar-scala.git', + ... 'code_view_url': 'https://github.com/histogrammar/histogrammar-scala'} + >>> assert build_vcs_and_code_view_urls(scm) == expected """ vcs_url = scm.get('connection') or None @@ -1136,14 +1211,14 @@ def build_vcs_and_code_view_urls(scm): if code_view_url: # we can craft a vcs_url in some cases vcs_url = code_view_url - return vcs_url, code_view_url + return dict(vcs_url=vcs_url, code_view_url=code_view_url,) vcs_url = parse_scm_connection(vcs_url) # TODO: handle tag # vcs_tag = scm.get('tag') - return vcs_url, code_view_url + return dict(vcs_url=vcs_url, code_view_url=code_view_url,) def parse_scm_connection(scm_connection): @@ -1180,59 +1255,6 @@ def parse_scm_connection(scm_connection): return vcs_url -class MavenRecognizer(object): - """ - A package recognizer for Maven-based packages. - """ - - def __init__(self): - return NotImplementedError() - - def recon(self, location): - for f in os.listdir(location): - loc = join(location, f) - if not filetype.is_file(loc): - continue - # a pom is an xml doc - if not PomXml.is_package_data_file(location): - continue - - if f == 'pom.xml': - # first case: a maven pom.xml inside a META-INF directory - # such as in META-INF/maven/log4j/log4j/pom.xml - # the directory tree has a fixed depth - # as is: META-INF/maven/groupid/artifactid/pom.xml - # this will typically be inside a binary jar, so we should find - # a typical structure above - try: - gggp = dirname(dirname(dirname(dirname(loc)))) - if fileutils.file_name(gggp) == 'META-INF': - # recon here: the root of the component is the parent of - # META-INF, return that, with a type and the POM - # manifest to parse. - pass - except: - pass - - # second case: a maven pom.xml at the root of component - # development tree we should find a few extra clues in the - # conventional directory structure below for now we take this as - # being the component root. return that, with a type and the POM - # manifest to parse. - - pass - elif f.endswith('.pom'): - # first case: a maven repo layout - # the jars are side-by-side with the pom - # check if there are side-by-side artifacts - jar = loc.replace('.pom', '.jar') - if os.path.exists(jar): - # return that, with a type and the POM manifest to parse. - pass - - # second case: a maven .pom nested in META-INF - - def get_extension(packaging): """ We only care for certain artifacts extension/packaging/classifier. diff --git a/src/packagedcode/misc.py b/src/packagedcode/misc.py new file mode 100644 index 00000000000..a3ba060258d --- /dev/null +++ b/src/packagedcode/misc.py @@ -0,0 +1,293 @@ +# +# Copyright (c) nexB Inc. and others. All rights reserved. +# ScanCode is a trademark of nexB Inc. +# SPDX-License-Identifier: Apache-2.0 +# See http://www.apache.org/licenses/LICENSE-2.0 for the license text. +# See https://github.com/nexB/scancode-toolkit for support or download. +# See https://aboutcode.org for more information about nexB OSS projects. +# + +from packagedcode import models + +""" +Various package data file formats to implment. +""" + +# Package types +# NOTE: this is somewhat redundant with extractcode archive handlers +# yet the purpose and semantics are rather different here + +# TODO: parse me!!! +# TODO: add missing URLs and descriptions + + +class JavaJarHandler(models.NonAssemblableDatafileHandler): + datasource_id = 'java_jar' + # NOTE: there are a few rare cases where a .zip can be a JAR. + path_patterns = ('*.jar',) + filetypes = ('zip archive', 'java archive',) + description = 'JAR Java Archive' + documentation_url = 'https://en.wikipedia.org/wiki/JAR_(file_format)' + + +class IvyXmlHandler(models.NonAssemblableDatafileHandler): + datasource_id = 'ant_ivy_xml' + path_patterns = ('*/ivy.xml',) + default_package_type = 'ivy' + default_primary_language = 'Java' + description = 'Ant IVY dependency file' + documentation_url = 'https://ant.apache.org/ivy/history/latest-milestone/ivyfile.html' + + +class JavaWarHandler(models.NonAssemblableDatafileHandler): + datasource_id = 'java_war_archive' + path_patterns = ('*.war',) + filetypes = ('zip archive',) + default_package_type = 'war' + default_primary_language = 'Java' + description = 'Java Web Application Archive' + documentation_url = 'https://en.wikipedia.org/wiki/WAR_(file_format)' + + +class JavaWarWebXmlHandler(models.NonAssemblableDatafileHandler): + datasource_id = 'java_war_web_xml' + path_patterns = ('*/WEB-INF/web.xml',) + filetypes = ('zip archive',) + default_package_type = 'war' + default_primary_language = 'Java' + description = 'Java WAR web/xml' + documentation_url = 'https://en.wikipedia.org/wiki/WAR_(file_format)' + + +class JavaEarHandler(models.NonAssemblableDatafileHandler): + datasource_id = 'java_ear_archive' + default_package_type = 'ear' + default_primary_language = 'Java' + path_patterns = ('*.ear',) + filetypes = ('zip archive',) + description = 'Java EAR Enterprise application archive' + documentation_url = 'https://en.wikipedia.org/wiki/EAR_(file_format)' + + +class JavaEarAppXmlHandler(models.NonAssemblableDatafileHandler): + datasource_id = 'java_ear_application_xml' + default_package_type = 'ear' + default_primary_language = 'Java' + path_patterns = ('*/META-INF/application.xml',) + description = 'Java EAR application.xml' + documentation_url = 'https://en.wikipedia.org/wiki/EAR_(file_format)' + + +class Axis2MarModuleXmlHandler(models.NonAssemblableDatafileHandler): + datasource_id = 'axis2_module_xml' + path_patterns = ('*/meta-inf/module.xml',) + default_package_type = 'axis2' + default_primary_language = 'Java' + description = 'Apache Axis2 module.xml' + documentation_url = 'https://axis.apache.org/axis2/java/core/docs/modules.html' + + +class Axis2MarArchiveHandler(models.NonAssemblableDatafileHandler): + datasource_id = 'axis2_mar' + path_patterns = ('*.mar',) + filetypes = ('zip archive',) + default_package_type = 'axis2' + default_primary_language = 'Java' + description = 'Apache Axis2 module archive' + documentation_url = 'https://axis.apache.org/axis2/java/core/docs/modules.html' + + +class JBossSarHandler(models.NonAssemblableDatafileHandler): + datasource_id = 'jboss_sar' + path_patterns = ('*.sar',) + filetypes = ('zip archive',) + default_package_type = 'jboss-service' + default_primary_language = 'Java' + description = 'JBOSS service archive' + documentation_url = 'https://docs.jboss.org/jbossas/docs/Server_Configuration_Guide/4/html/ch02s01.html' + + +class JBossServiceXmlHandler(models.NonAssemblableDatafileHandler): + datasource_id = 'jboss_service_xml' + path_patterns = ('*/meta-inf/jboss-service.xml',) + default_package_type = 'jboss-service' + default_primary_language = 'Java' + description = 'JBOSS service.xml' + documentation_url = 'https://docs.jboss.org/jbossas/docs/Server_Configuration_Guide/4/html/ch02s01.html' + + +class MeteorPackageHandler(models.NonAssemblableDatafileHandler): + datasource_id = 'meteor_package' + path_patterns = ('*/package.js',) + default_package_type = 'meteor' + default_primary_language = 'JavaScript' + description = 'Meteor package.js' + documentation_url = 'https://docs.meteor.com/api/packagejs.html' + + +class CpanManifestHandler(models.NonAssemblableDatafileHandler): + datasource_id = 'cpan_manifest' + path_patterns = ('*/MANIFEST',) + default_package_type = 'cpan' + default_primary_language = 'Perl' + description = 'CPAN Perl module MANIFEST' + documentation_url = 'https://metacpan.org/pod/Module::Manifest' + + +class CpanMakefilePlHandler(models.NonAssemblableDatafileHandler): + datasource_id = 'cpan_makefile' + path_patterns = ('*/Makefile.PL',) + default_package_type = 'cpan' + default_primary_language = 'Perl' + description = 'CPAN Perl Makefile.PL' + documentation_url = 'https://www.perlmonks.org/?node_id=128077' + +# http://blogs.perl.org/users/neilb/2017/04/an-introduction-to-distribution-metadata.html +# Version 2+ data is what you’ll find in META.json +# Version 1.4 data is what you’ll find in META.yml + + +class CpanMetaYmlHandler(models.NonAssemblableDatafileHandler): + datasource_id = 'cpan_meta_yml' + path_patterns = ('*/META.yml',) + default_package_type = 'cpan' + default_primary_language = 'Perl' + description = 'CPAN Perl META.yml' + documentation_url = 'https://metacpan.org/pod/CPAN::Meta::YAML' + + +class CpanMetaJsonHandler(models.NonAssemblableDatafileHandler): + datasource_id = 'cpan_meta_json' + path_patterns = ('*/META.json',) + default_package_type = 'cpan' + default_primary_language = 'Perl' + description = 'CPAN Perl META.json' + documentation_url = 'https://metacpan.org/pod/Parse::CPAN::Meta' + + +class CpanDistIniHandler(models.NonAssemblableDatafileHandler): + datasource_id = 'cpan_dist_ini' + path_patterns = ('*/dist.ini',) + default_package_type = 'cpan' + default_primary_language = 'Perl' + description = 'CPAN Perl dist.ini' + documentation_url = 'https://metacpan.org/pod/Dist::Zilla::Tutorial' + + +class AndroidAppArchiveHandler(models.NonAssemblableDatafileHandler): + datasource_id = 'android_apk' + default_package_type = 'android' + default_primary_language = 'Java' + path_patterns = ('*.apk',) + filetypes = ('zip archive',) + description = 'Android application package' + documentation_url = 'https://en.wikipedia.org/wiki/Apk_(file_format)' + + +# see http://tools.android.com/tech-docs/new-build-system/aar-formats +class AndroidLibraryHandler(models.NonAssemblableDatafileHandler): + datasource_id = 'android_aar_library' + default_package_type = 'android_lib' + default_primary_language = 'Java' + + # note: Apache Axis also uses AAR path_patterns for plain Jars. + # this could be decided based on internal structure + path_patterns = ('*.aar',) + filetypes = ('zip archive',) + + description = 'Android library archive' + documentation_url = 'https://developer.android.com/studio/projects/android-library' + + +class MozillaExtensionHandler(models.NonAssemblableDatafileHandler): + datasource_id = 'mozilla_xpi' + path_patterns = ('*.xpi',) + filetypes = ('zip archive',) + default_package_type = 'mozilla' + default_primary_language = 'JavaScript' + description = 'Mozilla XPI extension' + documentation_url = 'https://en.wikipedia.org/wiki/XPInstall' + + +class ChromeExtensionHandler(models.NonAssemblableDatafileHandler): + datasource_id = 'chrome_crx' + path_patterns = ('*.crx',) + filetypes = ('zip archive',) + default_package_type = 'chrome' + default_primary_language = 'JavaScript' + description = 'Chrome extension' + documentation_url = 'https://chrome.google.com/extensions' + + +class IosAppIpaHandler(models.NonAssemblableDatafileHandler): + datasource_id = 'ios_ipa' + default_package_type = 'ios' + default_primary_language = 'Objective-C' + path_patterns = ('*.ipa',) + filetypes = ('microsoft cabinet',) + description = 'iOS package archive' + documentation_url = 'https://en.wikipedia.org/wiki/.ipa' + + +class CabArchiveHandler(models.NonAssemblableDatafileHandler): + datasource_id = 'microsoft_cabinet' + default_package_type = 'cab' + default_primary_language = 'C' + path_patterns = ('*.cab',) + filetypes = ('microsoft cabinet',) + description = 'Microsoft cabinet archive' + documentation_url = 'https://docs.microsoft.com/en-us/windows/win32/msi/cabinet-files' + + +class InstallShieldPackageHandler(models.NonAssemblableDatafileHandler): + datasource_id = 'installshield_installer' + default_package_type = 'installshield' + path_patterns = ('*.exe',) + filetypes = ('zip installshield',) + description = 'InstallShield installer' + documentation_url = 'https://www.revenera.com/install/products/installshield' + + +class NsisInstallerHandler(models.NonAssemblableDatafileHandler): + datasource_id = 'nsis_installer' + default_package_type = 'nsis' + path_patterns = ('*.exe',) + filetypes = ('nullsoft installer',) + description = 'NSIS installer' + documentation_url = 'https://nsis.sourceforge.io/Main_Page' + + +class SharArchiveHandler(models.NonAssemblableDatafileHandler): + datasource_id = 'shar_shell_archive' + default_package_type = 'shar' + path_patterns = ('*.shar',) + filetypes = ('posix shell script',) + description = 'shell archive' + documentation_url = 'https://en.wikipedia.org/wiki/Shar' + + +class AppleDmgHandler(models.NonAssemblableDatafileHandler): + datasource_id = 'apple_dmg' + default_package_type = 'dmg' + path_patterns = ('*.dmg', '*.sparseimage',) + description = '' + documentation_url = '' + + +class IsoImageHandler(models.NonAssemblableDatafileHandler): + datasource_id = 'iso_disk_image' + default_package_type = 'iso' + path_patterns = ('*.iso', '*.udf', '*.img',) + filetypes = ('iso 9660 cd-rom', 'high sierra cd-rom',) + description = 'ISO disk image' + documentation_url = 'https://en.wikipedia.org/wiki/ISO_9660' + + +class SquashfsImageHandler(models.NonAssemblableDatafileHandler): + datasource_id = 'squashfs_disk_image' + default_package_type = 'squashfs' + filetypes = ('squashfs',) + description = 'Squashfs disk image' + documentation_url = 'https://en.wikipedia.org/wiki/SquashFS' + +# TODO: Add VM images formats(VMDK, OVA, OVF, VDI, etc) and Docker/other containers diff --git a/src/packagedcode/models.py b/src/packagedcode/models.py index 42bf0f2684a..54597410142 100644 --- a/src/packagedcode/models.py +++ b/src/packagedcode/models.py @@ -7,15 +7,16 @@ # See https://aboutcode.org for more information about nexB OSS projects. # -import fnmatch -import logging import os -import sys +import uuid +from fnmatch import fnmatchcase +import logging import attr from packageurl import normalize_qualifiers from packageurl import PackageURL +from commoncode import filetype from commoncode.datautils import choices from commoncode.datautils import Boolean from commoncode.datautils import Date @@ -23,117 +24,153 @@ from commoncode.datautils import List from commoncode.datautils import Mapping from commoncode.datautils import String -from commoncode.datautils import TriBoolean - -from commoncode import filetype -from commoncode.fileutils import file_name -from commoncode.fileutils import splitext_name +from commoncode.fileutils import as_posixpath from typecode import contenttype - """ -Data models for package information and dependencies, and also data models -for package data for abstracting the differences existing between -package formats and tools. - -A package has a somewhat fuzzy definition and is code that can be consumed and -provisioned by a package manager or can be installed. +This module contain data models for package and dependencies, abstracting and +normalizing the small differences that exist across different package types +(aka. ecosystems), manifest file formats and tools. -It can be a single file such as script; more commonly a package is stored in an -archive or directory. +A package is a unit of code that is provisioned and installable. More commonly a +package is stored in an archive and found in a package repository, though it can +be as simple as a single file such as a script or may be stored in a VCS +repository such as git. A package contains: - - information typically in a "manifest" file, - - a payload of code, doc, data. -Structured package information are found in multiple places: -- in manifest file proper (such as a Maven POM, NPM package.json and many others) -- in binaries (such as an Elf or LKM, Windows PE or RPM header). -- in code (JavaDoc tags or Python __copyright__ magic) + - package information and metadata in some "manifest" file, + - a payload such as code, documentation, or data. + + +Structured package information come in three primary kinds: -There are collectively named "manifests" in ScanCode. +- "metadata" such as a name, version or description, + +- "dependencies" on other packages either potential with version requirements or + resolved and locked with concrete versions), and + +- "build" and packaging scripts and instructions. + +Package types combine these in one or more manifest or script that we +collectively call datafiles. For instance a Maven POM XML file contains combined +metadata, dependencies and build instructions in an XML file while a pip +requirements.txt file contains only dependencies. + +These package "data" files come in many different shapes: + +- Manifest files proper such as a Maven POM, NPM package.json and several others. +- Dependency lockfiles such as pip requirements.txt or Go go.sum. +- Build scripts such as Makefile. +- Various structured or semi-structured metadata files in JSON, YAML or plain text +- Property files that supplement manifests such as a pom.properties +- Structured data headers or sections in binaries such as in an ELF, LKM or + Windows PE; or the header of an RPM archive. +- Code tags or conventional variables such JavaDoc tags or Python __copyright__ + magic variables and variable in Yocto/Bitbake. +- In JSON datafiles (or similar) fetched from registry or package repository APIs. We handle package information at two levels: -1. package data information collected in a "manifest" or similar at a file level -2. packages at the codebase level, where a package contains - one or more package data, and files for that package. +- First, we parse manifests or lockfiles in a common package data model. + +- Second, we assemble lists of top-level Package and Dependency by aggregating + the data from one or more parsed package datafiles. + +The key models defined here are: + +- PackageData: a class holding package data as parsed from a package datafile + such as a manifest or lockfile. -The second requires the first to be computed. +- Package: a class for a top level package instance with a UUID. +- Dependency: class used for a top level dependency instance with a UUID -These are case classes to extend: +- DatafileHandler: a base class for datafile handlers. Each handler can parse() + manifest file format in PackageData and can optionally assemble() packages and + dependencies. When implementing a new package type and manifest file format, + subclass DatafileHandler and implement the parse() and assemble() methods for + this package datafile format and package type. Then register this class in + ``packagedcode.PACKAGE_DATAFILE_HANDLERS``. -- PackageData: - Base class with shared package attributes and methods. -- PackageDataFile: - Mixin class that represents a specific package manifest file. -- Package: - Mixin class that represents a package that's constructed from one or more - package data. It also tracks package files. Basically a package instance. -Here is an example of the classes that would need to exist to support a new fictitious -package type or ecosystem `dummy`. +Beyond these we have a few secondary models: -- DummyPackageData(PackageData): - This class provides type wide defaults and basic implementation for type specific methods. -- DummyManifest(DummyPackageData, PackageDataFile) or DummyLockFile(DummyPackageData, PackageDataFile): - This class provides methods to recognize and parse a package manifest file format. -- DummyPackage(DummyPackageData, Package): - This class provides methods to create package instances for one or more manifests and to - collect package file paths. +- ModelMixin: the base mixin for all models with generic creation and + serialization to a dict methods. + +- Party, DependentPackage, FileReference: lists of these objects used in PackageData + +- IdentifiablePackageData: a base class for a Package-like class with a Package URL. """ SCANCODE_DEBUG_PACKAGE_API = os.environ.get('SCANCODE_DEBUG_PACKAGE_API', False) -TRACE = False or SCANCODE_DEBUG_PACKAGE_API -TRACE_MERGING = False or SCANCODE_DEBUG_PACKAGE_API +TRACE = SCANCODE_DEBUG_PACKAGE_API +TRACE_UPDATE = SCANCODE_DEBUG_PACKAGE_API def logger_debug(*args): pass logger = logging.getLogger(__name__) -if TRACE or TRACE_MERGING: - import logging - +if TRACE or TRACE_UPDATE: + import sys logging.basicConfig(stream=sys.stdout) logger.setLevel(logging.DEBUG) def logger_debug(*args): - return logger.debug(' '.join(isinstance(a, str) and a or repr(a) for a in args)) - - logger_debug = print + return logger.debug( + ' '.join(isinstance(a, str) and a or repr(a) for a in args) + ) -class BaseModel(object): +class ModelMixin: """ - Base class for all package models. + Base mixin for all package models. """ def to_dict(self, **kwargs): """ - Return an dict of primitive Python types. + Return a mapping of primitive Python types. """ return attr.asdict(self) - @classmethod - def create(cls, **kwargs): + def to_tuple(self, **kwargs): """ - Return an object built from ``kwargs``. Always ignore unknown attributes - provided in ``kwargs`` that do not exist as declared attr fields in - ``cls``. + Return a hashable tuple of primitive Python types. """ - known_attr = cls.fields() - kwargs = {k: v for k, v in kwargs.items() if k in known_attr} - return cls(**kwargs) - + return to_tuple(self.to_dict(**kwargs)) @classmethod - def fields(cls): + def from_dict(cls, mapping): """ - Return a list of field names defined on this model. + Return an object built from ``kwargs`` mapping. Always ignore unknown + attributes provided in ``kwargs`` that do not exist as declared attributes + in the ``cls`` class. """ - return list(attr.fields_dict(cls)) + known_attr = attr.fields_dict(cls) + kwargs = {k: v for k, v in mapping.items() if k in known_attr} + return cls(**kwargs) + + +def to_tuple(collection): + """ + Return a tuple of basic Python values by recursively converting a mapping + and all its sub-mappings. + For example:: + >>> to_tuple({7: [1,2,3], 9: {1: [2,6,8]}}) + ((7, (1, 2, 3)), (9, ((1, (2, 6, 8)),))) + """ + if isinstance(collection, dict): + collection = tuple(collection.items()) + assert isinstance(collection, (tuple, list)) + results = [] + for item in collection: + if isinstance(item, (list, tuple, dict)): + results.append(to_tuple(item)) + else: + results.append(item) + return tuple(results) party_person = 'person' @@ -149,8 +186,8 @@ def fields(cls): ) -@attr.s() -class Party(BaseModel): +@attr.attributes(slots=True) +class Party(ModelMixin): """ A party is a person, project or organization related to a package. """ @@ -185,43 +222,18 @@ class Party(BaseModel): help='URL to a primary web page for this party.') -@attr.s() -class BasePackageData(BaseModel): +@attr.attributes(slots=True) +class IdentifiablePackageData(ModelMixin): """ - A base identifiable package object using discrete identifying attributes as + Identifiable package data object using purl as identifying attribute as specified here https://github.com/package-url/purl-spec. + This base class is used for all package-like objects be they a manifest + or an actual package instance. """ - - # class-level attributes used to recognize a package - filetypes = tuple() - mimetypes = tuple() - extensions = tuple() - - # list of known metafiles for a package type - file_patterns = tuple() - - # Optional. Public default web base URL for package homepages of this - # package type on the default repository. - default_web_baseurl = None - - # Optional. Public default download base URL for direct downloads of this - # package type the default repository. - default_download_baseurl = None - - # Optional. Public default API repository base URL for package API calls of - # this package type on the default repository. - default_api_baseurl = None - - # Optional. Public default type for a package class. - default_type = None - - # TODO: add description of the Package type for info - # type_description = None - type = String( repr=True, label='package type', - help='Optional. A short code to identify what is the type of this ' + help='A short code to identify what is the type of this ' 'package. For instance gem for a Rubygem, docker for container, ' 'pypi for Python Wheel or Egg, maven for a Maven Jar, ' 'deb for a Debian package, etc.') @@ -229,7 +241,7 @@ class BasePackageData(BaseModel): namespace = String( repr=True, label='package namespace', - help='Optional namespace for this package.') + help='Namespace for this package.') name = String( repr=True, @@ -239,65 +251,39 @@ class BasePackageData(BaseModel): version = String( repr=True, label='package version', - help='Optional version of the package as a string.') + help='Version of the package as a string.') qualifiers = Mapping( default=None, value_type=str, converter=lambda v: normalize_qualifiers(v, encode=False), label='package qualifiers', - help='Optional mapping of key=value pairs qualifiers for this package') + help='Mapping of key=value pairs qualifiers for this package') subpath = String( label='extra package subpath', - help='Optional extra subpath inside a package and relative to the root ' + help='Subpath inside a package and relative to the root ' 'of this package') - def __attrs_post_init__(self, *args, **kwargs): - if not self.type and hasattr(self, 'default_type'): - self.type = self.default_type - @property def purl(self): """ - Return a compact purl package URL string. - """ - if not self.name: - return - return PackageURL( - self.type, self.namespace, self.name, self.version, - self.qualifiers, self.subpath).to_string() - - def repository_homepage_url(self, baseurl=default_web_baseurl): - """ - Return the package repository homepage URL for this package, e.g. the - URL to the page for this package in its package repository. This is - typically different from the package homepage URL proper. - Subclasses should override to provide a proper value. - """ - return - - def repository_download_url(self, baseurl=default_download_baseurl): - """ - Return the package repository download URL to download the actual - archive of code of this package. This may be different than the actual - download URL and is computed from the default public respoitory baseurl. - Subclasses should override to provide a proper value. + Return a compact Package URL string or None. """ - return - - def api_data_url(self, baseurl=default_api_baseurl): - """ - Return the package repository API URL to obtain structured data for this - package such as the URL to a JSON or XML api. - Subclasses should override to provide a proper value. - """ - return + if self.name: + return PackageURL( + type=self.type, + namespace=self.namespace, + name=self.name, + version=self.version, + qualifiers=self.qualifiers, + subpath=self.subpath, + ).to_string() def set_purl(self, package_url): """ - Update this Package object with the `package_url` purl string or - PackageURL attributes. + Update this object with the ``package_url`` purl string or PackageURL if + there is no pre-existing value for a given purl attribute. """ if not package_url: return @@ -305,50 +291,26 @@ def set_purl(self, package_url): if not isinstance(package_url, PackageURL): package_url = PackageURL.from_string(package_url) - attribs = ['type', 'namespace', 'name', 'version', 'qualifiers', 'subpath'] - for att in attribs: - self_val = getattr(self, att) - purl_val = getattr(package_url, att) - if not self_val and purl_val: - setattr(self, att, purl_val) + for key, value in package_url.to_dict().items(): + self_val = getattr(self, key) + if not self_val and value: + setattr(self, attr, value) def to_dict(self, **kwargs): - """ - Return an dict of primitive Python types. - """ - mapping = attr.asdict(self) - if self.name: - mapping['purl'] = self.purl - mapping['repository_homepage_url'] = self.repository_homepage_url() - mapping['repository_download_url'] = self.repository_download_url() - mapping['api_data_url'] = self.api_data_url() - else: - mapping['purl'] = None - mapping['repository_homepage_url'] = None - mapping['repository_download_url'] = None - mapping['api_data_url'] = None + mapping = super().to_dict(**kwargs) + mapping['purl'] = self.purl if self.qualifiers: mapping['qualifiers'] = normalize_qualifiers( qualifiers=self.qualifiers, encode=False, ) - return mapping - @classmethod - def create(cls, **kwargs): - """ - Return a Package built from ``kwargs``. Always ignore unknown attributes - provided in ``kwargs`` that do not exist as declared attr fields in - ``cls``. - """ - from packagedcode import get_package_class - type_cls = get_package_class(kwargs, default=cls) - return super(BasePackageData, type_cls).create(**kwargs) + return mapping -@attr.s() -class DependentPackage(BaseModel): +@attr.attributes(slots=True) +class DependentPackage(ModelMixin): """ An identifiable dependent package package object. """ @@ -363,9 +325,9 @@ class DependentPackage(BaseModel): extracted_requirement = String( repr=True, - label='dependent package version requirement', - help='A string defining version(s)requirements. Package-type specific ' - 'and as found in the lockfile/package-data.') + label='extracted version requirement', + help='String for the original version requirements and constraints. ' + 'Package-type specific and as found originally in a datafile.') # ToDo: add `vers` support. See https://github.com/nexB/univers/blob/main/src/univers/version_range.py @@ -394,77 +356,164 @@ class DependentPackage(BaseModel): resolved_package = Mapping( label='resolved package data', - help='A mapping containing the package data for this DependentPackage, ' - 'resolved from the lockfile itself or by fetching from other sources.') + help='A mapping of resolved package data for this dependent package, ' + 'either from the datafile or collected from another source. Some ' + 'lockfiles for Composer or Cargo contain extra dependency data.' + ) -@attr.s +@attr.attributes(slots=True) class Dependency(DependentPackage): + """ + Top-level dependency instance from parsed package data collected from data + files such as a package manifest or lockfile. + """ + dependency_uid = String( + label='Dependency unique id', + help='A unique identifier for this dependency instance.' + 'Consists of the dependency purl with a UUID qualifier.' + ) - dependency_uuid = String( - label='Dependency instance UUID', - help='A unique ID for dependency instances in a codebase scan.' - 'Consists of a pURL and an UUID field as a pURL qualifier.' + # TODO: should we also repeat the purl here: this may be redundant but this + # would help avoid lookups + for_package_uid = String( + label='A Package unique id', + help='The unique id of the package instance to which this dependency ' + 'file belongs. This is the purl with a uuid qualifier.' ) - for_package = String( - label='A Package UUID', - help='The UUID of the package instance to which this dependency file belongs' + datafile_path = String( + label='Path to datafile.', + help='A POSIX path string to the package datafile that describes this ' + 'dependency.' ) - lockfile = String( - label='path to a lockfile', - help='A path string from where this dependency instance was created' - 'Consists of a pURL and an UUID field as a pURL qualifier.' + datasource_id = String( + label='datasource id', + help='Datasource identifier for the source of these package data.' ) + def __attrs_post_init__(self, *args, **kwargs): + if not self.dependency_uid: + self.dependency_uid = build_package_uid(self.purl) + + @classmethod + def from_dependent_package( + cls, + dependent_package, + datafile_path, + datasource_id, + package_uid=None, + ): + """ + Return a Dependency from a ``dependent_package`` DependentPackage object + or mapping. + """ + if isinstance(dependent_package, DependentPackage): + dependent_package = dependent_package.to_dict() + else: + # make a copy + dependent_package = dict(dependent_package) + + dependent_package['datafile_path'] = datafile_path + dependent_package['datasource_id'] = datasource_id + dependent_package['for_package_uid'] = package_uid + + return cls.from_dict(dependent_package) + + @classmethod + def from_dependent_packages( + cls, + dependent_packages, + datafile_path, + datasource_id, + package_uid=None, + ): + """ + Yield Dependency objects from a ``dependent_packages`` list of + DependentPackage object or mappings found in the ``datafile_path`` with + ``datasource_id`` for the ``package_uid``. + """ + dependent_packages = dependent_packages or [] + for dependent_package in dependent_packages: + yield Dependency.from_dependent_package( + dependent_package=dependent_package, + datafile_path=datafile_path, + datasource_id=datasource_id, + package_uid=package_uid, + ) + -@attr.s() -class PackageFile(BaseModel): +@attr.attributes(slots=True) +class FileReference(ModelMixin): """ - A file that belongs to a package. + A reference to a file in a files listing from a manifest or data file. """ - path = String( - label='Path of this installed file', - help='The path of this installed file either relative to a rootfs ' - '(typical for system packages) or a path in this scan (typical ' - 'for application packages).', + label='Path of this file.', + help='The file or directory POSIX path. The actual root for this path ' + 'is specific to a datafile format. For instance it is the rootfs ' + 'root for Linux system packages.', repr=True, ) size = Integer( label='file size', - help='size of the file in bytes') + help='size of the file in bytes', + repr=False, + ) sha1 = String( label='SHA1 checksum', - help='SHA1 checksum for this file in hexadecimal') + help='SHA1 checksum for this file in hexadecimal', + repr=False, + ) md5 = String( label='MD5 checksum', - help='MD5 checksum for this file in hexadecimal') + help='MD5 checksum for this file in hexadecimal', + repr=False, + ) sha256 = String( label='SHA256 checksum', - help='SHA256 checksum for this file in hexadecimal') + help='SHA256 checksum for this file in hexadecimal', + repr=False, + ) sha512 = String( label='SHA512 checksum', - help='SHA512 checksum for this file in hexadecimal') + help='SHA512 checksum for this file in hexadecimal', + repr=False, + ) + + extra_data = Mapping( + label='extra data', + help='A mapping of arbitrary extra file reference data.', + ) + + def update(self, other): + """ + Update this reference with an other file reference only for non-empty + values. + """ + for name, value in other.to_dict().items(): + if not value: + continue + current = getattr(self, name, None) + if not current: + setattr(self, name, value) + return self -@attr.s() -class PackageData(BasePackageData): +@attr.attributes(slots=True) +class PackageData(IdentifiablePackageData): """ - A package object as represented by either data from one of its different types of - package data or that of a package instance created from one or more of these - package data, and files for that package. + The data of a given package type. This is the core model to store normalized + package data parsed from package datafiles (such as a manifest) or stored in + a top-level package. """ - # Optional. Public default type for a package class. - default_primary_language = None - primary_language = String( label='Primary programming language', help='Primary programming language',) @@ -503,19 +552,19 @@ class PackageData(BasePackageData): sha1 = String( label='SHA1 checksum', - help='SHA1 checksum for this download in hexadecimal') + help='SHA1 checksum for this package download in hexadecimal') md5 = String( label='MD5 checksum', - help='MD5 checksum for this download in hexadecimal') + help='MD5 checksum for this package download in hexadecimal') sha256 = String( label='SHA256 checksum', - help='SHA256 checksum for this download in hexadecimal') + help='SHA256 checksum for this package download in hexadecimal') sha512 = String( label='SHA512 checksum', - help='SHA512 checksum for this download in hexadecimal') + help='SHA512 checksum for this package download in hexadecimal') bug_tracking_url = String( label='bug tracking URL', @@ -551,108 +600,149 @@ class PackageData(BasePackageData): label='notice text', help='A notice text for this package.') - contains_source_code = TriBoolean( - label='contains source code', - help='Flag set to True if this package contains its own source code, None ' - 'if this is unknown, False if not.') - source_packages = List( - item_type=String, - label='List of related source code packages', + item_type=str, + label='List of related source code package purls', help='A list of related source code Package URLs (aka. "purl") for ' 'this package. For instance an SRPM is the "source package" for a ' - 'binary RPM.') - - installed_files = List( - item_type=PackageFile, - label='installed files', - help='List of files installed by this package.') + 'binary RPM.' + ) + + file_references = List( + item_type=FileReference, + label='referenced files', + help='List of file paths and details for files referenced in a package ' + 'manifest. These may not actually exist on the filesystem. ' + 'The exact semantics and base of these paths is specific to a ' + 'package type or datafile format.' + ) extra_data = Mapping( label='extra data', - help='A mapping of arbitrary extra Package data.') + help='A mapping of arbitrary extra package data.', + ) - def __attrs_post_init__(self, *args, **kwargs): - if not self.type and hasattr(self, 'default_type'): - self.type = self.default_type + dependencies = List( + item_type=DependentPackage, + label='dependencies', + help='A list of DependentPackage for this package.' + ) - if not self.primary_language and hasattr(self, 'default_primary_language'): - self.primary_language = self.default_primary_language + repository_homepage_url = String( + label='package repository homepage URL.', + help='URL to the page for this package in its package repository. ' + 'This is typically different from the package homepage URL proper.' + ) + + repository_download_url = String( + label='package repository download URL.', + help='download URL to download the actual archive of code of this ' + 'package in its package repository. ' + 'This may be different from the actual download URL.' + ) + + api_data_url = String( + label='package repository API URL.', + help='API URL to obtain structured data for this package such as the ' + 'URL to a JSON or XML api its package repository.' + ) + + datasource_id = String( + label='datasource id', + help='Datasource identifier for the source of these package data.', + repr=True, + ) - @classmethod - def get_package_resources(cls, package_root, codebase): - """ - Yield the Resources of a Package starting from `package_root` - """ - if not cls.is_ignored_package_resource(package_root, codebase): - yield package_root - for resource in package_root.walk(codebase, topdown=True, ignored=cls.is_ignored_package_resource): - yield resource + def to_dict(self, with_details=True, **kwargs): + mapping = super().to_dict(with_details=with_details, **kwargs) + if not with_details: + # these are not used in the Package subclass + mapping.pop('file_references', None) + mapping.pop('dependencies', None) + mapping.pop('datasource_id', None) + + return mapping @classmethod - def ignore_resource(cls, resource, codebase): + def from_dict(cls, mapping): """ - Return True if `resource` should be ignored. + Return an instance of PackageData built from a ``mapping`` native Python + data. Known attributes that store a list of objects are also + "rehydrated" (such as models.Party). + + Unknown attributes provided in ``mapping`` that do not exist as fields + in the class are kept as items in the extra_data mapping. An Exception + is raised if an "unknown attribute" name already exists as an extra_data + name. """ - return False + # TODO: consider using a proper library for this such as cattrs, + # marshmallow, etc. or use the field type that we declare. - @staticmethod - def is_ignored_package_resource(resource, codebase): - from packagedcode import PACKAGE_DATA_CLASSES - return any(pt.ignore_resource(resource, codebase) for pt in PACKAGE_DATA_CLASSES) + # Each of these are lists of class instances tracked here, which are stored + # as a list of mappings in scanc_data - def compute_normalized_license(self): - """ - Return a normalized license_expression string using the declared_license - field. Return 'unknown' if there is a declared license but it cannot be - detected and return None if there is no declared license + # these are computed attributes serialized on a package + # that should not be recreated when de-serializing + computed_attributes = set(['purl', ]) - Subclasses can override to handle specifics such as supporting specific - license ids and conventions. - """ - return compute_normalized_license(self.declared_license) + fields_by_name = attr.fields_dict(cls) - @classmethod - def extra_key_files(cls): - """ - Return a list of extra key file paths (or path glob patterns) beyond - standard, well known key files for this Package. List items are strings - that are either paths or glob patterns and are relative to the package - root. + extra_data = mapping.get('extra_data', {}) or {} + package_data = {} - Knowing if a file is a "key-file" file is important for classification - and summarization. For instance, a JAR can have key files that are not - top level under the META-INF directory. Or a .gem archive contains a - metadata.gz file. + list_fields_by_item = { + 'parties': Party, + 'dependencies': DependentPackage, + 'file_references': FileReference, + } - Sub-classes can implement as needed. - """ - return [] + for name, value in mapping.items(): + if not value: + continue - @classmethod - def extra_root_dirs(cls): - """ - Return a list of extra package root-like directory paths (or path glob - patterns) that should be considered to determine if a files is a top - level file or not. List items are strings that are either paths or glob - patterns and are relative to the package root. + if name in computed_attributes: + continue - Knowing if a file is a "top-level" file is important for classification - and summarization. + field = fields_by_name.get(name) + if not field: + # keep unknown fields as extra data + if name not in extra_data: + extra_data[name] = value + continue + else: + raise Exception( + f'Invalid package "scan_data" with duplicated name: {name!r}={value!r} ' + f'present both as attribute AND as extra_data: {name!r}={extra_data[name]!r}' + ) - Sub-classes can implement as needed. - """ - return [] + # re-hydrate lists of typed objects + list_item_type = is_list_field = list_fields_by_item.get(name) - def to_dict(self, _detailed=False, **kwargs): - data = super().to_dict(**kwargs) - if _detailed: - data['installed_files'] = [ - istf.to_dict() for istf in (self.installed_files or []) - ] - else: - data.pop('installed_files', None) - return data + if is_list_field: + items = list(_rehydrate_list(cls=list_item_type, values=value)) + package_data[name] = items + else: + # this is a plain, non-nested field + package_data[name] = value + + return super().from_dict(package_data) + + +def _rehydrate_list(cls, values): + """ + Yield ``cls`` objects built from a ``values`` list of mappings. + """ + # Since we have a list_item_type, value must be a list of mappings: + # we transform it in a list of objects. + base_msg = 'Invalid package "scan_data "with unknown data structure.' + if not isinstance(values, list) and not all(isinstance(v, dict) for v in values): + raise Exception( + f'{base_msg}. Expected the value to be a list of dicts and not: ' + f'{type(values)!r} for class: {cls!r}' + ) + + for val in values: + yield cls.from_dict(val) def compute_normalized_license(declared_license, expression_symbols=None): @@ -664,6 +754,9 @@ def compute_normalized_license(declared_license, expression_symbols=None): Use the ``expression_symbols`` mapping of {lowered key: LicenseSymbol} if provided. Otherwise use the standard SPDX license symbols. """ + # Ensure declared license is always a string + if not isinstance(declared_license, str): + declared_license = repr(declared_license) if not declared_license: return @@ -674,603 +767,568 @@ def compute_normalized_license(declared_license, expression_symbols=None): query_string=declared_license, expression_symbols=expression_symbols ) - except Exception: - # FIXME: add logging + except Exception as e: # we never fail just for this + if TRACE: + logger_debug(f'Failed to compute license for {declared_license!r}: {e!r}') + # FIXME: add logging return 'unknown' -@attr.s -class PackageDataFile: +class DatafileHandler: """ - A mixin for package manifests, lockfiles and other package data files - that can be recognized. + A base handler class to handle any package manifests, lockfiles and data + files. Each subclass handles a package datafile format to parse datafiles + and assemble Package and Depdencies from these: + + - parses a datafile format and yields package data. - When creating a new package data, a class should be created that extends - both PackageDataFile and PackageData. + - assembles this datafile package data in top-level packages and dependencies + - assigns package files to their package """ - dependencies = List( - item_type=DependentPackage, - label='dependencies', - help='A list of DependentPackage for this package. ') + # A string to uniquely identify the datasource of this parser. Every parser + # must fill this with a unique and descriptive string if (unique ignoring + # case). Must be a valid Python identifier: must start with an ASCII letter, + # can only contain ASCII letters, digits and underscore. Must be lowercase + datasource_id = None + + # Sequence of known fnmatch-style case-insensitive glob patterns (e.g., Unix + # shell style patterns) that apply on the whole POSIX path for package + # datafiles recognized and parsed by this parser. See fnmatch.fnmatch(). + # * matches everything + # ? matches any single character + # Used by the default is_datafile() method. If not using this, a subclass + # must override is_datafile() + path_patterns = tuple() + + # Sequence of file types fragments: one of these must be contained in the + # resource filetype + filetypes = tuple() + # Informational: Default package type for this parser. Some parsers may + # yield more than one package type + default_package_type = None - # class-level attributes used to recognize a package - filetypes = tuple() - mimetypes = tuple() - extensions = tuple() + # Informational: Default primary language for this parser. + default_primary_language = None - # list of known file_patterns for a package manifest type - file_patterns = tuple() + # Informational: Description of this parser + description = None - @property - def package_data_type(self): + # Informational: URL that documents this file format + documentation_url = None + + @classmethod + def is_datafile(cls, location, filetypes=tuple(), _bare_filename=False): """ - A tuple unique across package data, created from the default package type - and the manifest type. + Return True if the file at ``location`` is likely a package data file + that this parser can handle. This implementation is based on: + + - matching the ``location`` as a whole with any one of the + ``path_patterns`` sequence of patterns defined as a class attributes. + The path patterns are for POSIX paths. + + - if defined, ensuring that the filetype of the file at ``location`` + contains any of the type listed in the ``filetypes`` class attribute. + + - ``_bare_filename`` is for testing using a bare path that does not + point to real files. + Subclasses can override to implement more complex data file recognition. """ - return self.default_type, self.manifest_type() + if filetype.is_file(location) or _bare_filename: + loc = as_posixpath(location) + if any(fnmatchcase(loc, pat) for pat in cls.path_patterns): + filetypes = filetypes or cls.filetypes + if not filetypes: + return True + else: + T = contenttype.get_type(location) + actual_type = T.filetype_file.lower() + return any(ft in actual_type for ft in filetypes) @classmethod - def manifest_type(cls): - return f"{cls.__module__}.{cls.__qualname__}" + def parse(cls, location): + """ + Yield one or more PackageData objects given a package data file at + ``location``. - @classmethod - def is_package_data_file(cls, location): + Subclasses must implement and are responsible for returning proper + computed license fields and list of resources and files. """ - Return True if the file at ``location`` is likely a manifest/lockfile/other - package data file of this type. + raise NotImplementedError - Sub-classes should override to implement their own package data file recognition. + @classmethod + def assemble(cls, package_data, resource, codebase): """ - if not filetype.is_file(location): - return + Given a ``package_data`` PackageData found in the ``resource`` datafile + of the ``codebase``, assemble package their files and dependencies + from one or more datafiles. - filename = file_name(location) + Update ``codebase`` Resources with the package they are for. - file_patterns = cls.file_patterns - if any(fnmatch.fnmatchcase(filename, metaf) for metaf in file_patterns): - return True + Yield items that can be of these types: - T = contenttype.get_type(location) - ftype = T.filetype_file.lower() - mtype = T.mimetype_file + - a Package to add to top-level packages with its list of Files. + - Resources that have been handled --such as this datafiles-- that should + not be further processed, + - a Dependency to add to top-level dependencies - _base_name, extension = splitext_name(location, is_file=True) - extension = extension.lower() + The approach is to find and process all the neighboring related datafiles + to this datafile at once. - if TRACE: - logger_debug( - 'is_manifest: ftype:', ftype, 'mtype:', mtype, - 'pygtype:', T.filetype_pygment, - 'fname:', filename, 'ext:', extension, + The default implementation handles this datafile only: + + - It does not include other related datafiles and manifests. + - It considers only this datafile as a package file + - It returns only this datafile resource as having been processed + + Subclasses should override to implement more complex cases where + multiple datafiles are combined and some files can be ignored. + """ + datafile_path = resource.path + # do we have enough to create a package? + if package_data.purl: + package = Package.from_package_data( + package_data=package_data, + datafile_path=datafile_path, ) + package_uid = package.package_uid - type_matched = False - if cls.filetypes: - type_matched = any(t in ftype for t in cls.filetypes) - - mime_matched = False - if cls.mimetypes: - mime_matched = any(m in mtype for m in cls.mimetypes) - - extension_matched = False - extensions = cls.extensions - if extensions: - extensions = (e.lower() for e in extensions) - extension_matched = any( - fnmatch.fnmatchcase(extension, ext_pat) - for ext_pat in extensions + if not package.license_expression: + package.license_expression = cls.compute_normalized_license(package) + + cls.assign_package_to_resources( + package=package, + resource=resource, + codebase=codebase, ) - if type_matched and mime_matched and extension_matched: - return True + yield package + else: + # we have no package, so deps are not for a specific package uid + package_uid = None + + # in all cases yield possible dependencies + dependent_packages = package_data.dependencies + if dependent_packages: + yield from Dependency.from_dependent_packages( + dependent_packages=dependent_packages, + datafile_path=datafile_path, + datasource_id=package_data.datasource_id, + package_uid=package_uid, + ) + # we yield this as we do not want this further processed + yield resource @classmethod - def recognize(cls, location): + def compute_normalized_license(cls, package): """ - Yield one or more PackageData objects given a file at `location` - pointing to a package archive, manifest, lockfile or other package data. + Return a computed license expression string or None given a ``package`` + Package object. - Sub-classes should override to implement their own package recognition and creation. - - This should be called on the file at `location` only if `is_manifest` function - of the same class returns True. + Called only when using the default assemble() implementation. + Subclass can override as needed. """ - raise NotImplementedError - + if package.declared_license and not package.license_expression: + try: + license_expression = compute_normalized_license(package.declared_license) + except Exception: + if SCANCODE_DEBUG_PACKAGE_API: + raise + license_expression = 'unknown' -@attr.s() -class Package: - """ - A package mixin as represented by its package data, files and data - from its package data. Here package obviously represents a package - instance. + if TRACE: + logger_debug(f' compute_normalized_license: license_expression: {license_expression}') - Subclasses must extend a Package subclass for a given ecosystem. - """ + return license_expression - package_uuid = String( - label='Package instance UUID', - help='A unique ID for package instances in a codebase scan.' - 'Consists of a pURL and an UUID field as a pURL qualifier.' - ) + @classmethod + def assign_package_to_resources(cls, package, resource, codebase): + """ + Set the "for_packages" attributes to ``package`` given a + starting ``resource`` in the ``codebase``. - package_data_files = List( - item_type=String, - label='Package data paths', - help='List of package data file paths for this package' - ) + This default implementation assigns the package to the whole + ``resource`` tree. Since ``resource`` is a file y default, this means + that only the datafile ``resource`` is assigned to the ``package`` by + default. - files = List( - item_type=PackageFile, - label='Provided files', - help='List of files provided by this package.' - ) + Called only when using the default assemble() implementation. + Subclass can override as needed to assign a package to its files. + """ + # NOTE: we do not attach files to the Package level. Instead we + # update `for_packages` of a codebase resource. + package_uid = package.package_uid + if resource: + resource.for_packages.append(package_uid) + resource.save(codebase) + for res in resource.walk(codebase): + res.for_packages.append(package_uid) + res.save(codebase) - @property - def ignore_paths(self): + @classmethod + def assign_package_to_parent_tree(cls, package, resource, codebase): """ - Paths to ignore when looking for other package_data files. + Set the "for_packages" attributes to ``package`` for the whole + resource tree of the parent of a ``resource`` object in the + ``codebase``. If codebase doesn't have a parent, just set the + attribute for that resource only. - Override the default empty list by defining for each package ecosystems specifically. + This is a convenience method that subclasses can reuse when overriding + `assign_package_to_resources()` """ - return [] + if resource.has_parent(): + parent = resource.parent(codebase) + cls.assign_package_to_resources(package, parent, codebase) + else: + cls.assign_package_to_resources(package, resource, codebase) - def get_package_data(self): + @classmethod + def assemble_from_many(cls, pkgdata_resources, codebase,): """ - Returns a mapping of package data attributes and corresponding values. + Yield Package, Resources or Dependency given a ``pkgdata_resources`` + list of tuple (PackageData, Resource) in ``codebase``. + + Create a Package from the first package_data item. Update this package + with other items. Assign to this Package the file tree from the parent + of the first resource item. + + Because of this, set the order of ``pkgdata_resources`` items carefully. + + This is a convenience method that subclasses can reuse when overriding + `assemble()` + + NOTE: ATTENTION!: this may not work well for datafile that yield + multiple PackageData for unrelated Packages """ - mapping = self.to_dict() + package = None + package_uid = None + base_resource = None + + # process each package in sequence. The first item creates a package and + # the other only update + for package_data, resource in pkgdata_resources: + if not base_resource: + base_resource = resource + + if not package: + # create package from the first item first package_data + if package_data.purl: + package = Package.from_package_data( + package_data=package_data, + datafile_path=resource.path, + ) + package_uid = package.package_uid + resource.for_packages.append(package_uid) + resource.save(codebase) + else: + # FIXME: What is the package_data is NOT for the same package as package? + # FIXME: What if the update did not do anything? (it does return True or False) + # FIXME: There we would be missing out packges AND/OR errors + package.update( + package_data=package_data, + datafile_path=resource.path, + ) + resource.for_packages.append(package_uid) + resource.save(codebase) + + # in all cases yield possible dependencies + dependent_packages = package_data.dependencies + if dependent_packages: + yield from Dependency.from_dependent_packages( + dependent_packages=dependent_packages, + datafile_path=resource.path, + datasource_id=package_data.datasource_id, + package_uid=package_uid, + ) - # Removes Package specific attributes - for attribute in ('package_uuid', 'package_data_files', 'files'): - mapping.pop(attribute, None) + # we yield this as we do not want this further processed + yield resource - # Remove attributes which are BasePackageData functions - for attribute in ('repository_homepage_url', 'repository_download_url', 'api_data_url'): - mapping.pop(attribute, None) + # the whole parent subtree of the base_resource is for this package + for res in base_resource.walk(codebase): + res.for_packages.append(package_uid) + res.save(codebase) - return mapping + if package: + if not package.license_expression: + package.license_expression = cls.compute_normalized_license(package) + yield package - def populate_package_data(self, package_data_by_path, uuid): + @classmethod + def assemble_from_many_datafiles(cls, datafile_name_patterns, directory, codebase): """ - Create a package instance object from one or multiple package data. + Assemble Package and Dependency from package data of the datafiles found + in multiple ``datafile_name_patterns`` name patterns (case- sensitive) + found in the ``directory`` Resource. + + Create a Package from the first package data item. Update this package + with other items. Assign to this Package the file tree from the parent + of the first resource item. + + Because of this, set the order of ``datafile_name_patterns`` items carefully. + + This is a convenience method that subclasses can reuse when overriding + `assemble()` + + NOTE: ATTENTION!: this will not work well for datafile that yields + multiple PackageData for unrelated Packages. """ - paths_with_mismatch = [] + if TRACE: + logger_debug(f'assemble_from_many_datafiles: datafile_name_patterns: {datafile_name_patterns!r}') - for path, package_data in package_data_by_path.items(): - success = True - if TRACE: - logger.debug('Merging package manifest data for: {}'.format(path)) - logger.debug('package manifest data: {}'.format(repr(package_data))) - - success = self.update(package_data.copy()) - if not success: - paths_with_mismatch.append(path) - - if TRACE: - logger.debug('Failed to merge package manifest data for: {}'.format(path)) - continue + if not codebase.has_single_resource: + siblings = list(directory.children(codebase)) + else: + siblings = [directory] - self.package_data_files.append(path) - - for path in paths_with_mismatch: - package_data_by_path.pop(path) + pkgdata_resources = [] - self.package_data_files = tuple(self.package_data_files) + # we iterate on datafile_name_patterns because their order matters + for datafile_name_pattern in datafile_name_patterns: + for sibling in siblings: + if fnmatchcase(sibling.name, datafile_name_pattern): + for package_data in sibling.package_data: + package_data = PackageData.from_dict(package_data) + pkgdata_resources.append((package_data, sibling,)) - # Set `package_uuid` as pURL for the package + it's uuid as a qualifier - # in the pURL string - try: - purl_with_uuid = PackageURL.from_string(self.purl) - except ValueError: + if pkgdata_resources: if TRACE: - logger.debug("Couldn't create purl for: {}".format(path)) - return + logger_debug(f' assemble_from_many_datafiles: pkgdata_resources: {pkgdata_resources!r}') - purl_with_uuid.qualifiers["uuid"] = str(uuid) - self.package_uuid = purl_with_uuid.to_string() + yield from cls.assemble_from_many( + pkgdata_resources=pkgdata_resources, + codebase=codebase, + ) - def get_package_files(self, resource, codebase): + @classmethod + def create_default_package_data(cls, **kwargs): """ - Return a list of all the file paths for a package instance. - - Sub-classes should override to implement their own package files finding methods. + Return an empty PackageData using default values and the provided kwargs. """ - files = [] + return PackageData( + datasource_id=cls.datasource_id, + type=cls.default_package_type, + primary_language=cls.default_primary_language, + **kwargs, + ) - if codebase.has_single_resource: - files.append(resource.path) - return files - parent = resource.parent(codebase) +class NonAssemblableDatafileHandler(DatafileHandler): + """ + A handler that has no default implmentation for the assemble method, e.g., + it will not alone trigger the creation of a top-level Pacakge. + """ - for resource in parent.walk(codebase): - if resource.is_dir: - continue + @classmethod + def assemble(cls, package_data, resource, codebase): + return [] - files.append(resource.path) - - return files - def get_other_package_data(self, resource, codebase): - """ - Return a dictionary of other package data by their paths for a given package instance. +def build_package_uid(purl): + """ + Return a purl string with a UUID qualifier given a ``purl`` string . + """ + purl = PackageURL.from_string(purl) + purl.qualifiers['uuid'] = str(uuid.uuid4()) + return str(purl) - Sub-classes can override to implement their own package manifest finding methods. - """ - package_data_by_path = {} - if codebase.has_single_resource: - return package_data_by_path +def build_purl(mapping): + """ + Return a PackageURL from a ``mapping`` or None if essential type and name + fields are missing. + """ + ptype = mapping.get('type') + name = mapping.get('name') + if not ptype or not name: + return - parent = resource.parent(codebase) + namespace = mapping.get('namespace') + version = mapping.get('version') + qualifiers = mapping.get('qualifiers') or {} + subpath = mapping.get('subpath') + return PackageURL( + type=ptype, + name=name, + namespace=namespace, + version=version, + qualifiers=qualifiers, + subpath=subpath, + ) - paths_to_ignore = self.ignore_paths - for resource in parent.walk(codebase): - if resource.is_dir: - continue +@attr.attributes(slots=True) +class Package(PackageData): + """ + Top-level package instance assembled from parsed package data collected + from one or more data files such as manifests or lockfiles. + """ - if paths_to_ignore: - if any( - path in resource.path - for path in paths_to_ignore - ): - continue + package_uid = String( + label='Package unique id', + help='A unique identifier for this package instance.' + 'Consists of the package purl with a UUID qualifier.' + ) + + datafile_paths = List( + item_type=str, + label='List of datafile paths', + help='List of datafile paths used to create this package.' + ) + + datasource_ids = List( + item_type=str, + label='datasource ids', + help='List of the datasource ids used to create this package.' + ) + + def __attrs_post_init__(self, *args, **kwargs): + if not self.package_uid: + self.package_uid = build_package_uid(self.purl) - filename = file_name(resource.location) - file_patterns = self.get_file_patterns(manifests=self.manifests) - if any(fnmatch.fnmatchcase(filename, pattern) for pattern in file_patterns): - if not resource.package_data: - continue # Raise Exception(?) + def to_dict(self): + return super().to_dict(with_details=False) - #ToDo: Implement for multiple package data per path - package_data_by_path[resource.path] = resource.package_data[0] + @classmethod + def from_package_data(cls, package_data, datafile_path): + """ + Return a Package from a ``package_data`` PackageData object + or mapping. Or None. + """ + if isinstance(package_data, PackageData): + package_data_mapping = package_data.to_dict() + dsid = package_data.datasource_id + elif isinstance(package_data, dict): + # make a copy + package_data_mapping = dict(package_data.items()) + dsid = package_data['datasource_id'] + elif package_data: + raise Exception(f'Invalid type: {package_data!r}', package_data) + + package_data_mapping['datafile_paths'] = [datafile_path] + package_data_mapping['datasource_ids'] = [dsid] + + return cls.from_dict(package_data_mapping) - return package_data_by_path - - def get_file_patterns(self, manifests): + @classmethod + def from_dict(cls, mapping): """ - Return a list of all `file_patterns` for all the PackageData classes - in `manifests`. + Return an instance of Package built from a ``mapping`` of native Python + data, typically a PackageData-like ``mapping``. Return None if there are + not enough data to form a PackageURL from this data. + + See PackageData.from_dict() for other details. """ - manifest_file_patterns = [] - for manifest in manifests: - manifest_file_patterns.extend(manifest.file_patterns) - - return manifest_file_patterns + if build_purl(mapping): + return super().from_dict(mapping) - def update(self, package_data, replace=False): + def is_compatible(self, package_data, include_qualifiers=True): """ - Returns False if there's a type/name/version mismatch between the package - and the package_data, otherwise returns True if update is successful. - - Update the Package object with data from the `package_data` - object. - When an `package_instance` field has no value one side and and the - `package_data` field has a value, the `package_instance` field is always - set to this value. - If `replace` is True and a field has a value on both sides, then - package_instance field value will be replaced by the package_data - field value. Otherwise if `replace` is False, the package_instance - field value is left unchanged in this case. + Return True if the ``package_data`` PackageData is compatible with + this Package, e.g. it is about the same package. """ - existing_mapping = self.get_package_data() - - # Remove PackageData specific attributes - for attribute in ['root_path']: - package_data.pop(attribute, None) - existing_mapping.pop(attribute, None) - - for existing_field, existing_value in existing_mapping.items(): - new_value = package_data[existing_field] - if TRACE_MERGING: - logger.debug( - '\n'.join([ - 'existing_field:', repr(existing_field), - ' existing_value:', repr(existing_value), - ' new_value:', repr(new_value)]) - ) + return ( + self.type == package_data.type + and self.namespace == package_data.namespace + and self.name == package_data.name + and self.version == package_data.version + and (include_qualifiers and self.qualifiers == package_data.qualifiers) + and self.subpath == package_data.subpath + and self.primary_language == package_data.primary_language + ) - # FIXME: handle Booleans??? - - # These fields has to be same across the package_data - if existing_field in ('name', 'version', 'type', 'primary_language'): - if existing_value and new_value and existing_value != new_value: - if TRACE_MERGING: - logger.debug( - '\n'.join([ - 'Mismatched {}:'.format(existing_field), - ' existing_value: {}'.format(existing_value), - ' new_value: {}'.format(new_value) - ]) - ) - return False + def update(self, package_data, datafile_path, replace=False): + """ + Update this Package with data from the ``package_data`` PackageData. + + If a field does not have a value and the ``package_data`` field has a + value, set this package field to the ``package_data`` field value. + + If there is a value on both side, update the value according to the + ``replace`` flag. + + If ``replace`` is True, replace a value with the ``package_data`` value. + Otherwise existing, non-empty values are left unchanged. + + List of values are merged, keeping the original order and avoiding duplicates. + + Return True if update is successful. + + Return False if there is a type, name or version mismatch between this + package and the provided ``package_data`` + """ + if not package_data: + return + + if not self.is_compatible(package_data, include_qualifiers=False): + if TRACE_UPDATE: + logger_debug(f'update: {self.purl} not compatible with: {package_data.purl}') + return False + + # always append these new items + self.datasource_ids.append(package_data.datasource_id) + self.datafile_paths.append(datafile_path) + + existing = self.to_package_data().to_dict() + new_package_data = package_data.to_dict() + + # update for these means combining lists of items from both sides + list_fields = set([ + 'parties', + 'dependencies', + 'file_references', + ]) + + for name, value in existing.items(): + new_value = new_package_data.get(name) + + if TRACE_UPDATE: + logger_debug(f'update: {name!r}={value!r} with new_value: {new_value!r}') if not new_value: - if TRACE_MERGING: - logger.debug(' No new value for {}: skipping'.format(existing_field)) + if TRACE_UPDATE: logger_debug(' No new value: skipping') + continue + + if not value: + if TRACE_UPDATE: logger_debug(' set existing value to new') + setattr(self, name, new_value) + continue + + if replace: + if TRACE_UPDATE: logger_debug(' replace existing value to new') + setattr(self, name, new_value) continue - if not existing_value or replace: - if TRACE_MERGING and not existing_value: - logger.debug( - ' No existing value: set to new: {}'.format(new_value)) - - if TRACE_MERGING and replace: - logger.debug( - ' Existing value and replace: set to new: {}'.format(new_value)) - - if existing_field == 'parties': - # If `existing_field` is `parties`, then we update the `Party` table - parties = new_value - parties_new = [] - - for party in parties: - party_new = Party( - type=party['type'], - role=party['role'], - name=party['name'], - email=party['email'], - url=party['url'], - ) - parties_new.append(party_new) - - if replace: - setattr(self, existing_field, parties_new) - else: - existing_value.extend(parties_new) - setattr(self, existing_field, existing_value) - - elif existing_field == 'dependencies': - # If `existing_field` is `dependencies`, then we update the `DependentPackage` table - dependencies = new_value - deps_new = [] - - for dependency in dependencies: - dep_new = DependentPackage( - purl=dependency['purl'], - extracted_requirement=dependency['requirement'], - scope=dependency['scope'], - is_runtime=dependency['is_runtime'], - is_optional=dependency['is_optional'], - is_resolved=dependency['is_resolved'], - ) - deps_new.append(dep_new) - - if replace: - setattr(self, existing_field, deps_new) - else: - existing_value.extend(deps_new) - setattr(self, existing_field, existing_value) - - if TRACE_MERGING: - logger.debug("Set value to self: {} at {}".format(new_value, existing_field)) - logger.debug("Set value to self: types: {} at {}".format(type(new_value), type(existing_field))) - - elif existing_field == 'purl': - self.set_purl(package_url=new_value) + # here we do not replace... but we still merge lists/mappings + if name == 'extra_data': + value.update(new_value) + + if name in list_fields: + if TRACE_UPDATE: logger_debug(' merge lists of values') + merged = merge_sequences(list1=value, list2=new_value) + setattr(self, name, merged) + + elif TRACE_UPDATE and value != new_value: + if TRACE_UPDATE: logger_debug(' skipping update: no replace') - else: - # If `existing_field` is not `parties` or `dependencies`, then the - # `existing_field` is a regular field on the Package model and can - # be updated normally. - if TRACE_MERGING: - logger.debug("Set value to self: {} at {}".format(new_value, existing_field)) - logger.debug("Set value to self: types: {} at {}".format(type(new_value), type(existing_field))) - setattr(self, existing_field, new_value) - - if existing_value and new_value and existing_value != new_value: - # ToDo: What to do when conflicting values are present - # license_expression: do AND? - if TRACE_MERGING: - logger.debug("Value mismatch between new and existing: ") - logger.debug( - '\n'.join([ - 'existing_field:', repr(existing_field), - ' existing_value:', repr(existing_value), - ' new_value:', repr(new_value)]) - ) - - if TRACE_MERGING: - logger.debug(' Nothing done') - - # Return True if package data update is successful return True -# Package types -# NOTE: this is somewhat redundant with extractcode archive handlers -# yet the purpose and semantics are rather different here - - -@attr.s() -class JavaJar(PackageData, PackageDataFile): - file_patterns = ('META-INF/MANIFEST.MF',) - extensions = ('.jar',) - filetypes = ('java archive ', 'zip archive',) - mimetypes = ('application/java-archive', 'application/zip',) - default_type = 'jar' - default_primary_language = 'Java' - - -@attr.s() -class JavaWar(PackageData, PackageDataFile): - file_patterns = ('WEB-INF/web.xml',) - extensions = ('.war',) - filetypes = ('java archive ', 'zip archive',) - mimetypes = ('application/java-archive', 'application/zip') - default_type = 'war' - default_primary_language = 'Java' - - -@attr.s() -class JavaEar(PackageData, PackageDataFile): - file_patterns = ('META-INF/application.xml', 'META-INF/ejb-jar.xml') - extensions = ('.ear',) - filetypes = ('java archive ', 'zip archive',) - mimetypes = ('application/java-archive', 'application/zip') - default_type = 'ear' - default_primary_language = 'Java' - - -@attr.s() -class Axis2Mar(PackageData, PackageDataFile): - """Apache Axis2 module""" - file_patterns = ('META-INF/module.xml',) - extensions = ('.mar',) - filetypes = ('java archive ', 'zip archive',) - mimetypes = ('application/java-archive', 'application/zip') - default_type = 'axis2' - default_primary_language = 'Java' - - -@attr.s() -class JBossSar(PackageData, PackageDataFile): - file_patterns = ('META-INF/jboss-service.xml',) - extensions = ('.sar',) - filetypes = ('java archive ', 'zip archive',) - mimetypes = ('application/java-archive', 'application/zip') - default_type = 'jboss' - default_primary_language = 'Java' - - -@attr.s() -class MeteorPackage(PackageData, PackageDataFile): - file_patterns = ('package.js',) - default_type = 'meteor' - default_primary_language = 'JavaScript' - - -@attr.s() -class CpanModule(PackageData, PackageDataFile): - file_patterns = ( - '*.pod', - # TODO: .pm is not a package manifest - '*.pm', - 'MANIFEST', - 'Makefile.PL', - 'META.yml', - 'META.json', - '*.meta', - 'dist.ini',) - # TODO: refine me - extensions = ('.tar.gz',) - default_type = 'cpan' - default_primary_language = 'Perl' - - -# TODO: refine me: Go packages are a mess but something is emerging -# TODO: move to and use godeps.py -@attr.s() -class Godep(PackageData, PackageDataFile): - file_patterns = ('Godeps',) - default_type = 'golang' - default_primary_language = 'Go' - - -@attr.s() -class AndroidApp(PackageData, PackageDataFile): - filetypes = ('zip archive',) - mimetypes = ('application/zip',) - extensions = ('.apk',) - default_type = 'android' - default_primary_language = 'Java' - - -# see http://tools.android.com/tech-docs/new-build-system/aar-formats -@attr.s() -class AndroidLibrary(PackageData, PackageDataFile): - filetypes = ('zip archive',) - mimetypes = ('application/zip',) - # note: Apache Axis also uses AAR extensions for plain Jars. - # this could be decided based on internal structure - extensions = ('.aar',) - default_type = 'android-lib' - default_primary_language = 'Java' - - -@attr.s() -class MozillaExtension(PackageData, PackageDataFile): - filetypes = ('zip archive',) - mimetypes = ('application/zip',) - extensions = ('.xpi',) - default_type = 'mozilla' - default_primary_language = 'JavaScript' - - -@attr.s() -class ChromeExtension(PackageData, PackageDataFile): - filetypes = ('data',) - mimetypes = ('application/octet-stream',) - extensions = ('.crx',) - default_type = 'chrome' - default_primary_language = 'JavaScript' - - -@attr.s() -class IOSApp(PackageData, PackageDataFile): - filetypes = ('zip archive',) - mimetypes = ('application/zip',) - extensions = ('.ipa',) - default_type = 'ios' - default_primary_language = 'Objective-C' - - -@attr.s() -class CabPackage(PackageData, PackageDataFile): - filetypes = ('microsoft cabinet',) - mimetypes = ('application/vnd.ms-cab-compressed',) - extensions = ('.cab',) - default_type = 'cab' - - -@attr.s() -class InstallShieldPackage(PackageData, PackageDataFile): - filetypes = ('installshield',) - mimetypes = ('application/x-dosexec',) - extensions = ('.exe',) - default_type = 'installshield' - - -@attr.s() -class NSISInstallerPackage(PackageData, PackageDataFile): - filetypes = ('nullsoft installer',) - mimetypes = ('application/x-dosexec',) - extensions = ('.exe',) - default_type = 'nsis' - - -@attr.s() -class SharPackage(PackageData, PackageDataFile): - filetypes = ('posix shell script',) - mimetypes = ('text/x-shellscript',) - extensions = ('.sha', '.shar', '.bin',) - default_type = 'shar' - - -@attr.s() -class AppleDmgPackage(PackageData, PackageDataFile): - filetypes = ('zlib compressed',) - mimetypes = ('application/zlib',) - extensions = ('.dmg', '.sparseimage',) - default_type = 'dmg' - - -@attr.s() -class IsoImagePackage(PackageData, PackageDataFile): - filetypes = ('iso 9660 cd-rom', 'high sierra cd-rom',) - mimetypes = ('application/x-iso9660-image',) - extensions = ('.iso', '.udf', '.img',) - default_type = 'iso' - - -@attr.s() -class SquashfsPackage(PackageData, PackageDataFile): - filetypes = ('squashfs',) - default_type = 'squashfs' - -# TODO: Add VM images formats(VMDK, OVA, OVF, VDI, etc) and Docker/other containers +def merge_sequences(list1, list2, **kwargs): + """ + Return a new list of model objects merging the lists ``list1`` and + ``list2`` keeping the original ``list1`` order and discarding + duplicates. + """ + list1 = list1 or [] + list2 = list2 or [] + merged = [] + existing = set() + for item in list1 + list2: + key = item.to_tuple(**kwargs) + if not key in existing: + merged.append(item) + existing.add(key) + return merged diff --git a/src/packagedcode/msi.py b/src/packagedcode/msi.py index 79f96b878cc..31deea3040b 100644 --- a/src/packagedcode/msi.py +++ b/src/packagedcode/msi.py @@ -12,15 +12,12 @@ import warnings from shutil import which -import attr - from commoncode.command import execute from commoncode.command import find_in_path from commoncode.system import on_linux from commoncode.version import VERSION_PATTERNS_REGEX from packagedcode import models - MSIINFO_BIN_LOCATION = 'packagedcode_msitools.msiinfo' @@ -91,6 +88,7 @@ def get_msi_info(location): installing the `packagedcode-msiinfo` plugin or by installing `msitools` through a package manager. """ + # FIXME: what about the return code? we ignore it? rc, stdout, stderr = execute( cmd_loc=get_msiinfo_bin_location(), args=[ @@ -98,9 +96,8 @@ def get_msi_info(location): location, ], ) - if stderr: - error_message = f'Error encountered when reading MSI information from {location}: ' - error_message = error_message + stderr + if stderr or rc: + error_message = f'Error encountered when reading MSI information from {location}: {stderr}' raise MsiinfoException(error_message) return parse_msiinfo_suminfo_output(stdout) @@ -123,11 +120,15 @@ def get_version_from_subject_line(subject_line): return v -def create_package_from_msiinfo_results(msiinfo_results): +def create_package_data_from_msiinfo_results( + msiinfo_results, + datasource_id='msi_installer', + package_type='msi', +): """ - Return an MsiInstallerPackage from the dictionary `msiinfo_results` + Return PackageData from a mapping of `msiinfo_results` """ - author_name = msiinfo_results.get('Author', '') + author_name = msiinfo_results.pop('Author', '') parties = [] if author_name: parties.append( @@ -143,13 +144,15 @@ def create_package_from_msiinfo_results(msiinfo_results): # the time. Getting the version out of the `Subject` string is not # straightforward because the format of the string is usually different # between different MSIs - subject = msiinfo_results.get('Subject', '') + subject = msiinfo_results.pop('Subject', '') name = subject version = get_version_from_subject_line(subject) - description = msiinfo_results.get('Comments', '') - keywords = msiinfo_results.get('Keywords', '') + description = msiinfo_results.pop('Comments', '') + keywords = msiinfo_results.pop('Keywords', []) - return MsiInstallerPackage( + return models.PackageData( + datasource_id=datasource_id, + type=package_type, name=name, version=version, description=description, @@ -159,22 +162,35 @@ def create_package_from_msiinfo_results(msiinfo_results): ) -def msi_parse(location): +def msi_parse(location, + datasource_id='msi_installer', + package_type='msi', +): """ - Return an MsiInstallerPackage from `location` + Return PackageData from ``location`` """ - info = get_msi_info(location) - return create_package_from_msiinfo_results(info) + if on_linux: + info = get_msi_info(location) + return create_package_data_from_msiinfo_results( + msiinfo_results=info, + datasource_id=datasource_id, + package_type=package_type, + ) + else: + return models.PackageData( + datasource_id=datasource_id, + type=package_type, + ) -@attr.s() -class MsiInstallerPackage(models.PackageData, models.PackageDataFile): +class MsiInstallerHandler(models.DatafileHandler): + datasource_id = 'msi_installer' filetypes = ('msi installer',) - mimetypes = ('application/x-msi',) - extensions = ('.msi',) - default_type = 'msi' + path_patterns = ('*.msi',) + default_package_type = 'msi' + description = 'Microsoft MSI installer' + documentation_url = 'https://docs.microsoft.com/en-us/windows/win32/msi/windows-installer-portal' @classmethod - def recognize(cls, location): - if on_linux: - yield msi_parse(location) + def parse(cls, location): + yield msi_parse(location) diff --git a/src/packagedcode/npm.py b/src/packagedcode/npm.py index 31632aa15fa..739af32a925 100644 --- a/src/packagedcode/npm.py +++ b/src/packagedcode/npm.py @@ -7,21 +7,19 @@ # See https://aboutcode.org for more information about nexB OSS projects. # import base64 -from collections import defaultdict -from functools import partial import io import json -import logging import re +import urllib.parse +from functools import partial +from itertools import islice -import attr from packageurl import PackageURL -from commoncode import filetype -from commoncode import fileutils from packagedcode import models from packagedcode.utils import combine_expressions from packagedcode.utils import normalize_vcs_url +import saneyaml """ Handle Node.js npm packages @@ -32,101 +30,112 @@ To check https://github.com/npm/normalize-package-data """ -TRACE = False - -logger = logging.getLogger(__name__) - - -def logger_debug(*args): - pass - - -if TRACE: - import sys - logging.basicConfig(stream=sys.stdout) - logger.setLevel(logging.DEBUG) - - def logger_debug(*args): - return print(' '.join(isinstance(a, str) and a or repr(a) for a in args)) - # TODO: add os and engines from package.json?? -# add lock files and yarn details +# TODO: add new yarn v2 lock file format +# TODO: add pnp.js and pnpm-lock.yaml https://pnpm.io/ +# TODO: add support for "lockfileVersion": 2 for package-lock.json and lockfileVersion: 3 -@attr.s() -class NpmPackageData(models.PackageData): - # TODO: add new lock files and yarn lock files - mimetypes = ('application/x-tar',) - default_type = 'npm' - default_primary_language = 'JavaScript' - default_web_baseurl = 'https://www.npmjs.com/package' - default_download_baseurl = 'https://registry.npmjs.org' - default_api_baseurl = 'https://registry.npmjs.org' - - @classmethod - def get_package_root(cls, manifest_resource, codebase): - return manifest_resource.parent(codebase) +class BaseNpmHandler(models.DatafileHandler): @classmethod - def ignore_resource(cls, resource, codebase): - return resource.is_dir and resource.name == 'node_modules' - - def repository_homepage_url(self, baseurl=default_web_baseurl): - return npm_homepage_url(self.namespace, self.name, registry=baseurl) + def assemble(cls, package_data, resource, codebase): + datafile_name_patterns = ( + 'package.json', + 'package-lock.json', + '.package-lock.json', + 'npm-shrinkwrap.json', + 'yarn.lock', + ) - def repository_download_url(self, baseurl=default_download_baseurl): - return npm_download_url(self.namespace, self.name, self.version, registry=baseurl) + if resource.has_parent(): + dir_resource=resource.parent(codebase) + else: + dir_resource=resource - def api_data_url(self, baseurl=default_api_baseurl): - return npm_api_url(self.namespace, self.name, self.version, registry=baseurl) + yield from cls.assemble_from_many_datafiles( + datafile_name_patterns=datafile_name_patterns, + directory=dir_resource, + codebase=codebase, + ) - def compute_normalized_license(self): - return compute_normalized_license(self.declared_license) + @classmethod + def walk_npm(cls, resource, codebase, depth=0): + """ + Walk the ``codebase`` Codebase top-down, breadth-first starting from the + ``resource`` Resource. + Skip a first level child directory named "node_modules": this avoids + reporting nested vendored packages as being part of their parent. + Instead they will be reported on their own. + """ + for child in resource.children(codebase): + if depth == 0 and child.name == 'node_modules': + continue -@attr.s() -class PackageJson(NpmPackageData, models.PackageDataFile): + yield child - file_patterns = ('package.json',) - extensions = ('.tgz',) + if child.is_dir: + depth += 1 + for subchild in cls.walk_skip(child, codebase, depth=depth): + yield subchild + # TODO: this MUST BE USED @classmethod - def is_package_data_file(cls, location): + def assign_package_to_resources(cls, package, resource, codebase): """ - Return True if the file at ``location`` is likely a manifest of this type. + Yield the Resources of an npm Package, ignoring nested mode_modules. """ - return filetype.is_file(location) and fileutils.file_name(location).lower() == 'package.json' + root = resource.parent(codebase) + if root: + yield from cls.walk_npm(resource=root, codebase=codebase) + + +def get_urls(namespace, name, version): + return dict( + repository_homepage_url=npm_homepage_url(namespace, name, registry='https://www.npmjs.com/package'), + repository_download_url=npm_download_url(namespace, name, version, registry='https://registry.npmjs.org'), + api_data_url=npm_api_url(namespace, name, version, registry='https://registry.npmjs.org'), + ) + + +class NpmPackageJsonHandler(BaseNpmHandler): + datasource_id = 'npm_package_json' + path_patterns = ('*/package.json',) + default_package_type = 'npm' + default_primary_language = 'JavaScript' + description = 'npm package.json' + documentation_url = 'https://docs.npmjs.com/cli/v8/configuring-npm/package-json' @classmethod - def recognize(cls, location): - """ - Yield one or more Package manifest objects given a file ``location`` pointing to a - package archive, manifest or similar. - """ + def parse(cls, location): with io.open(location, encoding='utf-8') as loc: package_data = json.load(loc) - + name = package_data.get('name') version = package_data.get('version') - homepage = package_data.get('homepage', '') + homepage_url = package_data.get('homepage', '') - if not name: - # a package.json without name and version is not a usable npm package - # FIXME: raise error? - return + # a package.json without name and version can be a private package + + if homepage_url and isinstance(homepage_url, list): + # TODO: should we keep other URLs + homepage_url = homepage_url[0] + homepage_url = homepage_url.strip() or None - if isinstance(homepage, list): - if homepage: - homepage = homepage[0] - else: - homepage = '' namespace, name = split_scoped_package_name(name) - package = cls( + + urls = get_urls(namespace, name, version) + package = models.PackageData( + datasource_id=cls.datasource_id, + type=cls.default_package_type, + primary_language=cls.default_primary_language, namespace=namespace or None, name=name, version=version or None, description=package_data.get('description', '').strip() or None, - homepage_url=homepage.strip() or None, + homepage_url=homepage_url, + **urls, ) vcs_revision = package_data.get('gitHead') or None @@ -150,7 +159,6 @@ def recognize(cls, location): ] for source, func in field_mappers: - if TRACE: logger.debug('parse: %(source)r, %(func)r' % locals()) value = package_data.get(source) or None if value: if isinstance(value, str): @@ -167,319 +175,484 @@ def recognize(cls, location): lic = package_data.get('license') lics = package_data.get('licenses') package = licenses_mapper(lic, lics, package) - if TRACE: - declared_license = package.declared_license - logger.debug( - 'parse: license: {lic} licenses: {lics} ' - 'declared_license: {declared_license}'.format(locals())) - - yield package + if not package.license_expression and package.declared_license: + package.license_expression = compute_normalized_license(package.declared_license) -@attr.s() -class PackageLockJson(NpmPackageData, models.PackageDataFile): + yield package - file_patterns = ( - 'npm-shrinkwrap.json', - 'package-lock.json', - ) - extensions = ('.tgz',) + @classmethod + def compute_normalized_license(cls, package): + return compute_normalized_license(package.declared_license) - @staticmethod - def is_package_lock(location): - return (filetype.is_file(location) - and fileutils.file_name(location).lower() == 'package-lock.json') - @staticmethod - def is_npm_shrinkwrap(location): - return (filetype.is_file(location) - and fileutils.file_name(location).lower() == 'npm-shrinkwrap.json') +class BaseNpmLockHandler(BaseNpmHandler): @classmethod - def is_package_data_file(cls, location): - """ - Return True if the file at ``location`` is likely a manifest of this type. - """ - return cls.is_package_lock(location) or cls.is_npm_shrinkwrap(location) + def parse(cls, location): - @classmethod - def recognize(cls, location): - """ - Yield one or more Package manifest objects given a file ``location`` pointing to a - package archive, manifest or similar. - """ with io.open(location, encoding='utf-8') as loc: package_data = json.load(loc) - packages = [] - dev_packages = [] - for dependency, values in package_data.get('dependencies', {}).items(): - is_dev = values.get('dev', False) - dep_deps = [] - namespace = None - name = dependency - if '/' in dependency: - namespace, _slash, name = dependency.partition('/') - # Handle the case where an entry in `dependencies` from a - # package-lock.json file has `requires` - for dep, dep_req in values.get('requires', {}).items(): - purl = PackageURL(type='npm', name=dep, version=dep_req).to_string() - if is_dev: - dep_deps.append( - models.DependentPackage( - purl=purl, - scope='requires-dev', - extracted_requirement=dep_req, - is_runtime=False, - is_optional=True, - is_resolved=True, - ) - ) + # we have two formats: v1 and v2 + lockfile_version = package_data.get('lockfileVersion', 1) + root_name = package_data.get('name') + root_version = package_data.get('version') + root_ns, _ , root_name = root_name.rpartition('/') + + extra_data = dict(lockfile_version=lockfile_version) + # this is the top level element that we return + root_package_data = models.PackageData( + datasource_id=cls.datasource_id, + type=cls.default_package_type, + primary_language=cls.default_primary_language, + namespace=root_ns, + name=root_name, + version=root_version, + extra_data=extra_data, + **get_urls(root_ns, root_name, root_version) + ) + + # https://docs.npmjs.com/cli/v8/configuring-npm/package-lock-json#lockfileversion + if lockfile_version == 1: + deps_key = 'dependencies' + else: + # v2 and may be v3??? + deps_key = 'packages' + + deps_mapping = package_data.get(deps_key) or {} + + dependencies = [] + + for dep, dep_data in deps_mapping.items(): + is_dev = dep_data.get('dev', False) + is_optional = dep_data.get('optional', False) + is_devoptional = dep_data.get('devOptional', False) + if is_dev or is_devoptional: + is_runtime = False + is_optional = True + scope = 'devDependencies' + else: + is_runtime = True + is_optional = is_optional + scope = 'dependencies' + + if not dep: + # in v2 format the first dep is the same as the top level + # package and has no name + pass + + # only present for first top level + # otherwise get name from dep + name = dep_data.get('name') + if not name: + if 'node_modules/' in dep: + # the name is the last segment as the dep can be: + # "node_modules/ansi-align/node_modules/ansi-regex" + _, _, name = dep.rpartition('node_modules/') else: - dep_deps.append( - models.DependentPackage( - purl=purl, - scope='requires', - extracted_requirement=dep_req, - is_runtime=True, - is_optional=False, - is_resolved=True, - ) - ) + name = dep + ns, _ , name = name.rpartition('/') + version = dep_data.get('version') + + dep_purl = PackageURL( + type=cls.default_package_type, + namespace=ns, + name=name, + version=version, + ).to_string() + + dependency = models.DependentPackage( + purl=dep_purl, + extracted_requirement=version, + scope=scope, + is_runtime=is_runtime, + is_optional=is_optional, + is_resolved=True, + ) + + # only seen in v2 for the top level package... but good to keep + declared_license = dep_data.get('license') + + # URLs and checksums + misc = get_urls(ns, name, version) + resolved = dep_data.get('resolved') + misc.update(get_checksum_and_url(resolved).items()) + integrity = dep_data.get('integrity') + misc.update(get_algo_hexsum(integrity).items()) + + resolved_package = models.PackageData( + datasource_id=cls.datasource_id, + type=cls.default_package_type, + primary_language=cls.default_primary_language, + namespace=ns, + name=name, + version=version, + declared_license=declared_license, + **misc, + ) + # these are paths t the root of the installed package in v2 + if dep: + resolved_package.file_references = [models.FileReference(path=dep)], + + # v1 as name/constraint pairs + subrequires = dep_data.get('requires') or {} + + # in v1 these are further nested dependencies + # in v2 these are name/constraint pairs like v1 requires + subdependencies = dep_data.get('dependencies') + + # v2? ignored for now + dev_subdependencies = dep_data.get('devDependencies') + optional_subdependencies = dep_data.get('optionalDependencies') + engines = dep_data.get('engines') + funding = dep_data.get('funding') - # Handle the case where an entry in `dependencies` from a - # npm-shrinkwrap.json file has `dependencies` - for dep, dep_values in values.get('dependencies', {}).items(): - dep_version = dep_values.get('version') - requirement = None - split_requirement = dep_values.get('from', '').rsplit('@') - if len(split_requirement) == 2: - # requirement is in the form of "abbrev@>=1.0.0 <2.0.0", so we just want what is right of @ - _, requirement = split_requirement - dep_deps.append( + if lockfile_version == 1: + subdeps_data = subrequires + else: + subdeps_data = subdependencies + subdeps_data = subdeps_data or {} + + sub_deps = [] + for subdep, subdep_req in subdeps_data.items(): + sdns, _ , sdname = subdep.rpartition('/') + sdpurl = PackageURL( + type=cls.default_package_type, + namespace=sdns, + name=sdname + ).to_string() + sub_deps.append( models.DependentPackage( - purl=PackageURL( - type='npm', - name=dep, - version=dep_version, - ).to_string(), - scope='dependencies', - extracted_requirement=requirement, - is_runtime=True, - is_optional=False, - is_resolved=True, + purl=sdpurl, + scope=scope, + extracted_requirement=subdep_req, + is_runtime=is_runtime, + is_optional=is_optional, + is_resolved=False, ) ) + resolved_package.dependencies = sub_deps + dependency.resolved_package = resolved_package.to_dict() + dependencies.append(dependency) + + root_package_data.dependencies = dependencies + + yield root_package_data + + +class NpmPackageLockJsonHandler(BaseNpmLockHandler): + # Note that there are multiple lockfileVersion 1 and 2 (and even 3) + # and each have a different layout + datasource_id = 'npm_package_lock_json' + path_patterns = ( + '*/package-lock.json', + '*/.package-lock.json', + ) + default_package_type = 'npm' + default_primary_language = 'JavaScript' + description = 'npm package-lock.json lockfile' + documentation_url = 'https://docs.npmjs.com/cli/v8/configuring-npm/package-lock-json' + + +class NpmShrinkwrapJsonHandler(BaseNpmLockHandler): + datasource_id = 'npm_shrinkwrap_json' + path_patterns = ('*/npm-shrinkwrap.json',) + default_package_type = 'npm' + default_primary_language = 'JavaScript' + description = 'npm shrinkwrap.json lockfile' + documentation_url = 'https://docs.npmjs.com/cli/v8/configuring-npm/npm-shrinkwrap-json' + + +class UnknownYarnLockFormat(Exception): + pass + - p = cls( - namespace=namespace, +def is_yarn_v2(location): + """ + Return True if this is a yarn.lock format version 2 and False if this is + version 1. Raise an UnknownYarnLockFormat exception if neither v1 or v2. + + v1 is a custom, almost-like-YAMl format. v2 is a proper subset of YAML. + + The start of v1 file has this: + # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. + # yarn lockfile v1 + + The start of v2 file has this: + # This file is generated by running "yarn install" inside your project. + # Manual changes might be lost - proceed with caution! + + __metadata: + """ + with open(location) as ylf: + # check only in the first 10 lines + for line in islice(ylf, 0, 10): + if '__metadata:' in line: + return True + if 'yarn lockfile v1' in line: + return False + + raise UnknownYarnLockFormat(location) + + +class YarnLockV2Handler(BaseNpmHandler): + """ + Handle yarn.lock v2 format, which is YAML + """ + datasource_id = 'yarn_lock_v2' + path_patterns = ('*/yarn.lock',) + default_package_type = 'npm' + default_primary_language = 'JavaScript' + description = 'yarn.lock lockfile v2 format' + documentation_url = 'https://classic.yarnpkg.com/lang/en/docs/yarn-lock/' + + @classmethod + def is_datafile(cls, location, filetypes=tuple()): + return super().is_datafile(location, filetypes=filetypes) and is_yarn_v2(location) + + @classmethod + def parse(cls, location): + """ + Parse a bew yarn.lock v2 YAML format which looks like this: + + "@algolia/cache-browser-local-storage@npm:4.2.0": + version: 4.2.0 + resolution: "@algolia/cache-browser-local-storage@npm:4.2.0" + dependencies: + "@algolia/cache-common": 4.2.0 + checksum: 72ac158925eb5a51e015aa22df5d2026fc0c0b6b58eb8c1290712e0 + languageName: node + linkType: hard + + Yield a single PackageData + """ + with open(location) as yl: + lock_data = saneyaml.load(yl.read()) + top_dependencies = [] + + for spec, details in lock_data.items(): + if spec == '__metadata': + continue + version = details.get('version') + resolution = details.get('resolution') + ns_name, _, version = resolution.rpartition('@') + ns, _, name = ns_name.rpartition('/') + if version.startswith('npm:'): + _npm, _, version = version.partition(':') + purl = PackageURL( + type=cls.default_package_type, + namespace=ns, name=name, - version=values.get('version'), - download_url=values.get('resolved'), - dependencies=dep_deps, + version=version, ) - if is_dev: - dev_packages.append(p) - else: - packages.append(p) - package_deps = [] - for package in packages: - package_deps.append( - models.DependentPackage( - purl=package.purl, + # TODO: add resolved_package with its own deps + checksum = details.get('checksum') + dependencies = details.get('dependencies') or {} + peer_dependencies = details.get('peerDependencies') or {} + dependencies_meta = details.get('dependenciesMeta') or {} + # these are file references + bin = details.get('bin') or [] + + dependency = models.DependentPackage( + purl=str(purl), + extracted_requirement=version, + is_resolved=True, + # FIXME: these are NOT correct scope='dependencies', - is_runtime=True, + # TODO: get details from metadata is_optional=False, - is_resolved=True, + is_runtime=True, ) - ) + top_dependencies.append(dependency) - dev_package_deps = [] - for dev_package in dev_packages: - dev_package_deps.append( - models.DependentPackage( - purl=dev_package.purl, - scope='dependencies-dev', - is_runtime=False, - is_optional=True, - is_resolved=True, - ) - ) - - yield cls( - name=package_data.get('name'), - version=package_data.get('version'), - dependencies=package_deps + dev_package_deps, + yield models.PackageData( + datasource_id=cls.datasource_id, + type=cls.default_package_type, + primary_language=cls.default_primary_language, + dependencies=top_dependencies, ) - for package in packages + dev_packages: - yield package - - -@attr.s() -class YarnLockJson(NpmPackageData, models.PackageDataFile): - file_patterns = ('yarn.lock',) - extensions = ('.tgz',) +class YarnLockV1Handler(BaseNpmHandler): + """ + Handle yarn.lock v1 format, which is more or less but not quite like YAML + """ + datasource_id = 'yarn_lock_v1' + path_patterns = ('*/yarn.lock',) + default_package_type = 'npm' + default_primary_language = 'JavaScript' + description = 'yarn.lock lockfile v1 format' + documentation_url = 'https://classic.yarnpkg.com/lang/en/docs/yarn-lock/' @classmethod - def is_package_data_file(cls, location): - """ - Return True if the file at ``location`` is likely a manifest of this type. - """ - return (filetype.is_file(location) - and fileutils.file_name(location).lower() == 'yarn.lock') + def is_datafile(cls, location, filetypes=tuple()): + return super().is_datafile(location, filetypes=filetypes) and not is_yarn_v2(location) @classmethod - def recognize(cls, location): + def parse(cls, location): """ - Yield one or more Package manifest objects given a file ``location`` pointing to a - package archive, manifest or similar. + Parse a classic yarn.lock format which looks like this: + "@babel/core@^7.1.0", "@babel/core@^7.3.4": + version "7.3.4" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.3.4.tgz#921a5a13746c21e32445bf0798680e9d11a6530b" + integrity sha512-jRsuseXBo9pN197KnDwhhaaBzyZr2oIcLHHTt2oDdQrej5Qp57dCCJafWx5ivU8/alEYDpssYqv1MUqcxwQlrA== + dependencies: + "@babel/code-frame" "^7.0.0" + "@babel/generator" "^7.3.4" + + Yield a single PackageData """ - with io.open(location, encoding='utf-8') as yarn_lock_lines: - - packages = [] - packages_reqs = [] - current_package_data = {} - dependencies = False - for line in yarn_lock_lines: - # Check if this is not an empty line or comment - if line.strip() and not line.startswith('#'): - if line.startswith(' '): - if not dependencies: - if line.strip().startswith('version'): - current_package_data['version'] = line.partition('version')[2].strip().strip('\"') - elif line.strip().startswith('resolved'): - current_package_data['download_url'] = line.partition('resolved')[2].strip().strip('\"') - elif line.strip().startswith('dependencies'): - dependencies = True - else: - continue - else: - split_line = line.strip().split() - if len(split_line) == 2: - k, v = split_line - # Remove leading and following quotation marks on values - v = v[1:-1] - if 'dependencies' in current_package_data: - current_package_data['dependencies'].append((k, v)) - else: - current_package_data['dependencies'] = [(k, v)] - else: - dependencies = False - # Clean up dependency name and requirement strings - line = line.strip().replace('\"', '').replace(':', '') - split_line_for_name_req = line.split(',') - dep_names_and_reqs = defaultdict(list) - for segment in split_line_for_name_req: - segment = segment.strip() - dep_name_and_req = segment.rsplit('@', 1) - dep, req = dep_name_and_req - dep_names_and_reqs[dep].append(req) - # We should only have one key `dep_names_and_reqs`, where it is the - # current dependency we are looking at - if len(dep_names_and_reqs.keys()) == 1: - dep, req = list(dep_names_and_reqs.items())[0] - if '@' in dep and '/' in dep: - namespace, name = dep.split('/') - current_package_data['namespace'] = namespace - current_package_data['name'] = name - else: - current_package_data['name'] = dep - current_package_data['requirement'] = ', '.join(req) + with io.open(location, encoding='utf-8') as yl: + yl_dependencies = yl.read().split('\n\n') + + dependencies = [] + for yl_dependency in yl_dependencies: + lines = yl_dependency.splitlines(False) + if all(l.startswith('#') or not l.strip() for l in lines): + # header or empty blocks are all comments or empties + continue + + top_requirements = [] + dependency_data = {} + sub_dependencies = [] + + for line in lines: + stripped = line.strip() + comment = line.startswith('#') + if not stripped or comment: + continue + + if line.startswith(' ' * 4): + # "@babel/code-frame" "^7.0.0" + # hosted-git-info "^2.1.4" + # semver "2 || 3 || 4 || 5" + ns_name, _, constraint = stripped.partition(' ') + ns, _ , name = ns_name.rpartition('/') + sub_dependencies.append((ns, name, constraint,)) + + elif line.startswith(' ' * 2) : + # version "7.3.4" + # resolved "https://registry.yarnpkg.com/@babel...." + # integrity sha512-jRsuseXBo9 + key, _, value = stripped.partition(' ') + value = value.strip().strip("\"'") + key = key.strip() + if key != 'dependencies': + dependency_data[key] = value + + elif not line.startswith(' ') and stripped.endswith(':'): + # the first line of a dependency has the name and requirements + # "@babel/core@^7.1.0", "@babel/core@^7.3.4": + requirements = stripped.strip(':').split(', ') + requirements = [r.strip().strip("\"'") for r in requirements] + for req in requirements: + if req.startswith('@'): + assert req.count('@') == 2 + + ns_name, _, constraint = req.rpartition('@') + ns, _ , name = ns_name.rpartition('/') + constraint = constraint.strip("\"'") + top_requirements.append((ns, name, constraint,)) + else: - deps = [] - if current_package_data: - for dep, req in current_package_data.get('dependencies', []): - deps.append( - models.DependentPackage( - purl=PackageURL(type='npm', name=dep).to_string(), - scope='dependencies', - extracted_requirement=req, - is_runtime=True, - is_optional=False, - is_resolved=True, - ) - ) - packages.append( - cls( - namespace=current_package_data.get('namespace'), - name=current_package_data.get('name'), - version=current_package_data.get('version'), - download_url=current_package_data.get('download_url'), - dependencies=deps - ) - ) - packages_reqs.append(current_package_data.get('requirement')) - current_package_data = {} - - # Add the last element if it's not already added - if current_package_data: - for dep, req in current_package_data.get('dependencies', []): - deps.append( - models.DependentPackage( - purl=PackageURL(type='npm', name=dep).to_string(), - scope='dependencies', - extracted_requirement=req, - is_runtime=True, - is_optional=False, - is_resolved=True, - ) - ) - packages.append( - cls( - namespace=current_package_data.get('namespace'), - name=current_package_data.get('name'), - version=current_package_data.get('version'), - download_url=current_package_data.get('download_url'), - dependencies=deps - ) - ) - packages_reqs.append(current_package_data.get('requirement')) + raise Exception('Inconsistent content') + + # top_requirements should be all for the same package + ns_names = set([(ns, name) for ns, name, _constraint in top_requirements]) + assert len(ns_names) == 1, f'Different names for same dependency is not supported: {ns_names!r}' + ns, name = ns_names.pop() + version = dependency_data.get('version') + extracted_requirement = ' '.join(constraint for _ns, _name, constraint in top_requirements) + + misc = get_urls(ns, name, version) + resolved = dependency_data.get('resolved') + misc.update(get_checksum_and_url(resolved).items()) + integrity = dependency_data.get('integrity') + misc.update(get_algo_hexsum(integrity).items()) + + # we create a resolve package with the details + resolved_package_data = models.PackageData( + datasource_id=cls.datasource_id, + type=cls.default_package_type, + namespace=ns, + name=name, + version=version, + primary_language=cls.default_primary_language, + **misc, + ) - packages_dependencies = [] - for package, requirement in zip(packages, packages_reqs): - packages_dependencies.append( - models.DependentPackage( - purl=PackageURL( - type='npm', - name=package.name, - version=package.version - ).to_string(), - extracted_requirement=requirement, - scope='dependencies', - is_runtime=True, - is_optional=False, - is_resolved=True, - ) + # we add the sub-deps to the resolved package + for subns, subname, subconstraint in sub_dependencies: + subpurl = PackageURL(type=cls.default_package_type, namespace=subns, name=subname) + subconstraint = subconstraint.strip("\"'") + subdep = models.DependentPackage( + purl=str(subpurl), + extracted_requirement=subconstraint, + # FIXME: these are NOT correct + scope='dependencies', + is_optional=False, + is_runtime=True, ) + resolved_package_data.dependencies.append(subdep) + + # we create a purl with a version, since we are resolved + dep_purl = PackageURL( + type=cls.default_package_type, + namespace=ns, + name=name, + version=version, + ) + + dep = models.DependentPackage( + purl=str(dep_purl), + extracted_requirement=extracted_requirement, + is_resolved=True, + # FIXME: these are NOT correct + scope='dependencies', + is_optional=False, + is_runtime=True, + resolved_package=resolved_package_data.to_dict(), + ) + dependencies.append(dep) - yield cls(dependencies=packages_dependencies) - for package in packages: - yield package + yield models.PackageData( + datasource_id=cls.datasource_id, + type=cls.default_package_type, + primary_language=cls.default_primary_language, + dependencies=dependencies, + ) -@attr.s() -class NpmPackage(NpmPackageData, models.Package): +def get_checksum_and_url(url): """ - A NPM Package that is created out of one/multiple npm package - manifests, lockfiles, build scripts and package-like data, with it's files. + Return a mapping of {download_url, sha1} where the checksum can be a + fragment for a sha1. """ + if not url: + return {} - @property - def ignore_paths(self): - return [ - "node_modules" - ] + url, checksum = urllib.parse.urldefrag(url) + sha1_hex_len = 40 + if checksum and len(checksum) == sha1_hex_len: + return dict(download_url=url, sha1=checksum) + else: + return dict(download_url=url) - @property - def manifests(self): - return [ - PackageJson, - PackageLockJson, - YarnLockJson - ] + +def get_algo_hexsum(checksum): + """ + Return a mapping of {alogo: checksum in hex} given a prefixed checksum from + an npm manifest. + """ + if not checksum or '-' not in checksum: + return {} + + algo, _, checksum = checksum.partition('-') + # value is base64 encoded: we convert to hex + checksum = base64.b64decode(checksum.encode('ascii')).hex() + return {algo: checksum} def compute_normalized_license(declared_license): @@ -536,19 +709,26 @@ def npm_homepage_url(namespace, name, registry='https://www.npmjs.com/package'): version and a base registry web interface URL. For example: - >>> assert npm_homepage_url('@invisionag', 'eslint-config-ivx') == 'https://www.npmjs.com/package/@invisionag/eslint-config-ivx' - >>> assert npm_homepage_url(None, 'angular') == 'https://www.npmjs.com/package/angular' - >>> assert npm_homepage_url('', 'angular') == 'https://www.npmjs.com/package/angular' - >>> assert npm_homepage_url('', 'angular', 'https://yarnpkg.com/en/package/') == 'https://yarnpkg.com/en/package/angular' - >>> assert npm_homepage_url('@ang', 'angular', 'https://yarnpkg.com/en/package') == 'https://yarnpkg.com/en/package/@ang/angular' - """ - registry = registry.rstrip('/') + >>> expected = 'https://www.npmjs.com/package/@invisionag/eslint-config-ivx' + >>> assert npm_homepage_url('@invisionag', 'eslint-config-ivx') == expected + >>> expected = 'https://www.npmjs.com/package/angular' + >>> assert npm_homepage_url(None, 'angular') == expected + + >>> expected = 'https://www.npmjs.com/package/angular' + >>> assert npm_homepage_url('', 'angular') == expected + + >>> expected = 'https://yarnpkg.com/en/package/angular' + >>> assert npm_homepage_url('', 'angular', 'https://yarnpkg.com/en/package') == expected + + >>> expected = 'https://yarnpkg.com/en/package/@ang/angular' + >>> assert npm_homepage_url('@ang', 'angular', 'https://yarnpkg.com/en/package') == expected + """ if namespace: - ns_name = '/'.join([namespace, name]) + ns_name = f'{namespace}/{name}' else: ns_name = name - return '%(registry)s/%(ns_name)s' % locals() + return f'{registry}/{ns_name}' def npm_download_url(namespace, name, version, registry='https://registry.npmjs.org'): @@ -557,16 +737,21 @@ def npm_download_url(namespace, name, version, registry='https://registry.npmjs. and a base registry URL. For example: - >>> assert npm_download_url('@invisionag', 'eslint-config-ivx', '0.1.4') == 'https://registry.npmjs.org/@invisionag/eslint-config-ivx/-/eslint-config-ivx-0.1.4.tgz' - >>> assert npm_download_url('', 'angular', '1.6.6') == 'https://registry.npmjs.org/angular/-/angular-1.6.6.tgz' - >>> assert npm_download_url(None, 'angular', '1.6.6') == 'https://registry.npmjs.org/angular/-/angular-1.6.6.tgz' + >>> expected = 'https://registry.npmjs.org/@invisionag/eslint-config-ivx/-/eslint-config-ivx-0.1.4.tgz' + >>> assert npm_download_url('@invisionag', 'eslint-config-ivx', '0.1.4') == expected + + >>> expected = 'https://registry.npmjs.org/angular/-/angular-1.6.6.tgz' + >>> assert npm_download_url('', 'angular', '1.6.6') == expected + + >>> expected = 'https://registry.npmjs.org/angular/-/angular-1.6.6.tgz' + >>> assert npm_download_url(None, 'angular', '1.6.6') == expected """ - registry = registry.rstrip('/') if namespace: - ns_name = '/'.join([namespace, name]) + ns_name = f'{namespace}/{name}' + else: ns_name = name - return '{registry}/{ns_name}/-/{name}-{version}.tgz'.format(**locals()) + return f'{registry}/{ns_name}/-/{name}-{version}.tgz' def npm_api_url(namespace, name, version=None, registry='https://registry.npmjs.org'): @@ -580,15 +765,15 @@ def npm_api_url(namespace, name, version=None, registry='https://registry.npmjs. applied for scoped npms. For example: - >>> x = npm_api_url( - ... '@invisionag', 'eslint-config-ivx', '0.1.4', - ... 'https://registry.yarnpkg.com') - >>> assert x == 'https://registry.yarnpkg.com/@invisionag%2feslint-config-ivx' + >>> result = npm_api_url('@invisionag', 'eslint-config-ivx', '0.1.4', 'https://registry.yarnpkg.com') + >>> assert result == 'https://registry.yarnpkg.com/@invisionag%2feslint-config-ivx' + >>> assert npm_api_url(None, 'angular', '1.6.6') == 'https://registry.npmjs.org/angular/1.6.6' """ - registry = registry.rstrip('/') version = version or '' if namespace: + # this is a legacy wart: older registries used to always encode this / + # FIXME: do NOT encode and use plain / instead ns_name = '%2f'.join([namespace, name]) # there is no version-specific URL for scoped packages version = '' @@ -596,8 +781,8 @@ def npm_api_url(namespace, name, version=None, registry='https://registry.npmjs. ns_name = name if version: - version = '/' + version - return '{registry}/{ns_name}{version}'.format(**locals()) + version = f'/{version}' + return f'{registry}/{ns_name}{version}' def is_scoped_package(name): @@ -648,6 +833,7 @@ def split_scoped_package_name(name): if not name: return None, None + # FIXME: this legacy percent encoding/decoding should no longer be needed name = name.replace('%40', '@').replace('%2f', '/').replace('%2F', '/') name = name.rstrip('@').strip('/').strip() if not name: @@ -826,22 +1012,12 @@ def dist_mapper(dist, package): if not isinstance(dist, dict): return - integrity = dist.get('integrity') or None - if integrity: - algo, _, b64value = integrity.partition('-') - algo = algo.lower() - assert 'sha512' == algo - - decoded_b64value = base64.b64decode(b64value) - if isinstance(decoded_b64value, str): - sha512 = decoded_b64value.encode('hex') - elif isinstance(decoded_b64value, bytes): - sha512 = decoded_b64value.hex() - package.sha512 = sha512 - - sha1 = dist.get('shasum') - if sha1: - package.sha1 = sha1 + integrity = dist.get('integrity') + for algo, hexsum in get_algo_hexsum(integrity).items(): + if hasattr(package, algo): + setattr(package, algo, hexsum) + + package.sha1 = dist.get('shasum') or None dnl_url = dist.get('dnl_url') if not dnl_url: diff --git a/src/packagedcode/nuget.py b/src/packagedcode/nuget.py index 81da5719706..b828d4ab9e8 100644 --- a/src/packagedcode/nuget.py +++ b/src/packagedcode/nuget.py @@ -7,127 +7,58 @@ # See https://aboutcode.org for more information about nexB OSS projects. # -import attr import xmltodict -from commoncode import filetype from packagedcode import models from packagedcode.utils import build_description - -# TODO: add dependencies - """ -Handle nuget.org Nuget packages. +Handle NuGet packages and their manifests. """ +# TODO: add dependencies -# Tracing flags -TRACE = False - - -def logger_debug(*args): - pass - - -if TRACE: - import logging - import sys - logger = logging.getLogger(__name__) - # logging.basicConfig(level=logging.DEBUG, stream=sys.stdout) - logging.basicConfig(stream=sys.stdout) - logger.setLevel(logging.DEBUG) - def logger_debug(*args): - return logger.debug(' '.join(isinstance(a, str) and a or repr(a) for a in args)) +def get_urls(name, version): + return dict( + repository_homepage_url=f'https://www.nuget.org/packages/{name}/{version}', + repository_download_url=f'https://www.nuget.org/api/v2/package/{name}/{version}', + # the name is lowercased as in + # https://api.nuget.org/v3/registration3/newtonsoft.json/10.0.1.json + api_data_url=f'https://api.nuget.org/v3/registration3/{name.lower()}/{version}.json', + ) -@attr.s() -class NugetPackageData(models.PackageData): - # file_patterns = ('[Content_Types].xml', '*.nuspec',) +class NugetNupkgHandler(models.NonAssemblableDatafileHandler): + datasource_id = 'nuget_nupkg' + path_patterns = ('*.nupkg',) + default_package_type = 'nuget' filetypes = ('zip archive', 'microsoft ooxml',) - mimetypes = ('application/zip', 'application/octet-stream',) - # extensions = ('.nupkg',) - - default_type = 'nuget' - default_web_baseurl = 'https://www.nuget.org/packages/' - default_download_baseurl = 'https://www.nuget.org/api/v2/package/' - default_api_baseurl = 'https://api.nuget.org/v3/registration3/' + description = 'NuGet nupkg package archive' + documentation_url = 'https://en.wikipedia.org/wiki/Open_Packaging_Conventions' - @classmethod - def get_package_root(cls, manifest_resource, codebase): - if manifest_resource.name.endswith('.nupkg'): - return manifest_resource - if manifest_resource.name.endswith(('[Content_Types].xml', '.nuspec',)): - return manifest_resource.parent(codebase) - return manifest_resource - - def repository_homepage_url(self, baseurl=default_web_baseurl): - return baseurl + '{name}/{version}'.format( - name=self.name, version=self.version) - - def repository_download_url(self, baseurl=default_download_baseurl): - return baseurl + '{name}/{version}'.format( - name=self.name, version=self.version) - - def api_data_url(self, baseurl=default_api_baseurl): - # the name is lowercased - # https://api.nuget.org/v3/registration3/newtonsoft.json/10.0.1.json - return baseurl + '{name}/{version}.json'.format( - name=self.name.lower(), version=self.version) - - -nuspec_tags = [ - 'id', - 'version', - 'title', - 'authors', - 'owners', - 'licenseUrl', - 'projectUrl', - 'requireLicenseAcceptance', - 'description', - 'summary', - 'releaseNotes', - 'copyright', - 'repository/@type', - 'repository/@url', -] - - -@attr.s() -class Nuspec(NugetPackageData, models.PackageDataFile): - - file_patterns = ('*.nuspec',) - extensions = ('.nuspec',) - @classmethod - def is_package_data_file(cls, location): - """ - Return True if the file at ``location`` is likely a manifest of this type. - """ - return filetype.is_file(location) and location.endswith('.nuspec') +class NugetNuspecHandler(models.DatafileHandler): + datasource_id = 'nuget_nupsec' + path_patterns = ('*.nuspec',) + default_package_type = 'nuget' + description = 'NuGet nuspec package manifest' + documentation_url = 'https://docs.microsoft.com/en-us/nuget/reference/nuspec' @classmethod - def recognize(cls, location): - """ - Yield one or more Package manifest objects given a file ``location`` pointing to a - package archive, manifest or similar. - """ + def parse(cls, location): with open(location , 'rb') as loc: parsed = xmltodict.parse(loc) - if TRACE: - logger_debug('parsed:', parsed) if not parsed: return - pack = parsed.get('package', {}) or {} + pack = parsed.get('package') or {} nuspec = pack.get('metadata') if not nuspec: return - name=nuspec.get('id') - version=nuspec.get('version') + name = nuspec.get('id') + version = nuspec.get('version') # Summary: A short description of the package for UI display. If omitted, a # truncated version of description is used. @@ -149,37 +80,35 @@ def recognize(cls, location): if owners: parties.append(models.Party(name=owners, role='owner')) + vcs_url = None + repo = nuspec.get('repository') or {} - vcs_tool = repo.get('@type') or '' vcs_repository = repo.get('@url') or '' - vcs_url =None if vcs_repository: + vcs_tool = repo.get('@type') or '' if vcs_tool: - vcs_url = '{}+{}'.format(vcs_tool, vcs_repository) + vcs_url = f'{vcs_tool}+{vcs_repository}' else: vcs_url = vcs_repository - yield cls( + urls = get_urls(name, version) + + package_data = models.PackageData( + datasource_id=cls.datasource_id, + type=cls.default_package_type, name=name, version=version, description=description or None, homepage_url=nuspec.get('projectUrl') or None, parties=parties, + # FIXME: license has evolved and is now SPDX... declared_license=nuspec.get('licenseUrl') or None, copyright=nuspec.get('copyright') or None, vcs_url=vcs_url, + **urls, ) + if not package_data.license_expression and package_data.declared_license: + package_data.license_expression = cls.compute_normalized_license(package_data) -@attr.s() -class NugetPackage(NugetPackageData, models.Package): - """ - A Nuget Package that is created out of one/multiple nuget package - manifests. - """ - - @property - def manifests(self): - return [ - Nuspec - ] + yield package_data diff --git a/src/packagedcode/opam.py b/src/packagedcode/opam.py index 5812be38bbd..50861a5a805 100644 --- a/src/packagedcode/opam.py +++ b/src/packagedcode/opam.py @@ -7,72 +7,31 @@ # See https://aboutcode.org for more information about nexB OSS projects. # -import io -import logging import re -import attr from packageurl import PackageURL -from commoncode import filetype from packagedcode import models - """ -Handle opam package. +Handle OCaml opam package. """ -TRACE = False - -logger = logging.getLogger(__name__) - -if TRACE: - import sys - logging.basicConfig(stream=sys.stdout) - logger.setLevel(logging.DEBUG) - -@attr.s() -class OpamPackageData(models.PackageData): - - default_type = 'opam' +class OpamFileHandler(models.DatafileHandler): + datasource_id = 'opam_file' + path_patterns = ('*opam',) + default_package_type = 'opam' default_primary_language = 'Ocaml' - default_web_baseurl = 'https://opam.ocaml.org/packages' - default_download_baseurl = None - default_api_baseurl = 'https://github.com/ocaml/opam-repository/blob/master/packages' + description = 'Ocaml Opam file' + documentation_url = 'https://opam.ocaml.org/doc/Manual.html#Common-file-format' @classmethod - def get_package_root(cls, manifest_resource, codebase): - return manifest_resource.parent(codebase) - - def repository_homepage_url(self, baseurl=default_web_baseurl): - if self.name: - return '{}/{}'.format(baseurl, self.name) - - def api_data_url(self, baseurl=default_api_baseurl): - if self.name and self.version: - return '{}/{}/{}.{}/opam'.format(baseurl, self.name, self.name, self.version) - - -@attr.s() -class OpamFile(OpamPackageData, models.PackageDataFile): - - file_patterns = ('*opam',) - extensions = ('.opam',) + def get_package_root(cls, resource, codebase): + return resource.parent(codebase) @classmethod - def is_package_data_file(cls, location): - """ - Return True if the file at ``location`` is likely a manifest of this type. - """ - return filetype.is_file(location) and location.endswith('opam') - - @classmethod - def recognize(cls, location): - """ - Yield one or more Package manifest objects given a file ``location`` pointing to a - package archive, manifest or similar. - """ + def parse(cls, location): opams = parse_opam(location) package_dependencies = [] @@ -80,8 +39,8 @@ def recognize(cls, location): for dep in deps: package_dependencies.append( models.DependentPackage( - purl=dep.purl, - extracted_requirement=dep.version, + purl=dep["purl"], + extracted_requirement=dep["version"], scope='dependency', is_runtime=True, is_optional=False, @@ -91,6 +50,7 @@ def recognize(cls, location): name = opams.get('name') version = opams.get('version') + homepage_url = opams.get('homepage') download_url = opams.get('src') vcs_url = opams.get('dev-repo') @@ -100,6 +60,8 @@ def recognize(cls, location): md5 = opams.get('md5') sha256 = opams.get('sha256') sha512 = opams.get('sha512') + repository_homepage_url = get_repository_homepage_url(name) + api_data_url = get_api_data_url(name, version) short_desc = opams.get('synopsis') or '' long_desc = opams.get('description') or '' @@ -128,7 +90,9 @@ def recognize(cls, location): ) ) - package = cls( + package_data = models.PackageData( + datasource_id=cls.datasource_id, + type=cls.default_package_type, name=name, version=version, vcs_url=vcs_url, @@ -142,86 +106,29 @@ def recognize(cls, location): declared_license=declared_license, description=description, parties=parties, - dependencies=package_dependencies + dependencies=package_dependencies, + api_data_url=api_data_url, + repository_homepage_url=repository_homepage_url, + primary_language=cls.default_primary_language ) - yield package + if not package_data.license_expression and package_data.declared_license: + package_data.license_expression = models.compute_normalized_license(package_data.declared_license) + yield package_data -@attr.s() -class OpamPackage(OpamPackageData, models.Package): - """ - A Opam Package that is created out of one/multiple opam package - manifests and package-like data, with it's files. - """ + @classmethod + def assign_package_to_resources(cls, package, resource, codebase): + return super().assign_package_to_parent_tree(package, resource, codebase) - @property - def manifests(self): - return [ - OpamFile - ] +def get_repository_homepage_url(name): + return name and '{https://opam.ocaml.org/packages}/{name}' -""" -Example:- - -Sample opam file(sample3.opam): -opam-version: "2.0" -version: "4.11.0+trunk" -synopsis: "OCaml development version" -depends: [ - "ocaml" {= "4.11.0" & post} - "base-unix" {post} -] -conflict-class: "ocaml-core-compiler" -flags: compiler -setenv: CAML_LD_LIBRARY_PATH = "%{lib}%/stublibs" -build: [ - ["./configure" "--prefix=%{prefix}%"] - [make "-j%{jobs}%"] -] -install: [make "install"] -maintainer: "caml-list@inria.fr" -homepage: "https://github.com/ocaml/ocaml/" -bug-reports: "https://github.com/ocaml/ocaml/issues" -authors: [ - "Xavier Leroy" - "Damien Doligez" - "Alain Frisch" - "Jacques Garrigue" -] - ->>> p = parse_opam('sample3.opam') ->>> for k, v in p.items(): ->>> print(k, v) - -Output: -opam-version 2.0 -version 4.11.0+trunk -synopsis OCaml development version -depends [Opam(name='ocaml', version='= 4.11.0 & post'), Opam(name='base-unix', version='post')] -conflict-class ocaml-core-compiler -flags compiler -setenv CAML_LD_LIBRARY_PATH = %{lib}%/stublibs -build -install make install -maintainer ['caml-list@inria.fr'] -homepage https://github.com/ocaml/ocaml/ -bug-reports https://github.com/ocaml/ocaml/issues -authors ['Xavier Leroy', 'Damien Doligez', 'Alain Frisch', 'Jacques Garrigue'] -""" - -@attr.s() -class Opam(object): - name = attr.ib(default=None) - version = attr.ib(default=None) - @property - def purl(self): - return PackageURL( - type='opam', - name=self.name - ).to_string() +def get_api_data_url(name, version): + if name and version: + return f'https://github.com/ocaml/opam-repository/blob/master/packages/{name}/{name}.{version}/opam' # Regex expressions to parse file lines @@ -259,78 +166,92 @@ def purl(self): >>> assert p.group('version') == ('{= "1.0.0"}') """ + def parse_opam(location): """ - Return a mapping of package data collected from the opam OCaml package manifest file at `location`. + Return a mapping of package data collected from the opam OCaml package + manifest file at ``location``. + """ + with open(location) as od: + text = od.read() + return parse_opam_from_text(text) + + +def parse_opam_from_text(text): + """ + Return a mapping of package data collected from the opam OCaml package + manifest ``text``. """ - with io.open(location, encoding='utf-8') as data: - lines = data.readlines() opam_data = {} + lines = text.splitlines() for i, line in enumerate(lines): parsed_line = parse_file_line(line) - if parsed_line: - key = parsed_line.group('key').strip() - value = parsed_line.group('value').strip() - if key == 'description': # Get multiline description - value = '' - for cont in lines[i+1:]: - value += ' ' + cont.strip() - if '"""' in cont: + if not parsed_line: + continue + key = parsed_line.group('key').strip() + value = parsed_line.group('value').strip() + if key == 'description': # Get multiline description + value = '' + for cont in lines[i + 1:]: + value += ' ' + cont.strip() + if '"""' in cont: + break + + opam_data[key] = clean_data(value) + + if key == 'maintainer': + stripped_val = value.strip('["] ') + stripped_val = stripped_val.split('" "') + opam_data[key] = stripped_val + elif key == 'authors': + if '[' in line: # If authors are present in multiple lines + for authors in lines[i + 1:]: + value += ' ' + authors.strip() + if ']' in authors: break - + value = value.strip('["] ') + else: + value = clean_data(value) + value = value.split('" "') + opam_data[key] = value + elif key == 'depends': # Get multiline dependencies + value = [] + for dep in lines[i + 1:]: + if ']' in dep: + break + parsed_dep = parse_dep(dep) + if parsed_dep: + version = parsed_dep.group('version').strip('{ } ').replace('"', '') + name = parsed_dep.group('name').strip() + value.append(dict( + purl=PackageURL(type='opam', name=name).to_string(), + version=version, + )) + opam_data[key] = value + + elif key == 'src': # Get multiline src + if not value: + value = lines[i + 1].strip() opam_data[key] = clean_data(value) - - if key == 'maintainer': - stripped_val = value.strip('["] ') - stripped_val = stripped_val.split('" "') - opam_data[key] = stripped_val - elif key == 'authors': - if '[' in line: # If authors are present in multiple lines - for authors in lines[i+1:]: - value += ' ' + authors.strip() - if ']' in authors: - break - value = value.strip('["] ') - else: - value = clean_data(value) - value = value.split('" "') - opam_data[key] = value - elif key == 'depends': # Get multiline dependencies - value = [] - for dep in lines[i+1:]: - if ']' in dep: + elif key == 'checksum': # Get checksums + if '[' in line: + for checksum in lines[i + 1:]: + checksum = checksum.strip('" ') + if ']' in checksum: break - parsed_dep = parse_dep(dep) - if parsed_dep: - value.append(Opam( - name=parsed_dep.group('name').strip(), - version=parsed_dep.group('version').strip('{ } ').replace('"', '') - ) - ) - opam_data[key] = value - elif key == 'src': # Get multiline src - if not value: - value = lines[i+1].strip() - opam_data[key] = clean_data(value) - elif key == 'checksum': # Get checksums - if '[' in line: - for checksum in lines[i+1:]: - checksum = checksum.strip('" ') - if ']' in checksum: - break - parsed_checksum = parse_checksum(checksum) - key = clean_data(parsed_checksum.group('key').strip()) - value = clean_data(parsed_checksum.group('value').strip()) - opam_data[key] = value - else: - value = value.strip('" ') - parsed_checksum = parse_checksum(value) - if parsed_checksum: - key = clean_data(parsed_checksum.group('key').strip()) - value = clean_data(parsed_checksum.group('value').strip()) - opam_data[key] = value + parsed_checksum = parse_checksum(checksum) + key = clean_data(parsed_checksum.group('key').strip()) + value = clean_data(parsed_checksum.group('value').strip()) + opam_data[key] = value + else: + value = value.strip('" ') + parsed_checksum = parse_checksum(value) + if parsed_checksum: + key = clean_data(parsed_checksum.group('key').strip()) + value = clean_data(parsed_checksum.group('value').strip()) + opam_data[key] = value return opam_data diff --git a/src/packagedcode/phpcomposer.py b/src/packagedcode/phpcomposer.py index d0f639696d1..39fdc3979c0 100644 --- a/src/packagedcode/phpcomposer.py +++ b/src/packagedcode/phpcomposer.py @@ -7,20 +7,13 @@ # See https://aboutcode.org for more information about nexB OSS projects. # -from functools import partial import io import json -import logging -import sys - -import attr +from functools import partial -from commoncode import filetype -from commoncode import fileutils from packagedcode import models from packagedcode.utils import combine_expressions - """ Parse PHP composer package manifests, see https://getcomposer.org/ and https://packagist.org/ @@ -29,109 +22,101 @@ similar. """ -TRACE = False - - -def logger_debug(*args): - pass - -logger = logging.getLogger(__name__) - -if TRACE: - logging.basicConfig(stream=sys.stdout) - logger.setLevel(logging.DEBUG) - - def logger_debug(*args): - return logger.debug(' '.join(isinstance(a, str) and a or repr(a) for a in args)) - - -@attr.s() -class PhpComposerPackageData(models.PackageData): - - mimetypes = ('application/json',) - - default_type = 'composer' - default_primary_language = 'PHP' - default_web_baseurl = 'https://packagist.org' - default_download_baseurl = None - default_api_baseurl = 'https://packagist.org/p' +class BasePhpComposerHandler(models.DatafileHandler): @classmethod - def get_package_root(cls, manifest_resource, codebase): - return manifest_resource.parent(codebase) - - def repository_homepage_url(self, baseurl=default_web_baseurl): - if self.namespace: - return '{}/packages/{}/{}'.format(baseurl, self.namespace, self.name) + def assemble(cls, package_data, resource, codebase): + datafile_name_patterns = ( + 'composer.json', + 'composer.lock', + ) + + if resource.has_parent(): + dir_resource=resource.parent(codebase) else: - return '{}/packages/{}'.format(baseurl, self.name) + dir_resource=resource - def api_data_url(self, baseurl=default_api_baseurl): - if self.namespace: - return '{}/packages/{}/{}.json'.format(baseurl, self.namespace, self.name) - else: - return '{}/packages/{}.json'.format(baseurl, self.name) + yield from cls.assemble_from_many_datafiles( + datafile_name_patterns=datafile_name_patterns, + directory=dir_resource, + codebase=codebase, + ) + + @classmethod + def assign_package_to_resources(cls, package, resource, codebase): + return super().assign_package_to_parent_tree(package, resource, codebase) - def compute_normalized_license(self): + @classmethod + def compute_normalized_license(cls, package): """ Per https://getcomposer.org/doc/04-schema.md#license this is an expression """ - return compute_normalized_license(self.declared_license) - + return compute_normalized_license(package.declared_license) -@attr.s() -class ComposerJson(PhpComposerPackageData, models.PackageDataFile): - file_patterns = ( - 'composer.json', - ) - extensions = ('.json',) - - @classmethod - def is_package_data_file(cls, location): - """ - Return True if the file at ``location`` is likely a manifest of this type. - """ - return filetype.is_file(location) and fileutils.file_name(location).lower() == 'composer.json' +class PhpComposerJsonHandler(BasePhpComposerHandler): + datasource_id = 'php_composer_json' + path_patterns = ('*composer.json',) + default_package_type = 'composer' + default_primary_language = 'PHP' + description = 'PHP composer manifest' + documentation_url = 'https://getcomposer.org/doc/04-schema.md' @classmethod - def recognize(cls, location): + def parse(cls, location): """ - Yield one or more Package manifest objects given a file ``location`` pointing to a - package archive, manifest or similar. + Yield one or more Package manifest objects given a file ``location`` + pointing to a package archive, manifest or similar. - Note that this is NOT exactly the packagist .json format (all are closely related of - course but have important (even if minor) differences. + Note that this is NOT exactly the packagist.json format (all are closely + related of course but have important (even if minor) differences. """ with io.open(location, encoding='utf-8') as loc: - package_data = json.load(loc) + package_json = json.load(loc) - yield build_package_data(cls, package_data) + yield build_package_data(package_json) -def build_package_data(cls, package_data): - - # A composer.json without name and description is not a usable PHP - # composer package. Name and description fields are required but - # only for published packages: - # https://getcomposer.org/doc/04-schema.md#name - # We want to catch both published and non-published packages here. - # Therefore, we use "private-package-without-a-name" as a package name if - # there is no name. +def get_repository_homepage_url(namespace, name): + if namespace and name: + return f'https://packagist.org/packages/{namespace}/{name}' + elif name: + return f'https://packagist.org/packages/{name}' + + +def get_api_data_url(namespace, name): + if namespace and name: + return f'https://packagist.org/p/packages/{namespace}/{name}.json' + elif name: + return f'https://packagist.org/p/packages/{name}.json' + + +def build_package_data(package_data): + + # Note: A composer.json without name and description is not a usable PHP + # composer package. Name and description fields are required but only for + # published packages: https://getcomposer.org/doc/04-schema.md#name We want + # to catch both published and non-published packages here. Therefore, we use + # None as a package name if there is no name. ns_name = package_data.get('name') is_private = False if not ns_name: ns = None - name = 'private-package-without-a-name' + name = None is_private = True else: ns, _, name = ns_name.rpartition('/') - package = cls( + package = models.PackageData( + datasource_id=PhpComposerJsonHandler.datasource_id, + type=PhpComposerJsonHandler.default_package_type, namespace=ns, name=name, + repository_homepage_url=get_repository_homepage_url(ns, name), + api_data_url=get_api_data_url(ns, name), + primary_language=PhpComposerJsonHandler.default_primary_language, ) # mapping of top level composer.json items to the Package object field name @@ -167,50 +152,41 @@ def build_package_data(cls, package_data): ] for source, func in field_mappers: - logger.debug('parse: %(source)r, %(func)r' % locals()) value = package_data.get(source) if value: if isinstance(value, str): value = value.strip() if value: func(value, package) + # Parse vendor from name value vendor_mapper(package) - return package -@attr.s() -class ComposerLock(PhpComposerPackageData, models.PackageDataFile): + if not package.license_expression and package.declared_license: + package.license_expression = models.compute_normalized_license(package.declared_license) - file_patterns = ( - 'composer.lock', - ) - extensions = ('.lock',) + return package - @classmethod - def is_package_data_file(cls, location): - """ - Return True if the file at ``location`` is likely a manifest of this type. - """ - return filetype.is_file(location) and fileutils.file_name(location).lower() == 'composer.lock' - @classmethod - def recognize(cls, location): - """ - Yield one or more Package manifest objects given a file ``location`` pointing to a - package archive, manifest or similar. +class PhpComposerLockHandler(BasePhpComposerHandler): + datasource_id = 'php_composer_lock' + path_patterns = ('*composer.lock',) + default_package_type = 'composer' + default_primary_language = 'PHP' + description = 'PHP composer lockfile' + documentation_url = 'https://getcomposer.org/doc/01-basic-usage.md#commit-your-composer-lock-file-to-version-control' - Note that this is NOT exactly the packagist .json format (all are closely related of - course but have important (even if minor) differences. - """ + @classmethod + def parse(cls, location): with io.open(location, encoding='utf-8') as loc: package_data = json.load(loc) - + packages = [ - build_package_data(cls, p) + build_package_data(p) for p in package_data.get('packages', []) ] packages_dev = [ - build_package_data(cls, p) + build_package_data(p) for p in package_data.get('packages-dev', []) ] @@ -223,27 +199,17 @@ def recognize(cls, location): for p in packages_dev ] - yield cls(dependencies=required_deps + required_dev_deps) + yield models.PackageData( + datasource_id=cls.datasource_id, + type=cls.default_package_type, + primary_language=cls.default_primary_language, + dependencies=required_deps + required_dev_deps + ) for package in packages + packages_dev: yield package -@attr.s() -class PhpPackage(PhpComposerPackageData, models.Package): - """ - A PHP Package that is created out of one/multiple python package - manifests. - """ - - @property - def manifests(self): - return [ - ComposerJson, - ComposerLock - ] - - def compute_normalized_license(declared_license): """ Return a normalized license expression string detected from a list of @@ -429,4 +395,3 @@ def build_dep_package(package, scope, is_runtime, is_optional): is_optional=is_optional, is_resolved=True, ) - diff --git a/src/packagedcode/plugin_package.py b/src/packagedcode/plugin_package.py index ebca715c6f4..9a819320b33 100644 --- a/src/packagedcode/plugin_package.py +++ b/src/packagedcode/plugin_package.py @@ -7,65 +7,64 @@ # See https://aboutcode.org for more information about nexB OSS projects. # - import attr import click import os -import sys -import uuid +import logging -from plugincode.scan import ScanPlugin -from plugincode.scan import scan_impl from commoncode.cliutils import PluggableCommandLineOption from commoncode.cliutils import DOC_GROUP from commoncode.cliutils import SCAN_GROUP +from commoncode.resource import Resource +from plugincode.scan import scan_impl +from plugincode.scan import ScanPlugin -from packageurl import PackageURL -from packagedcode import get_package_instance -from packagedcode import PACKAGE_DATA_CLASSES -from packagedcode import PACKAGE_INSTANCES_BY_TYPE +from packagedcode import get_package_handler from packagedcode.models import Dependency - +from packagedcode.models import Package +from packagedcode.models import PackageData TRACE = os.environ.get('SCANCODE_DEBUG_PACKAGE', False) -if TRACE: - use_print = True +def logger_debug(*args): + pass - if use_print: - printer = print - else: - import logging - logger = logging.getLogger(__name__) - # logging.basicConfig(level=logging.DEBUG, stream=sys.stdout) - logging.basicConfig(stream=sys.stdout) - logger.setLevel(logging.DEBUG) - printer = logger.debug +logger = logging.getLogger(__name__) + +if TRACE: + import sys + + logging.basicConfig(stream=sys.stdout) + logger.setLevel(logging.DEBUG) def logger_debug(*args): - return printer(' '.join(isinstance(a, str) and a or repr(a) - for a in args)) + return logger.debug(' '.join(isinstance(a, str) and a or repr(a) for a in args)) + def print_packages(ctx, param, value): + """ + Print the list of supported package manifests and datafile formats + """ if not value or ctx.resilient_parsing: return - for package_cls in sorted(PACKAGE_DATA_CLASSES, key=lambda pc: (pc.default_type)): + + from packagedcode import PACKAGE_DATAFILE_HANDLERS + + for cls in sorted( + PACKAGE_DATAFILE_HANDLERS, key=lambda pc: (pc.default_package_type or '', pc.datasource_id) + ): + pp = ', '.join(repr(p) for p in cls.path_patterns) click.echo('--------------------------------------------') - click.echo('Package: {self.default_type}'.format(self=package_cls)) - click.echo( - ' class: {self.__module__}:{self.__name__}'.format(self=package_cls)) - if package_cls.file_patterns: - click.echo(' file_patterns: ', nl=False) - click.echo(', '.join(package_cls.file_patterns)) - if package_cls.extensions: - click.echo(' extensions: ', nl=False) - click.echo(', '.join(package_cls.extensions)) - if package_cls.filetypes: - click.echo(' filetypes: ', nl=False) - click.echo(', '.join(package_cls.filetypes)) - click.echo('') + click.echo(f'Package type: {cls.default_package_type}') + if cls.datasource_id is None: + raise Exception(cls) + click.echo(f' datasource_id: {cls.datasource_id}') + click.echo(f' documentation URL: {cls.documentation_url}') + click.echo(f' primary language: {cls.default_primary_language}') + click.echo(f' description: {cls.description}') + click.echo(f' path_patterns: {pp}') ctx.exit() @@ -73,34 +72,47 @@ def print_packages(ctx, param, value): class PackageScanner(ScanPlugin): """ Scan a Resource for Package data and report these as "package_data" at the - right file or directory level. Then create package instances with these and - other package information and files, and report these as "packages" at the - top level (codebase level). + file level. Then create "packages" from these "package_data" at the top + level. """ - resource_attributes = {} - codebase_attributes = {} - codebase_attributes['dependencies'] = attr.ib(default=attr.Factory(list), repr=False) - codebase_attributes['packages'] = attr.ib(default=attr.Factory(list), repr=False) - resource_attributes['package_data'] = attr.ib(default=attr.Factory(list), repr=False) - resource_attributes['for_packages'] = attr.ib(default=attr.Factory(list), repr=False) - sort_order = 6 + codebase_attributes = dict( + # a list of dependencies + dependencies=attr.ib(default=attr.Factory(list), repr=False), + # a list of packages + packages=attr.ib(default=attr.Factory(list), repr=False), + ) + resource_attributes = dict( + # a list of package data + package_data=attr.ib(default=attr.Factory(list), repr=False), + # a list of purls with UUID that a file belongs to + for_packages=attr.ib(default=attr.Factory(list), repr=False), + ) + + required_plugins = ['scan:licenses'] - required_plugins = ['scan:licenses', ] + sort_order = 6 options = [ - PluggableCommandLineOption(('-p', '--package',), - is_flag=True, default=False, - help='Scan for package data and build scripts.', + PluggableCommandLineOption( + ( + '-p', + '--package', + ), + is_flag=True, + default=False, + help='Scan for package and dependency manifests, lockfiles and related data.', help_group=SCAN_GROUP, - sort_order=20), - + sort_order=20, + ), PluggableCommandLineOption( ('--list-packages',), - is_flag=True, is_eager=True, + is_flag=True, + is_eager=True, callback=print_packages, - help='Show the list of supported package types and exit.', - help_group=DOC_GROUP), + help='Show the list of supported package manifest parsers and exit.', + help_group=DOC_GROUP, + ), ] def is_enabled(self, package, **kwargs): @@ -108,175 +120,85 @@ def is_enabled(self, package, **kwargs): def get_scanner(self, **kwargs): """ - Return a scanner callable to scan a Resource for packages. + Return a scanner callable to scan a file for package data. """ from scancode.api import get_package_data + return get_package_data def process_codebase(self, codebase, **kwargs): """ - Populate top level `packages` with package instances. + Populate the ``codebase`` top level ``packages`` and ``dependencies`` + with package and dependency instances, assembling parsed package data + from one or more datafiles as needed. """ - create_package_and_dep_instances(codebase, **kwargs) + create_package_and_deps(codebase, **kwargs) -def create_package_and_dep_instances(codebase, **kwargs): +def create_package_and_deps(codebase, **kwargs): """ - Create package instances from package data present in the codebase. + Create and save top-level Package and Dependency from the parsed + package data present in the codebase. """ - package_data_files = [] - package_instance_by_id = {} - - dependency_data_paths = [] - dependency_instance_by_id = {} + # track resource ids that have been already processed + seen_resource_ids = set() + dependencies_top_level = [] + packages_top_level = [] for resource in codebase.walk(topdown=False): if not resource.package_data: continue - # continue if this resource is already in a package_instance - if resource.path in package_data_files: + if resource.rid in seen_resource_ids: continue if TRACE: - logger_debug( - 'create_package_and_dep_instances:', - 'location:', resource.location, + logger_debug('create_package_and_deps: location:', resource.location) + + for package_data in resource.package_data: + try: + package_data = PackageData.from_dict(package_data) + except Exception as e: + raise Exception( + 'create_package_and_deps: Failed to create PackageData:', + package_data, + ) from e + + if TRACE: + logger_debug(' create_package_and_deps: package_data:', package_data) + + # Find a handler for this package datasource to assemble collect + # packages and deps + handler = get_package_handler(package_data) + if TRACE: + logger_debug(' create_package_and_deps: handler:', handler) + click.echo(f' create_package_and_deps: handler: {handler}') + items = handler.assemble( + package_data=package_data, + resource=resource, + codebase=codebase, ) - # Currently we assume there is only one PackageData - # ToDo: Do this for multiple PackageDatas per resource - package_data = resource.package_data[0] - - # Check if the package data has all the mandatory attributes to create a pURL - if not package_data.get("name"): + for item in items: + if TRACE: + logger_debug(' create_package_and_deps: item:', item) - # Check if package_data is from lockfile - if package_data.get("dependencies"): - dependency_data_paths.append(resource.path) - for dependency_instance in create_dependency_instances( - resource.path, - package_data.get("dependencies") - ): - dependency_instance_by_id[dependency_instance.dependency_uuid] = dependency_instance + if isinstance(item, Package): + packages_top_level.append(item) - continue - - # Check if Package is implemented for this package type - pk_instance_class = PACKAGE_INSTANCES_BY_TYPE.get(package_data["type"]) - if not pk_instance_class: - continue + elif isinstance(item, Dependency): + dependencies_top_level.append(item) - # create a Package object of the package type which this manifest belongs to - pk_instance = pk_instance_class() - pk_instance_uuid = uuid.uuid4() - package_instance_by_id[pk_instance_uuid] = pk_instance + elif isinstance(item, Resource): + seen_resource_ids.add(item.rid) + if TRACE: + logger_debug( + ' create_package_and_deps: seen_resource_ids:', + seen_resource_ids, + ) - # use `get_other_package_data` to get other package_data files of this instance - package_data_by_path = pk_instance.get_other_package_data(resource, codebase) - package_data_by_path[resource.path] = package_data - - # populate Package with data from it's package_data files - pk_instance.populate_package_data(package_data_by_path, uuid=pk_instance_uuid) - - if TRACE: - logger_debug( - 'create_package_and_dep_instances:', - 'package_data_by_path:', package_data_by_path, - ) - - # add `path` into `package_data_files` for all package_datas - for path, package_data in package_data_by_path.items(): - package_data_files.append(path) - - if package_data.get("dependencies"): - if path in dependency_data_paths: - set_package_uuid_for_dependencies( - dependency_instance_by_id, - path, - pk_instance.package_uuid, - ) - continue - - dependency_data_paths.append(path) - for dep_instance in create_dependency_instances( - path, - package_data.get("dependencies") - ): - dependency_instance_by_id[dep_instance.dependency_uuid] = dep_instance - dep_instance.for_package = pk_instance.package_uuid - - # get files for this Package - pk_instance.files = tuple(pk_instance.get_package_files(resource, codebase)) - - # add `package_uuid` to `for_packages` for all files of that package - update_files_with_package_uuid(pk_instance.files, codebase, pk_instance.package_uuid) - - if TRACE: - logger_debug( - 'create_package_and_dep_instances:', - 'pk_instance:', pk_instance, - ) - - if TRACE: - logger_debug( - 'create_package_and_dep_instances:', - 'package_data_files:', package_data_files, - ) - - # Get unique Package objects from `package_instance_by_id` - for package_instance in list(package_instance_by_id.values()): - codebase.attributes.packages.append(package_instance.to_dict()) - - # Get unique Dependency objects from `dependency_instance_by_id` - for dependency_instance in list(dependency_instance_by_id.values()): - codebase.attributes.dependencies.append(dependency_instance.to_dict()) - - -def update_files_with_package_uuid(file_paths, codebase, package_uuid): - """ - For the corresponding resources to a list of `file_paths` for a Package, - set their `for_packages` with the `package_uuid`. - """ - for file_path in file_paths: - resource = codebase.get_resource_from_path(file_path) - resource.for_packages.append(package_uuid) - resource.save(codebase) - - -def set_package_uuid_for_dependencies(dependency_instance_by_id, path, pk_instance_uuid): - """ - For all dependency instances in `dependency_instance_by_id` which were collected from a - specific `path` update their `for_package` attribute to `pk_instance_uuid`. - """ - for dep_instance in dependency_instance_by_id.values(): - if path is dep_instance.lockfile: - dep_instance.for_package = pk_instance_uuid - - -def create_dependency_instances(path, dependencies): - """ - Return a list of Dependency obejcts corresponding to - each dependency in the `package_data` level `dependencies` list. - """ - dependency_instances = [] - - for dependency in dependencies: - purl = PackageURL.from_string(dependency['purl']) - purl.qualifiers["uuid"] = str(uuid.uuid4()) - - dependency_instances.append( - Dependency( - dependency_uuid=purl.to_string(), - lockfile=path, - purl=dependency['purl'], - extracted_requirement=dependency['extracted_requirement'], - scope=dependency['scope'], - is_runtime=dependency['is_runtime'], - is_optional=dependency['is_optional'], - is_resolved=dependency['is_resolved'], - resolved_package=dependency['resolved_package'] - ) - ) + else: + raise Exception(f'Unknown package assembly item type: {item!r}') - return dependency_instances + codebase.attributes.packages.extend(pkg.to_dict() for pkg in packages_top_level) + codebase.attributes.dependencies.extend(dep.to_dict() for dep in dependencies_top_level) diff --git a/src/packagedcode/pubspec.py b/src/packagedcode/pubspec.py index f239425ac71..694bf9b4972 100644 --- a/src/packagedcode/pubspec.py +++ b/src/packagedcode/pubspec.py @@ -7,40 +7,17 @@ # See https://aboutcode.org for more information about nexB OSS projects. # -import logging -import sys import warnings -import attr import saneyaml -from commoncode import filetype from packageurl import PackageURL from packagedcode import models from packagedcode.utils import combine_expressions - -TRACE = False - - -def logger_debug(*args): - pass - - -logger = logging.getLogger(__name__) - -if TRACE: - logging.basicConfig(stream=sys.stdout) - logger.setLevel(logging.DEBUG) - - def logger_debug(*args): - return logger.debug(''.join(isinstance(a, str) and a or repr(a) for a in args)) - """ Collect data from Dart pub packages. See https://dart.dev/tools/pub/pubspec -""" -""" TODO: - license is only in a LICENSE file https://dart.dev/tools/pub/publishing#preparing-to-publish @@ -56,34 +33,51 @@ def logger_debug(*args): See https://github.com/dart-lang/pub/blob/master/doc/repository-spec-v2.md """ +# FIXME: warnings reported here DO NOT work. We should have a better way -@attr.s() -class PubspecPackageData(models.PackageData): - default_type = 'pubspec' - default_primary_language = 'dart' - default_web_baseurl = 'https://pub.dev/packages' - default_download_baseurl = 'https://pub.dartlang.org/packages' - default_api_baseurl = 'https://pub.dev/api/packages' - def repository_homepage_url(self, baseurl=default_web_baseurl): - return f'{baseurl}/{self.name}/versions/{self.version}' +class BaseDartPubspecHandler(models.DatafileHandler): + + @classmethod + def assemble(cls, package_data, resource, codebase): + datafile_name_patterns = \ + DartPubspecYamlHandler.path_patterns + DartPubspecLockHandler.path_patterns + + if resource.has_parent(): + dir_resource=resource.parent(codebase) + else: + dir_resource=resource - def repository_download_url(self, baseurl=default_download_baseurl): - # A URL should be in the form of: - # https://pub.dartlang.org/packages/url_launcher/versions/6.0.9.tar.gz - # And it may resolve to: - # https://storage.googleapis.com/pub-packages/packages/http-0.13.2.tar.gz - # as seen in the pub.dev web pages - return f'{baseurl}/{self.name}/versions/{self.version}.tar.gz' + yield from cls.assemble_from_many_datafiles( + datafile_name_patterns=datafile_name_patterns, + directory=dir_resource, + codebase=codebase, + ) - def api_data_url(self, baseurl=default_api_baseurl): - return f'{baseurl}/{self.name}/versions/{self.version}' + @classmethod + def compute_normalized_license(cls, package): + return compute_normalized_license(package.declared_license) - def compute_normalized_license(self): - return compute_normalized_license(self.declared_license) +class DartPubspecYamlHandler(BaseDartPubspecHandler): + datasource_id = 'pubspec_yaml' + path_patterns = ('*pubspec.yaml',) + default_package_type = 'pubspec' + default_primary_language = 'dart' + description = 'Dart pubspec manifest' + documentation_url = 'https://dart.dev/tools/pub/pubspec' -def compute_normalized_license(declared_license, location=None): + @classmethod + def parse(cls, location): + with open(location) as inp: + pubspec_data = saneyaml.load(inp.read()) + + package_data = build_package(pubspec_data) + if package_data: + yield package_data + + +def compute_normalized_license(declared_license): """ Return a normalized license expression string detected from a list of declared license items. @@ -106,79 +100,27 @@ def compute_normalized_license(declared_license, location=None): return combine_expressions(detected_licenses) -@attr.s() -class PubspecYaml(PubspecPackageData, models.PackageDataFile): - - file_patterns = ('*pubspec.yaml',) - extensions = ('.yaml',) - - @classmethod - def is_package_data_file(cls, location): - """ - Return True if the file at ``location`` is likely a manifest of this type. - """ - return file_endswith(location, 'pubspec.yaml') - - @classmethod - def recognize(cls, location, compute_normalized_license=False): - """ - Yield one or more Package manifest objects given a file ``location`` pointing to a - package archive, manifest or similar. - """ - with open(location) as inp: - package_data = saneyaml.load(inp.read()) - - package = build_package(cls, package_data) - if package and compute_normalized_license: - package.compute_normalized_license() - yield package - - -def file_endswith(location, endswith): - """ - Check if the file at ``location`` ends with ``endswith`` string or tuple. - """ - return filetype.is_file(location) and location.endswith(endswith) - - -@attr.s() -class PubspecLock(PubspecPackageData, models.PackageDataFile): - - file_patterns = ('*pubspec.lock',) - extensions = ('.lock',) - - @classmethod - def is_package_data_file(cls, location): - """ - Return True if the file at ``location`` is likely a manifest of this type. - """ - return file_endswith(location, 'pubspec.lock') +class DartPubspecLockHandler(BaseDartPubspecHandler): + datasource_id = 'pubspec_lock' + path_patterns = ('*pubspec.lock',) + default_package_type = 'pubspec' + default_primary_language = 'dart' + description = 'Dart pubspec lockfile' + documentation_url = 'https://web.archive.org/web/20220330081004/https://gpalma.pt/blog/what-is-the-pubspec-lock/' @classmethod - def recognize(cls, location): - """ - Yield one or more Package manifest objects given a file ``location`` pointing to a - package archive, manifest or similar. - """ + def parse(cls, location): with open(location) as inp: locks_data = saneyaml.load(inp.read()) - yield cls(dependencies=list(collect_locks(locks_data))) - - -@attr.s() -class PubspecPackage(PubspecPackageData, models.Package): - """ - A Pubspec Package that is created out of one/multiple pubspec package - manifests. - """ + dependencies = list(collect_locks(locks_data)) - @property - def manifests(self): - return [ - PubspecYaml, - PubspecLock - ] + yield models.PackageData( + datasource_id=cls.datasource_id, + type=cls.default_package_type, + primary_language=cls.default_primary_language, + dependencies=dependencies + ) def collect_locks(locks_data): @@ -303,10 +245,17 @@ def build_dep(name, version, scope, is_runtime=True, is_optional=False): if version.replace('.', '').isdigit(): # version is pinned exactly if it is only made of dots and digits - purl = PackageURL(type='pubspec', name=name, version=version) + purl = PackageURL( + type='pubspec', + name=name, + version=version, + ) is_resolved = True else: - purl = PackageURL(type='pubspec', name=name) + purl = PackageURL( + type='pubspec', + name=name, + ) is_resolved = False dep = models.DependentPackage( @@ -320,7 +269,7 @@ def build_dep(name, version, scope, is_runtime=True, is_optional=False): return dep -def build_package(cls, pubspec_data): +def build_package(pubspec_data): """ Return a package object from a package data mapping or None """ @@ -332,6 +281,18 @@ def build_package(cls, pubspec_data): vcs_url = pubspec_data.get('repository') download_url = pubspec_data.get('archive_url') + api_data_url = name and version and f'https://pub.dev/api/packages/{name}/versions/{version}' + repository_homepage_url = name and version and f'https://pub.dev/packages/{name}/versions/{version}' + + # A URL should be in the form of: + # https://pub.dartlang.org/packages/url_launcher/versions/6.0.9.tar.gz + # And it may resolve to: + # https://storage.googleapis.com/pub-packages/packages/http-0.13.2.tar.gz + # as seen in the pub.dev web pages + repository_download_url = name and version and f'https://pub.dartlang.org/packages/{name}/versions/{version}.tar.gz' + + download_url = download_url or repository_download_url + # Author and authors are deprecated authors = [] author = pubspec_data.get('author') @@ -385,9 +346,13 @@ def add_to_extra_if_present(_key): add_to_extra_if_present('executables') add_to_extra_if_present('publish_to') - package = cls( + package = models.PackageData( + datasource_id=DartPubspecYamlHandler.datasource_id, + type=DartPubspecYamlHandler.default_primary_language, + primary_language=DartPubspecYamlHandler.default_primary_language, name=name, version=version, + download_url=download_url, vcs_url=vcs_url, description=description, declared_license=declared_license, @@ -395,10 +360,12 @@ def add_to_extra_if_present(_key): homepage_url=homepage_url, dependencies=package_dependencies, extra_data=extra_data, + repository_homepage_url=repository_homepage_url, + api_data_url=api_data_url, + repository_download_url=repository_download_url, ) - if not download_url: - package.download_url = package.repository_download_url() + if not package.license_expression and package.declared_license: + package.license_expression = models.compute_normalized_license(package.declared_license) return package - diff --git a/src/packagedcode/pypi.py b/src/packagedcode/pypi.py index a6c97cf2182..185606d81ba 100644 --- a/src/packagedcode/pypi.py +++ b/src/packagedcode/pypi.py @@ -9,7 +9,6 @@ # import ast -import fnmatch import io import json import logging @@ -19,25 +18,23 @@ import zipfile from pathlib import Path -import attr import dparse2 import pip_requirements_parser import pkginfo2 +from commoncode import fileutils from packageurl import PackageURL -from packaging.requirements import Requirement from packaging import markers +from packaging.requirements import Requirement from packaging.utils import canonicalize_name -from commoncode import filetype -from commoncode import fileutils from packagedcode import models from packagedcode.utils import build_description from packagedcode.utils import combine_expressions -try: - import importlib.metadata as importlib_metadata -except ImportError: - import importlib_metadata +# FIXME: we always want to use the external library rather than the built-in for now +import importlib_metadata +import base64 +from commoncode.fileutils import as_posixpath try: from zipfile import Path as ZipPath @@ -48,6 +45,8 @@ Detect and collect Python packages information. """ # TODO: add support for poetry and setup.cfg and metadata.json +# TODO: add support for pex, pyz, etc. +# TODO: Add missing ABOUT file for Pyserial code TRACE = False @@ -66,64 +65,240 @@ def logger_debug(*args): return logger.debug(' '.join(isinstance(a, str) and a or repr(a) for a in args)) -@attr.s() -class PythonPackageData(models.PackageData): - default_type = 'pypi' +class BasePypiHandler(models.DatafileHandler): + + @classmethod + def compute_normalized_license(cls, package): + return compute_normalized_license(package.declared_license) + + +class PythonEggPkgInfoFile(BasePypiHandler): + datasource_id = 'pypi_egg_pkginfo' + default_package_type = 'pypi' default_primary_language = 'Python' - default_web_baseurl = 'https://pypi.org' - default_download_baseurl = 'https://pypi.org/packages/source' - default_api_baseurl = 'https://pypi.org/pypi' - - def compute_normalized_license(self): - return compute_normalized_license(self.declared_license) - - def repository_homepage_url(self, baseurl=default_web_baseurl): - if self.name: - return f'{baseurl}/project/{baseurl}' - - def repository_download_url(self, baseurl=default_download_baseurl): - if self.name and self.version: - name = self.name - name1 = name[0] - return f'{baseurl}/{name1}/{name}/{name}-{self.version}.tar.gz' - - def api_data_url(self, baseurl=default_api_baseurl): - if self.name: - if self.version: - return f'{baseurl}/{self.name}/{self.version}/json' - else: - return f'{baseurl}/{self.name}/json' + path_patterns = ('*/EGG-INFO/PKG-INFO',) + description = 'PyPI extracted egg PKG-INFO' + documentation_url = 'https://peps.python.org/pep-0376/' + @classmethod + def parse(cls, location): + yield parse_metadata( + location=location, + datasource_id=cls.datasource_id, + package_type=cls.default_package_type, + ) -meta_dir_suffixes = '.dist-info', '.egg-info', 'EGG-INFO', -meta_file_names = 'PKG-INFO', 'METADATA', + @classmethod + def assign_package_to_resources(cls, package, resource, codebase): + # two levels up + root = resource.parent(codebase).parent(codebase) + if root: + return cls.assign_package_to_resources(package, root, codebase) -@attr.s() -class MetadataFile(PythonPackageData, models.PackageDataFile): +class PythonEditableInstallationPkgInfoFile(BasePypiHandler): + datasource_id = 'pypi_editable_egg_pkginfo' + default_package_type = 'pypi' + default_primary_language = 'Python' + path_patterns = ('*.egg-info/PKG-INFO',) + description = 'PyPI editable local installation PKG-INFO' + documentation_url = 'https://peps.python.org/pep-0376/' - file_patterns = meta_file_names + @classmethod + def parse(cls, location): + yield parse_metadata( + location=location, + datasource_id=cls.datasource_id, + package_type=cls.default_package_type, + ) @classmethod - def is_package_data_file(cls, location): - """ - Return True if the file at ``location`` is likely a manifest of this type. - """ - return filetype.is_file(location) and location.endswith(meta_file_names) + def assign_package_to_resources(cls, package, resource, codebase): + # only the parent for now... though it can be more complex + return cls.assign_package_to_parent_tree(package, resource, codebase) + + +class BaseExtractedPythonLayout(BasePypiHandler): + """ + Base class for development repos, sdist tarballs and other related extracted + layourt for Python packages that can use and mix multiple datafiles. + """ + + @classmethod + def assemble(cls, package_data, resource, codebase): + # a source distribution can have many manifests + datafile_name_patterns = ( + 'PKG-INFO', + 'setup.py', + 'setup.cfg', + 'Pipfile.lock', + 'Pipfile', + ) + PipRequirementsFileHandler.path_patterns + + parent = resource.parent(codebase) + yield from cls.assemble_from_many_datafiles( + datafile_name_patterns=datafile_name_patterns, + directory=parent, + codebase=codebase, + ) + + @classmethod + def assign_package_to_resources(cls, package, resource, codebase): + return cls.assign_package_to_parent_tree(package, resource, codebase) + + +class PythonSdistPkgInfoFile(BaseExtractedPythonLayout): + datasource_id = 'pypi_sdist_pkginfo' + default_package_type = 'pypi' + default_primary_language = 'Python' + path_patterns = ('*/PKG-INFO',) + description = 'PyPI extracted sdist PKG-INFO' + documentation_url = 'https://peps.python.org/pep-0314/' @classmethod - def recognize(cls, location): + def parse(cls, location): + yield parse_metadata( + location=location, + datasource_id=cls.datasource_id, + package_type=cls.default_package_type, + ) + + +class PythonInstalledWheelMetadataFile(BasePypiHandler): + datasource_id = 'pypi_wheel_metadata' + path_patterns = ('*.dist-info/METADATA',) + default_package_type = 'pypi' + default_primary_language = 'Python' + description = 'PyPI installed wheel METADATA' + documentation_url = 'https://packaging.python.org/en/latest/specifications/core-metadata/' + + @classmethod + def parse(cls, location): + yield parse_metadata( + location=location, + datasource_id=cls.datasource_id, + package_type=cls.default_package_type, + ) + + @classmethod + def assign_package_to_resources(cls, package, resource, codebase): """ - Yield one or more Package manifest objects given a file ``location`` pointing to a - package archive, manifest or similar. + Assign files to package for an installed wheel. This requires a bit + of navigation around as the files can be in multiple places. """ - yield parse_metadata(cls, location) + site_packages = resource.parent(codebase).parent(codebase).parent(codebase) + if not site_packages: + return + package_data = resource.package_data + assert len(resource.package_data) == 1, ( + f'Unsupported Pypi METADATA wheel structure: {resource.path!r} ' + f'with multiple {package_data!r}' + ) + + package_data = models.PackageData.from_dict(package_data[0]) + + package_uid = package.package_uid + + # save thyself! + resource.for_packages.append(package_uid) + resource.save(codebase) + + # collect actual paths based on the file references + for file_ref in package_data.file_references: + path_ref = file_ref.path + if path_ref.startswith('..'): + # relative paths need special treatment + # most of thense are references to bin ../../../bin/wheel + cannot_resolve = False + ref_resource = None + while path_ref.startswith('..'): + _, _, path_ref.partition('../') + ref_resource = site_packages.parent(codebase) + if not ref_resource: + cannot_resolve = True + break + if cannot_resolve or not ref_resource: + # TODO:w e should log these kind of things + continue + else: + ref_resource.for_packages.append(package_uid) + ref_resource.save(codebase) + else: + ref_resource = get_resource_for_path( + path=path_ref, + root=site_packages, + codebase=codebase, + ) + if ref_resource: + ref_resource.for_packages.append(package_uid) + ref_resource.save(codebase) + + +def get_resource_for_path(path, root, codebase): + """ + Return a resource in ``codebase`` that has a ``path`` relative to the + ``root` Resource + + For example, say we start from this: + path: this/is/that therefore segments [this, is, that] + root: /usr/foo + + We would have these iterations: + iteration1 + root = /usr/foo + segments = [this, is, that] + seg this + segments = [is, that] + children = [/usr/foo/this] + root = /usr/foo/this + + iteration2 + root = /usr/foo/this + segments = [is, that] + seg is + segments = [that] + children = [/usr/foo/this/is] + root = /usr/foo/this/is + + iteration3 + root = /usr/foo/this/is + segments = [that] + seg that + segments = [] + children = [/usr/foo/this/is/that] + root = /usr/foo/this/is/that + + finally return root as /usr/foo/this/is/that + """ + segments = path.strip('/').split('/') + while segments: + seg = segments.pop(0) + children = [c for c in root.children(codebase) if c.name == seg] + if len(children) != 1: + return + else: + root = children[0] + return root + + +# FIXME: Implement me +class PyprojectTomlHandler(models.NonAssemblableDatafileHandler): + datasource_id = 'pypi_pyproject_toml' + path_patterns = ('*pyproject.toml',) + default_package_type = 'pypi' + default_primary_language = 'Python' + description = 'Python pyproject.toml' + documentation_url = 'https://peps.python.org/pep-0621/' + + +META_DIR_SUFFIXES = '.dist-info', '.egg-info', 'EGG-INFO', -def parse_metadata(cls, location): +def parse_metadata(location, datasource_id, package_type): """ - Return a PythonPackage from an PKG-INFO or METADATA file ``location`` - string or pathlib.Path-like object. + Return a PackageData object from a PKG-INFO or METADATA file at ``location`` + which is a path string or pathlib.Path-like object (including a possible zip + file ZipPath for a wheel) Looks in neighboring files as needed when an installed layout is found. """ @@ -133,92 +308,167 @@ def parse_metadata(cls, location): # build from dir if we are an installed distro parent = path.parent - if parent.name.endswith(meta_dir_suffixes): + if parent.name.endswith(META_DIR_SUFFIXES): path = parent dist = importlib_metadata.PathDistribution(path) - # FIXME: handle other_urls meta = dist.metadata - urls, other_urls = get_urls(meta) - return cls( - name=get_attribute(meta, 'Name'), - version=get_attribute(meta, 'Version'), + name = get_attribute(meta, 'Name') + version = get_attribute(meta, 'Version') + + urls = get_urls(metainfo=meta, name=name, version=version) + + dependencies = get_dist_dependencies(dist) + + file_references = list(get_file_references(dist)) + + package_data = models.PackageData( + datasource_id=datasource_id, + type=package_type, + primary_language='Python', + name=name, + version=version, description=get_description(meta, location), declared_license=get_declared_license(meta), keywords=get_keywords(meta), parties=get_parties(meta), - dependencies=get_dist_dependencies(dist), + dependencies=dependencies, + file_references=file_references, **urls, ) + if not package_data.license_expression and package_data.declared_license: + package_data.license_expression = models.compute_normalized_license(package_data.declared_license) -bdist_file_suffixes = '.whl', '.egg', + return package_data -@attr.s() -class BinaryDistArchive(PythonPackageData, models.PackageDataFile): +def urlsafe_b64decode(data): + """ + urlsafe_b64decode without padding + SPDX-License-Identifier: MIT + Copyright (c) 2012-2014 Daniel Holth and contributors. + From: https://github.com/pypa/wheel/blob/66208910ab51f4008b034ef4833acfdc920f7606/src/wheel/util.py#L23 + """ + pad = b'=' * (4 - (len(data) & 3)) + return base64.urlsafe_b64decode(data.encode('ASCII') + pad) - file_patterns = ('*.whl', '*.egg',) - extensions = bdist_file_suffixes - @classmethod - def is_package_data_file(cls, location): - """ - Return True if the file at ``location`` is likely a manifest of this type. - """ - return filetype.is_file(location) and location.endswith(bdist_file_suffixes) +def get_file_references(dist): + """ + Yield FileReference found in a ``dist`` importlib_metadata.Distribution. + """ + if not dist.files: + return + + for filepath in dist.files or []: + # FIXME: the path is relative to the "site-packages" directory or the + # root of a wheel but this should be a scan path + ref = models.FileReference( + path=as_posixpath(str(filepath)), + size=filepath.size, + ) + + filehash = filepath.hash + if filehash: + algo = filehash.mode + value = filehash.value + if algo in ('sha256', 'sha512'): + # convert back to hex as this is a base64 without padding otherwise + value = urlsafe_b64decode(value).hex() + setattr(ref, algo, value) + yield ref + + +class PypiWheelHandler(BasePypiHandler): + datasource_id = 'pypi_wheel' + path_patterns = ('*.whl',) + filetypes = ('zip archive',) + default_package_type = 'pypi' + default_primary_language = 'Python' + description = 'PyPI wheel' + documentation_url = 'https://peps.python.org/pep-0427/' @classmethod - def recognize(cls, location): - """ - Yield one or more Package manifest objects given a file ``location`` pointing to a - package archive, manifest or similar. - """ + def parse(cls, location): with zipfile.ZipFile(location) as zf: for path in ZipPath(zf).iterdir(): - if not path.name.endswith(meta_dir_suffixes): + if not path.name.endswith(META_DIR_SUFFIXES): continue for metapath in path.iterdir(): - if metapath.name.endswith(meta_file_names): - yield parse_metadata(cls, metapath) + if not metapath.name.endswith('METADATA'): + continue + yield parse_metadata( + location=metapath, + datasource_id=cls.datasource_id, + package_type=cls.default_package_type, + ) -sdist_file_suffixes = '.tar.gz', '.tar.bz2', '.zip', - -@attr.s() -class SourceDistArchive(PythonPackageData, models.PackageDataFile): - # TODO: we are ignoing sdists such as pex, pyz, etc. - file_patterns = ('*.tar.gz', '*.tar.bz2', '*.zip',) - extensions = sdist_file_suffixes +class PypiEggHandler(BasePypiHandler): + datasource_id = 'pypi_egg' + path_patterns = ('*.egg',) + filetypes = ('zip archive',) + default_package_type = 'pypi' + default_primary_language = 'Python' + description = 'PyPI egg' + documentation_url = 'https://web.archive.org/web/20210604075235/http://peak.telecommunity.com/DevCenter/PythonEggs' @classmethod - def is_package_data_file(cls, location): - """ - Return True if the file at ``location`` is likely a manifest of this type. - """ - return filetype.is_file(location) and location.endswith(sdist_file_suffixes) + def parse(cls, location): + with zipfile.ZipFile(location) as zf: + for path in ZipPath(zf).iterdir(): + if not path.name.endswith(META_DIR_SUFFIXES): + continue + + for metapath in path.iterdir(): + if not metapath.name.endswith('PKG-INFO'): + continue + + yield parse_metadata( + location=metapath, + datasource_id=cls.datasource_id, + package_type=cls.default_package_type, + ) + + +class PypiSdistArchiveHandler(BasePypiHandler): + datasource_id = 'pypi_sdist' + path_patterns = ('*.tar.gz', '*.tar.bz2', '*.zip',) + default_package_type = 'pypi' + default_primary_language = 'Python' + description = 'Python source distribution' + documentation_url = 'https://peps.python.org/pep-0643/' @classmethod - def recognize(cls, location): - """ - Yield one or more Package manifest objects given a file ``location`` pointing to a - package archive, manifest or similar. - """ + def is_datafile(cls, location, filetypes=tuple()): + if super().is_datafile(location, filetypes=filetypes): + # TODO: there is a structure to an sdists name: aboutcode-toolkit-7.0.0.tar.gz + # TODO: there is more to it than this... based on actual listing of files inside + return True + @classmethod + def parse(cls, location): # FIXME: add dependencies - # FIXME: handle other_urls try: sdist = pkginfo2.SDist(location) except ValueError: return - urls, other_urls = get_urls(sdist) - yield cls( - name=sdist.name, - version=sdist.version, + + name = sdist.name + version = sdist.version + urls = get_urls(metainfo=sdist, name=name, version=version) + + yield models.PackageData( + datasource_id=cls.datasource_id, + type=cls.default_package_type, + primary_language=cls.default_primary_language, + name=name, + version=version, description=get_description(sdist, location=location), declared_license=get_declared_license(sdist), keywords=get_keywords(sdist), @@ -227,40 +477,34 @@ def recognize(cls, location): ) -@attr.s() -class SetupPy(PythonPackageData, models.PackageDataFile): - - file_patterns = ('setup.py',) - extensions = ('.py',) - - @classmethod - def is_package_data_file(cls, location): - """ - Return True if the file at ``location`` is likely a manifest of this type. - """ - return filetype.is_file(location) and location.endswith('setup.py') +class PythonSetupPyHandler(BaseExtractedPythonLayout): + datasource_id = 'pypi_setup_py' + path_patterns = ('*setup.py',) + default_package_type = 'pypi' + default_primary_language = 'Python' + description = 'Python setup.py' + documentation_url = 'https://docs.python.org/3/distutils/setupscript.html' @classmethod - def recognize(cls, location): - """ - Yield one or more Package manifest objects given a file ``location`` pointing to a - package archive, manifest or similar. - """ + def parse(cls, location): setup_args = get_setup_py_args(location) # it may be legit to have a name-less package? # in anycase we do not want to fail because of that - package_name = setup_args.get('name') - urls, other_urls = get_urls(setup_args) + name = setup_args.get('name') - detected_version = setup_args.get('version') - if not detected_version: + version = setup_args.get('version') + if not version: # search for possible dunder versions here and elsewhere - detected_version = detect_version_attribute(location) - - yield cls( - name=package_name, - version=detected_version, + version = detect_version_attribute(location) + + urls = get_urls(metainfo=setup_args, name=name, version=version) + yield models.PackageData( + datasource_id=cls.datasource_id, + type=cls.default_package_type, + primary_language=cls.default_primary_language, + name=name, + version=version, description=get_description(setup_args), parties=get_parties(setup_args), declared_license=get_declared_license(setup_args), @@ -270,60 +514,59 @@ def recognize(cls, location): ) -@attr.s() -class DependencyFile(PythonPackageData, models.PackageDataFile): - - file_patterns = ( - 'Pipfile', - 'conda.yml', - 'setup.cfg', - 'tox.ini', - ) - - @classmethod - def is_package_data_file(cls, location): - for file_pattern in cls.file_patterns: - if filetype.is_file(location) and location.endswith(file_pattern): - return True +class BaseDependencyFileHandler(BasePypiHandler): + """ + Base class for a dependency files parsed with the same library + """ @classmethod - def recognize(cls, location): - """ - Yield one or more Package manifest objects given a file ``location`` pointing to a - package archive, manifest or similar. - """ + def parse(cls, location): file_name = fileutils.file_name(location) dependency_type = get_dparse2_supported_file_name(file_name) if not dependency_type: return - dependent_packages = parse_with_dparse2( + dependencies = parse_with_dparse2( location=location, file_name=dependency_type, ) - yield cls(dependencies=dependent_packages) + yield models.PackageData( + datasource_id=cls.datasource_id, + type=cls.default_package_type, + primary_language=cls.default_primary_language, + dependencies=dependencies, + ) -@attr.s() -class PipfileLock(PythonPackageData, models.PackageDataFile): +class SetupCfgHandler(BaseExtractedPythonLayout): + datasource_id = 'pypi_setup_cfg' + path_patterns = ('*setup.cfg',) + default_package_type = 'pypi' + default_primary_language = 'Python' + description = 'Python setup.cfg' + documentation_url = 'https://peps.python.org/pep-0390/' - file_patterns = ('Pipfile.lock',) - extensions = ('.lock',) - @classmethod - def is_package_data_file(cls, location): - """ - Return True if the file at ``location`` is likely a manifest of this type. - """ - return filetype.is_file(location) and location.endswith('Pipfile.lock') +class PipfileHandler(BaseDependencyFileHandler): + datasource_id = 'pipfile' + path_patterns = ('*Pipfile',) + default_package_type = 'pypi' + default_primary_language = 'Python' + description = 'Pipfile' + documentation_url = 'https://github.com/pypa/pipfile' + + +class PipfileLockHandler(BaseDependencyFileHandler): + datasource_id = 'pipfile_lock' + path_patterns = ('*Pipfile.lock',) + default_package_type = 'pypi' + default_primary_language = 'Python' + description = 'Pipfile.lock' + documentation_url = 'https://github.com/pypa/pipfile' @classmethod - def recognize(cls, location): - """ - Yield one or more Package manifest objects given a file ``location`` pointing to a - package archive, manifest or similar. - """ + def parse(cls, location): with open(location) as f: content = f.read() @@ -339,37 +582,69 @@ def recognize(cls, location): location=location, file_name='Pipfile.lock', ) - yield cls(sha256=sha256, dependencies=dependent_packages) + + yield models.PackageData( + datasource_id=cls.datasource_id, + type=cls.default_package_type, + primary_language=cls.default_primary_language, + sha256=sha256, + dependencies=dependent_packages, + ) -@attr.s() -class RequirementsFile(PythonPackageData, models.PackageDataFile): +class PipRequirementsFileHandler(BaseDependencyFileHandler): + """ + A pip requirements (or constraints) file. - file_patterns = ( + Some example:: + >>> PipRequirementsFileHandler.is_datafile('dev-requirements.txt', _bare_filename=True) + True + >>> PipRequirementsFileHandler.is_datafile('requirements.txt', _bare_filename=True) + True + >>> PipRequirementsFileHandler.is_datafile('requirement.txt', _bare_filename=True) + True + >>> PipRequirementsFileHandler.is_datafile('requirements.in', _bare_filename=True) + True + >>> PipRequirementsFileHandler.is_datafile('requirements.pip', _bare_filename=True) + True + >>> PipRequirementsFileHandler.is_datafile('requirements-dev.txt', _bare_filename=True) + True + >>> PipRequirementsFileHandler.is_datafile('some-requirements-dev.txt', _bare_filename=True) + True + >>> PipRequirementsFileHandler.is_datafile('requires.txt', _bare_filename=True) + True + >>> PipRequirementsFileHandler.is_datafile('requirements/base.txt', _bare_filename=True) + True + >>> PipRequirementsFileHandler.is_datafile('reqs.txt', _bare_filename=True) + True + """ + datasource_id = 'pip_requirements' + + path_patterns = ( '*requirement*.txt', '*requirement*.pip', '*requirement*.in', - 'requires.txt', - 'requirements/*.txt', - 'requirements/*.pip', - 'requirements/*.in', + '*requires.txt', + '*requirements/*.txt', + '*requirements/*.pip', + '*requirements/*.in', + '*reqs.txt', ) - @classmethod - def is_package_data_file(cls, location): - """ - Return True if the ``location`` is likely a pip requirements file. - """ - return filetype.is_file(location) and is_requirements_file(location) + default_package_type = 'pypi' + default_primary_language = 'Python' + description = 'pip requirements file' + documentation_url = 'https://pip.pypa.io/en/latest/reference/requirements-file-format/' @classmethod - def recognize(cls, location): - """ - Yield one or more Package manifest objects given a file ``location`` pointing to a - package archive, manifest or similar. - """ + def parse(cls, location): dependencies = get_requirements_txt_dependencies(location=location) - yield cls(dependencies=dependencies) + yield models.PackageData( + datasource_id=cls.datasource_id, + type=cls.default_package_type, + primary_language=cls.default_primary_language, + dependencies=dependencies, + ) def get_requirements_txt_dependencies(location): @@ -427,25 +702,6 @@ def get_requirements_txt_dependencies(location): return dependent_packages -@attr.s() -class PythonPackage(PythonPackageData, models.Package): - """ - A Python Package that is created out of one/multiple python package - manifests. - """ - - @property - def manifests(self): - return [ - MetadataFile, - RequirementsFile, - PipfileLock, - DependencyFile, - SetupPy, - BinaryDistArchive, - SourceDistArchive - ] - def get_attribute(metainfo, name, multiple=False): """ @@ -541,7 +797,7 @@ def clean_description(description): def get_legacy_description(location): """ - Return the text of a legacy DESCRIPTION.rst. + Return the text of a legacy DESCRIPTION.rst file. """ location = os.path.join(location, 'DESCRIPTION.rst') if os.path.exists(location): @@ -569,8 +825,8 @@ def get_declared_license(metainfo): def get_classifiers(metainfo): """ - Return a two tuple of (license_classifiers, other_classifiers) found in a - ``metainfo`` object or mapping. + Return a two tuple of lists of (license_classifiers, other_classifiers) + found in a ``metainfo`` object or mapping. """ classifiers = ( @@ -647,8 +903,14 @@ def get_setup_py_dependencies(setup_args): setup.py arguments or an empty list. """ dependencies = [] + + python_requires = setup_args.get('python_requires') + if python_requires: + # FIXME: handle python_requires = >=3.6.* + pass + install_requires = setup_args.get('install_requires') - dependencies.extend(get_requires_dependencies(install_requires)) + dependencies.extend(get_requires_dependencies(install_requires, default_scope='install')) tests_requires = setup_args.get('tests_requires') dependencies.extend( @@ -697,6 +959,7 @@ def get_requires_dependencies(requires, default_scope='install'): requirement strings or an empty list. """ if not is_simple_requires(requires): + # FIXME: when does this happen? should we log this? return [] dependent_packages = [] for req in (requires or []): @@ -766,49 +1029,6 @@ def get_extra(marker): return value.value -def is_requirements_file(location): - """ - Return True if the ``location`` is likely for a pip requirements file. - - For example:: - >>> is_requirements_file('dev-requirements.txt') - True - >>> is_requirements_file('requirements.txt') - True - >>> is_requirements_file('requirement.txt') - True - >>> is_requirements_file('requirements.in') - True - >>> is_requirements_file('requirements.pip') - True - >>> is_requirements_file('requirements-dev.txt') - True - >>> is_requirements_file('some-requirements-dev.txt') - True - >>> is_requirements_file('requires.txt') - True - >>> is_requirements_file('requirements/base.txt') - True - >>> is_requirements_file('reqs.txt') - False - """ - filename = fileutils.file_name(location) - req_files = ( - '*requirement*.txt', - '*requirement*.pip', - '*requirement*.in', - 'requires.txt', - ) - is_req = any(fnmatch.fnmatchcase(filename, rf) for rf in req_files) - if is_req: - return True - - parent = fileutils.parent_directory(location) - parent_name = fileutils.file_name(parent) - pip_extensions = ('.txt', 'pip', '.in',) - return parent_name == 'requirements' and filename.endswith(pip_extensions) - - def get_dparse2_supported_file_name(file_name): """ Return the file_name if this is supported or None given a `file_name` @@ -820,7 +1040,6 @@ def get_dparse2_supported_file_name(file_name): 'Pipfile', 'conda.yml', 'setup.cfg', - 'tox.ini', ) for dfile_name in dfile_names: @@ -930,10 +1149,36 @@ def get_setup_py_args(location): return setup_args -def get_urls(metainfo): +def get_pypi_urls(name, version): + """ + Return a mapping of computed Pypi URLs for this package + """ + api_data_url = None + if name and version: + api_data_url = f'https://pypi.org/pypi/{name}/{version}/json' + else: + api_data_url = name and f'https://pypi.org/pypi/{name}/json' + + repository_download_url = ( + name + and version + and f'https://pypi.org/packages/source/{name[0]}/{name}/{name}-{version}.tar.gz' + ) + + repository_homepage_url = name and f'https://pypi.org/project/{name}' + + return dict( + repository_homepage_url=repository_homepage_url, + repository_download_url=repository_download_url, + api_data_url=api_data_url, + ) + + +def get_urls(metainfo, name, version, extra_data=None): """ - Return a mapping of Package URLs and a mapping of other URLs collected from - metainfo. + Return a mapping for URLs of this package: + - as plain name/values for URL attributes known in PackageData + - as a nested extra_data: mapping for other URLs (possibly updating extra_data if provided). """ # Misc URLs to possibly track # Project-URL: Release notes @@ -969,19 +1214,19 @@ def get_urls(metainfo): # Project-URL: Twine source # Project-URL: Say Thanks! - urls = {} - other_urls = {} + extra_data = extra_data or {} + urls = get_pypi_urls(name, version) def add_url(_url, _utype=None, _attribute=None): """ - Add ``_url`` to ``urls`` as _``_attribute`` or to ``other_urls`` as + Add ``_url`` to ``urls`` as _``_attribute`` or to ``extra_data`` as ``_utype`` if already defined or no ``_attribute`` is provided. """ if _url: if _attribute and _attribute not in urls: urls[_attribute] = _url elif _utype: - other_urls[_utype] = _url + extra_data[_utype] = _url # get first as this is the most common one homepage_url = ( @@ -1019,7 +1264,7 @@ def add_url(_url, _utype=None, _attribute=None): ): add_url(url, _utype=utype, _attribute='code_view_url') - elif utypel in ('github: repo', 'repository'): + elif utypel in ('github', 'gitlab', 'github: repo', 'repository'): add_url(url, _utype=utype, _attribute='vcs_url') elif utypel in ('website', 'homepage', 'home',): @@ -1029,11 +1274,13 @@ def add_url(_url, _utype=None, _attribute=None): add_url(url, _utype=utype) # FIXME: this may not be the actual correct package download URL, so for now - # we incorrectly set this as the vcs_url + # we incorrectly set this as the vcs_url download_url = get_attribute(metainfo, 'Download-URL') add_url(download_url, _utype='Download-URL', _attribute='vcs_url') - return urls, other_urls + if extra_data: + urls['extra_data'] = extra_data + return urls def find_pattern(location, pattern): diff --git a/src/packagedcode/pyrpm.py b/src/packagedcode/pyrpm.py index 6045ef5b6ab..0d7631afddc 100644 --- a/src/packagedcode/pyrpm.py +++ b/src/packagedcode/pyrpm.py @@ -31,11 +31,9 @@ This is heavily modified version from the original. """ - from io import BytesIO import struct - """"" RPM constants From rpm.org lib/rpmtag.h @@ -96,6 +94,7 @@ ) # tags to collect +# see https://rpm-software-management.github.io/rpm/manual/tags.html RPMTAG_NAME = 1000 RPMTAG_VERSION = 1001 @@ -103,21 +102,107 @@ RPMTAG_EPOCH = 1003 RPMTAG_SUMMARY = 1004 RPMTAG_DESCRIPTION = 1005 + +# Distribution name RPMTAG_DISTRIBUTION = 1010 + RPMTAG_VENDOR = 1011 RPMTAG_COPYRIGHT = 1014 RPMTAG_LICENSE = 1014 RPMTAG_PACKAGER = 1015 RPMTAG_GROUP = 1016 + RPMTAG_PATCH = 1019 + +# Package URL, typically project upstream website. RPMTAG_URL = 1020 +# Package source code VCS location. rarely seen +RPMTAG_VCS = 5034 + RPMTAG_OS = 1021 RPMTAG_ARCH = 1022 + +RPMTAG_CHANGELOG = 1017 +RPMTAG_CHANGELOGTIME = 1080 +RPMTAG_CHANGELOGNAME = 1081 +RPMTAG_CHANGELOGTEXT = 1082 + +# A list of source archive names as in strace-4.24.tar.xz +RPMTAG_SOURCE = 1018 +# the full RPM archive file name for the source package of a binary RPM RPMTAG_SOURCERPM = 1044 -# a number ... not clear what it is +# integer set to 1 for source RPMs RPMTAG_SOURCEPACKAGE = 1106 + +# URL to a package bug tracker +RPMTAG_BUGURL = 5012 + +RPMTAG_FILESIZES = 1028 +RPMTAG_FILEDIGESTS = 1035 + +# ID of file digest algorithm. +# MD5: 0 (default if missing) +# SHA1: 2 +# SHA256: 8 +# SHA384: 9 +# SHA512: 10 +RPMTAG_FILEDIGESTALGO = 5011 + +RPMTAG_FILELINKTOS = 1036 +# File virtual attributes (doc, license, ghost, artifact etc) +# doc:2, license:128, 0 is most common +RPMTAG_FILEFLAGS = 1037 + +RPMTAG_DIRINDEXES = 1116 +RPMTAG_BASENAMES = 1117 +RPMTAG_DIRNAMES = 1118 +# is zero unless this is a special/char device file +RPMTAG_FILERDEVS = 1033 + +# File “color” - 1 for 32bit ELF, 2 for 64bit ELF and 0 otherwise +RPMTAG_FILECOLORS = 1140 + +# Original file paths for relocated packages only +# same design as RPMTAG_DIRINDEXES et al. +RPMTAG_ORIGDIRINDEXES = 1119 +RPMTAG_ORIGBASENAMES = 1120 +RPMTAG_ORIGDIRNAMES = 1121 + +RPMTAG_PROVIDES = 1047 +RPMTAG_PROVIDEFLAGS = 1112 +RPMTAG_PROVIDEVERSION = 1113 + +RPMTAG_REQUIRES = 1049 +RPMTAG_REQUIREFLAGS = 1048 +RPMTAG_REQUIREVERSION = 1050 + +RPMTAG_CONFLICTS = 1054 +RPMTAG_CONFLICTFLAGS = 1053 +RPMTAG_CONFLICTVERSION = 1055 + +RPMTAG_OBSOLETES = 1090 +RPMTAG_OBSOLETEFLAGS = 1114 +RPMTAG_OBSOLETEVERSION = 1115 + +# Distribution specific URL of the package. Seen only in Suse with obs:// links RPMTAG_DISTURL = 1123 +# Distribution acronym: never seen in practice +RPMTAG_DISTTAG = 1155 + +# Package platform (arch-os-vendor) as in x86_64-suse-linux or x86_64-redhat-linux-gnu +RPMTAG_PLATFORM = 1132 + +# an index for each file to RPMTAG_CLASSDICT +RPMTAG_FILECLASS = 1141 +# a "file" libmagic filetype +RPMTAG_CLASSDICT = 1142 + +# Payload format (cpio) +RPMTAG_PAYLOADFORMAT = 1124 +# Payload compressor name (as passed to rpmio Fopen()): for instance: gzip +RPMTAG_PAYLOADCOMPRESSOR = 1125 + RPMTAGS = { RPMTAG_NAME: 'name', RPMTAG_EPOCH: 'epoch', @@ -136,6 +221,7 @@ RPMTAG_ARCH: 'arch', RPMTAG_SOURCERPM: 'source_rpm', RPMTAG_DISTURL: 'dist_url', + RPMTAG_FILEDIGESTALGO: 'files_digest_algo', } @@ -161,6 +247,7 @@ class Entry(object): """ RPM Header Entry """ + def __init__(self, tag, type, value): # NOQA self.tag = tag self.type = type @@ -294,7 +381,7 @@ class RPMError(BaseException): pass -class RPM(object): +class RPM: def __init__(self, rpm): """ @@ -421,7 +508,7 @@ def name(self): @property def epoch(self): """ - Return a epoch or None for the epoch 0 and if no epoch is defined. + Return an epoch or None for the epoch 0 and if no epoch is defined. """ epoch = self.get_entry_value(RPMTAG_EPOCH) if not epoch: @@ -434,7 +521,7 @@ def epoch(self): return if epoch.lower() == 'none': return - return epoch or None + return epoch @property def version(self): @@ -501,6 +588,10 @@ def source_rpm(self): def package(self): return '-'.join([self.name, self.version]) + @property + def files_digest_algo(self): + return self.get_entry_value(RPMTAG_FILEDIGESTALGO) + @property def filename(self): name = '-'.join([self.package, self.release]) @@ -542,4 +633,5 @@ def to_dict(self): dist_url=self.dist_url, source_rpm=self.source_rpm, is_binary=self.is_binary, - ) \ No newline at end of file + files_digest_algo=self.files_digest_algo, + ) diff --git a/src/packagedcode/readme.py b/src/packagedcode/readme.py index 6b89069f175..05214b8de9f 100644 --- a/src/packagedcode/readme.py +++ b/src/packagedcode/readme.py @@ -7,119 +7,101 @@ # See https://aboutcode.org for more information about nexB OSS projects. # -import logging - -import attr -from commoncode import filetype from commoncode import fileutils from packagedcode import models """ -Handle README.* package metadata +Handle README.*-style semi-structured package metadata. +These are seen in Android, Chromium and a few more places. """ -TRACE = False +# Common README field name mapped to known PackageData field name +PACKAGE_FIELD_BY_README_FIELD = { + 'name': 'name', + 'project': 'name', + 'version': 'version', -logger = logging.getLogger(__name__) + 'copyright': 'copyright', -if TRACE: - import sys - logging.basicConfig(level=logging.DEBUG, stream=sys.stdout) - logger.setLevel(logging.DEBUG) + 'download link': 'download_url', + 'downloaded from': 'download_url', + 'homepage': 'homepage_url', + 'website': 'homepage_url', + 'repo': 'homepage_url', + 'source': 'homepage_url', + 'upstream': 'homepage_url', + 'url': 'homepage_url', + 'project url': 'homepage_url', -README_MAPPING = { - 'name': ['name', 'project'], - 'version': ['version'], - 'homepage_url': ['project url', 'repo', 'source', 'upstream', 'url', 'website'], - 'download_url': ['download link', 'downloaded from'], - 'declared_license': ['license'], + 'licence': 'declared_license', + 'license': 'declared_license', } -@attr.s() -class ReadmePackageData(models.PackageData): - default_type = 'readme' - - @classmethod - def get_package_root(cls, manifest_resource, codebase): - return manifest_resource.parent(codebase) - - def compute_normalized_license(self): - return models.compute_normalized_license(self.declared_license) - -@attr.s() -class ReadmeManifest(ReadmePackageData, models.PackageDataFile): - - file_patterns = ( - 'README.android', - 'README.chromium', - 'README.facebook', - 'README.google', - 'README.thirdparty', +class ReadmeHandler(models.NonAssemblableDatafileHandler): + datasource_id = 'readme' + default_package_type = 'readme' + path_patterns = ( + '*/README.android', + '*/README.chromium', + '*/README.facebook', + '*/README.google', + '*/README.thirdparty', ) @classmethod - def is_package_data_file(cls, location): - """ - Return True if the file at ``location`` is likely a manifest of this type. - """ - return (filetype.is_file(location) - and fileutils.file_name(location).lower() in [ - 'readme.android', - 'readme.chromium', - 'readme.facebook', - 'readme.google', - 'readme.thirdparty' - ] - ) - - @classmethod - def recognize(cls, location): - """ - Yield one or more Package manifest objects given a file ``location`` pointing to a - package archive, manifest or similar. - """ + def parse(cls, location): with open(location, encoding='utf-8') as loc: readme_manifest = loc.read() - package = build_package(cls, readme_manifest) + package_data = build_package(readme_manifest) - if not package.name: - # If no name was detected for the Package, then we use the basename of - # the parent directory as the Package name + if not package_data.name: + # If no name was detected for the Package, then we use the basename + # of the parent directory as the Package name parent_dir = fileutils.parent_directory(location) parent_dir_basename = fileutils.file_base_name(parent_dir) - package.name = parent_dir_basename + package_data.name = parent_dir_basename - yield package + yield package_data -def build_package(cls, readme_manifest): +def build_package(readme_manifest): """ Return a Package object from a readme_manifest mapping (from a README.chromium file or similar) or None. """ - package = cls() + package = models.PackageData( + datasource_id=ReadmeHandler.datasource_id, + type=ReadmeHandler.default_package_type, + ) for line in readme_manifest.splitlines(): - key, sep, value = line.partition(':') + line = line.strip() + + if ':' in line: + key, _sep, value = line.partition(':') + elif '=' in line: + key, _sep, value = line.partition('=') + else: + key = None + value = None + + if key: + key = key.lower().strip() + if value: + value = value.strip() if not key or not value: continue + package_key = PACKAGE_FIELD_BY_README_FIELD.get(key) + if not package_key: + continue + setattr(package, package_key, value) - # Map the key, value pairs to the Package - key, value = key.lower(), value.strip() - if key in README_MAPPING['name']: - package.name = value - if key in README_MAPPING['version']: - package.version = value - if key in README_MAPPING['homepage_url']: - package.homepage_url = value - if key in README_MAPPING['download_url']: - package.download_url = value - if key in README_MAPPING['declared_license']: - package.declared_license = value + if not package.license_expression and package.declared_license: + package.license_expression = models.compute_normalized_license(package.declared_license) return package diff --git a/src/packagedcode/recognize.py b/src/packagedcode/recognize.py index 477a8983d94..5bff92ee7bc 100644 --- a/src/packagedcode/recognize.py +++ b/src/packagedcode/recognize.py @@ -7,12 +7,12 @@ # See https://aboutcode.org for more information about nexB OSS projects. # -import fnmatch import os import sys from commoncode import filetype -from packagedcode import PACKAGE_DATA_CLASSES +from packagedcode import PACKAGE_DATAFILE_HANDLERS +from packagedcode import models SCANCODE_DEBUG_PACKAGE_API = os.environ.get('SCANCODE_DEBUG_PACKAGE_API', False) @@ -36,64 +36,52 @@ def logger_debug(*args): logger_debug = print """ -Recognize package data in files. +Recognize and parse package datafiles, manifests, or lockfiles. """ def recognize_package_data(location): """ - Return a list of Package objects if any package_data were recognized for this - `location`, or None if there were no Packages found. Raises Exceptions on errors. + Return a list of Package objects if any package_data were recognized for + this `location`, or None if there were no Packages found. Raises Exceptions + on errors. """ if not filetype.is_file(location): - return + return [] - recognized_package_data = [] - for package_data_type in PACKAGE_DATA_CLASSES: - if not package_data_type.is_package_data_file(location): + return list(_parse(location)) + + +def _parse(location): + """ + Yield parsed PackageData objects from ``location``. Raises Exceptions on errors. + """ + + for handler in PACKAGE_DATAFILE_HANDLERS: + if not handler.is_datafile(location): continue + if TRACE: + logger_debug(f'_parse:.is_datafile: {location}') + try: - for recognized in package_data_type.recognize(location): + for parsed in handler.parse(location): if TRACE: - logger_debug( - 'recognize_package_data: metafile matching: recognized:', - recognized, - ) - if recognized and not recognized.license_expression: - # compute and set a normalized license expression - try: - recognized.license_expression = recognized.compute_normalized_license() - except Exception: - if SCANCODE_DEBUG_PACKAGE_API: - raise - recognized.license_expression = 'unknown' - - if TRACE: - logger_debug( - 'recognize_package_data: recognized.license_expression:', - recognized.license_expression - ) - recognized_package_data.append(recognized) - return recognized_package_data + logger_debug(f' _parse: parsed: {parsed!r}') + yield parsed except NotImplementedError: - # build a plain package if recognize is not yet implemented - recognized = package_data_type() + # build a plain package if parse is not yet implemented + pkg = models.PackageData( + datasource_id=handler.datasource_id, + type=handler.default_package_type, + primary_language=handler.default_primary_language, + ) if TRACE: - logger_debug( - 'recognize_package_data: NotImplementedError: recognized', recognized - ) + logger_debug('_parse: NotImplementedError: parsed', parsed) - recognized_package_data.append(recognized) + yield pkg if SCANCODE_DEBUG_PACKAGE_API: raise - - if TRACE: - logger_debug( - 'recognize_package_data: no match for type:', package_data_type - ) - - return recognized_package_data diff --git a/src/packagedcode/rpm.py b/src/packagedcode/rpm.py index 165052ea20d..e719d11b150 100644 --- a/src/packagedcode/rpm.py +++ b/src/packagedcode/rpm.py @@ -6,22 +6,21 @@ # See https://github.com/nexB/scancode-toolkit for support or download. # See https://aboutcode.org for more information about nexB OSS projects. # -# https://github.com/rpminspect/rpminspect-data-fedora/blob/master/licenses/fedora.json -from collections import namedtuple + import logging import os import sys +from collections import namedtuple +from pathlib import Path -import attr from license_expression import Licensing -from commoncode import filetype from packagedcode import models from packagedcode import nevra +from packagedcode import rpm_installed from packagedcode.pyrpm import RPM from packagedcode.utils import build_description -from packagedcode import rpm_installed -import typecode.contenttype +from packagedcode.utils import get_ancestor TRACE = False @@ -39,12 +38,19 @@ def logger_debug(*args): def logger_debug(*args): return logger.debug(' '.join(isinstance(a, str) and a or repr(a) for a in args)) +""" +Support for RPMs, installed databases and spec files. +""" # TODO: retrieve dependencies # TODO: parse spec files see: # http://www.faqs.org/docs/artu/ch05s02.html#id2906931%29.) # http://code.activestate.com/recipes/436229-record-jar-parser/ +# TODO: license and docs are typically at usr/share/doc/packages//* and should be used +# packages_doc_dir = os.path.join(root_dir, 'usr/share/doc/packages') +# note that we also have file flags that can tell us which file is a license and doc. + RPM_TAGS = ( 'name', 'epoch', @@ -87,22 +93,24 @@ class EVR(namedtuple('EVR', 'epoch version release')): The RPM Epoch, Version, Release tuple. """ - # note: the order of the named tuple is the sort order. - # But for creation we put the rarely used epoch last def __new__(self, version, release=None, epoch=None): + """ + note: the sort order of the named tuple is the sort order. + But for creation we put the rarely used epoch last with a default to None. + """ if epoch and epoch.strip() and not epoch.isdigit(): raise ValueError('Invalid epoch: must be a number or empty.') if not version: raise ValueError('Version is required: {}'.format(repr(version))) - return super(EVR, self).__new__(EVR, epoch, version, release) + return super().__new__(EVR, epoch, version, release) def __str__(self, *args, **kwargs): return self.to_string() def to_string(self): if self.release: - vr = '-'.join([self.version, self.release]) + vr = f'{self.version}-{self.release}' else: vr = self.version @@ -111,73 +119,168 @@ def to_string(self): return vr -@attr.s() -class RpmPackageData(models.PackageData): - - filetypes = ('rpm ',) - mimetypes = ('application/x-rpm',) - - default_type = 'rpm' +# TODO: add dependencies!!! +class BaseRpmInstalledDatabaseHandler(models.DatafileHandler): - default_web_baseurl = None - default_download_baseurl = None - default_api_baseurl = None + @classmethod + def parse(cls, location): + # dump and parse the rpmdb to XMLish + xmlish_loc = rpm_installed.collect_installed_rpmdb_xmlish_from_rpmdb_loc(location) + package_data = rpm_installed.parse_rpm_xmlish( + location=xmlish_loc, + datasource_id=cls.datasource_id, + package_type=cls.default_package_type, + ) + # TODO: package_data.namespace = cls.default_package_namespace + return package_data - def compute_normalized_license(self): - _declared, detected = detect_declared_license(self.declared_license) + @classmethod + def compute_normalized_license(cls, package): + _declared, detected = detect_declared_license(package.declared_license) return detected - def to_dict(self, _detailed=False, **kwargs): - data = models.PackageData.to_dict(self, **kwargs) - if _detailed: - ################################################# - data['installed_files'] = [istf.to_dict() for istf in (self.installed_files or [])] - ################################################# - else: - ################################################# - # remove temporary fields - data.pop('installed_files', None) - ################################################# - return data + @classmethod + def assemble(cls, package_data, resource, codebase): + # get the root resource of the rootfs + # take the 1st pattern as a reference + base_path_patterns = cls.path_patterns[0] + levels_up = len(base_path_patterns.split('/')) + root_resource = get_ancestor( + levels_up=levels_up, + resource=resource, + codebase=codebase, + ) + package = models.Package.from_package_data( + package_data=package_data, + datafile_path=resource.path, + ) + package_uid = package.package_uid + + # get etc/os-release for namespace + namespace = None + os_release_paths = ('etc/os-release', 'usr/lib/os-release',) + for res in root_resource.walk(codebase): + if res.path.endswith(os_release_paths): + # there can be only one distro + distro = res.package_data and res.package_data[0] + if distro: + namespace = distro.namespace + break + + package.namespace = namespace + + # detect license + _declared, detected = detect_declared_license(package.declared_license) + package.license_expression = detected + + # yield deps + dependent_packages = package_data.dependencies + if dependent_packages: + for dep in models.Dependency.from_dependent_packages( + dependent_packages=dependent_packages, + datafile_path=resource.path, + datasource_id=package_data.datasource_id, + package_uid=package_uid, + ): + if not dep.namespace: + dep.namespace = namespace + yield dep + + # tag files from refs + root_path = Path(root_resource.path) + # a file ref extends from the root of the filesystem + file_references_by_path = { + str(root_path / ref.path): ref + for ref in package.file_references + } + + for res in root_resource.walk(codebase): + ref = file_references_by_path.get(res.path) + if not ref: + continue -def get_installed_packages(root_dir, detect_licenses=False, **kwargs): - """ - Yield Package objects given a ``root_dir`` rootfs directory. - """ + # path is found and processed: remove it, so we can check if we + # found all of them + del file_references_by_path[res.path] + res.for_packages.append(package_uid) + res.save(codebase) - # TODO: license and docs are typically at usr/share/doc/packages//* and should be used - # packages_doc_dir = os.path.join(root_dir, 'usr/share/doc/packages') - # note that we also have file flags that can tell us which file is a license and doc. + yield res - # dump the rpmdb to XMLish - xmlish_loc = rpm_installed.collPackageDataWithect_installed_rpmdb_xmlish_from_rootfs(root_dir) - return rpm_installed.parse_rpm_xmlish(xmlish_loc, detect_licenses=detect_licenses) + # if we have left over file references, add these to extra data + if file_references_by_path: + missing = sorted(file_references_by_path.values(), key=lambda r:r.path) + package.extra_data['missing_file_references'] = missing + yield package -@attr.s() -class RpmManifest(RpmPackageData, models.PackageDataFile): - file_patterns = ('*.spec',) - extensions = ('.rpm', '.srpm', '.mvl', '.vip',) +# TODO: add dependencies!!! +class RpmInstalledNdbDatabaseHandler(BaseRpmInstalledDatabaseHandler): + # used by recent Suse + datasource_id = 'rpm_installed_database_ndb' + path_patterns = ('*usr/lib/sysimage/rpm/Packages.db',) + default_package_type = 'rpm' + default_package_namespace = 'TBD' + description = 'RPM installed package NDB database' + documentation_url = 'https://fedoraproject.org/wiki/Changes/NewRpmDBFormat' + + +# TODO: add dependencies!!! +class RpmInstalledSqliteDatabaseHandler(BaseRpmInstalledDatabaseHandler): + # used by newer RHEL/CentOS/Fedora + datasource_id = 'rpm_installed_database_sqlite' + path_patterns = ('*var/lib/rpm/rpmdb.sqlite',) + filetypes = ('berkeley',) + default_package_type = 'rpm' + default_package_namespace = 'TBD' + description = 'RPM installed package SQLite database' + documentation_url = 'https://fedoraproject.org/wiki/Changes/Sqlite_Rpmdb' + + +# TODO: add dependencies!!! +class RpmInstalledBdbDatabaseHandler(BaseRpmInstalledDatabaseHandler): + # used by legacy RHEL/CentOS/Fedora/Suse + datasource_id = 'rpm_installed_database_bdb' + path_patterns = ('*var/lib/rpm/Packages',) + filetypes = ('berkeley',) + default_package_type = 'rpm' + default_package_namespace = 'TBD' + description = 'RPM installed package BDB database' + documentation_url = 'https://man7.org/linux/man-pages/man8/rpmdb.8.html' + + +# TODO: implement me!!@ +class RpmSpecfileHandler(models.NonAssemblableDatafileHandler): + datasource_id = 'rpm_spefile' + path_patterns = ('*.spec',) + default_package_type = 'rpm' + default_package_namespace = 'TBD' + description = 'RPM specfile' + documentation_url = 'https://en.wikipedia.org/wiki/RPM_Package_Manager' + + +# TODO: add dependencies!!! +class RpmArchiveHandler(models.DatafileHandler): + datasource_id = 'rpm_archive' + path_patterns = ('*.rpm', '*.src.rpm', '*.srpm', '*.mvl', '*.vip',) + filetypes = ('rpm',) + default_package_type = 'rpm' + default_package_namespace = 'TBD' + description = 'RPM package archive' + documentation_url = 'https://en.wikipedia.org/wiki/RPM_Package_Manager' @classmethod - def is_package_data_file(cls, location): - """ - Return True if the file at ``location`` is likely a manifest of this type. - """ - T = typecode.contenttype.get_type(location) - return (filetype.is_file(location) and 'rpm' in T.filetype_file.lower()) + def compute_normalized_license(cls, package): + _declared, detected = detect_declared_license(package.declared_license) + return detected @classmethod - def recognize(cls, location): - """ - Yield one or more Package manifest objects given a file ``location`` pointing to a - package archive, manifest or similar. - """ + def parse(cls, location): rpm_tags = get_rpm_tags(location, include_desc=True) - if TRACE: logger_debug('build_from_tags: rpm_tags', rpm_tags) + if TRACE: logger_debug('recognize: rpm_tags', rpm_tags) if not rpm_tags: return @@ -211,19 +314,20 @@ def recognize(cls, location): src_qualifiers['arch'] = sarch src_purl = models.PackageURL( - type=RpmPackageData.default_type, + type=cls.default_package_type, + # TODO: namespace=cls.default_package_namespace, name=sname, version=src_evr, qualifiers=src_qualifiers ).to_string() - if TRACE: logger_debug('build_from_tags: source_rpm', src_purl) + if TRACE: logger_debug('recognize: source_rpm', src_purl) source_packages = [src_purl] parties = [] # TODO: also use me to craft a namespace!!! - # TODO: assign a namepsace to Package URL based on distro names. + # TODO: assign a namespace to Package URL based on distro names. # CentOS # Fedora Project # OpenMandriva Lx @@ -236,7 +340,7 @@ def recognize(cls, location): if rpm_tags.vendor: parties.append(models.Party(name=rpm_tags.vendor, role='vendor')) - description = build_description(rpm_tags.summary, rpm_tags.description) + description = build_description(summary=rpm_tags.summary, description=rpm_tags.description) if TRACE: data = dict( @@ -248,9 +352,12 @@ def recognize(cls, location): declared_license=rpm_tags.license or None, source_packages=source_packages, ) - logger_debug('build_from_tags: data to create a package:\n', data) + logger_debug('recognize: data to create a package:\n', data) - package = cls( + package = models.PackageData( + datasource_id=cls.datasource_id, + type=cls.default_package_type, + # TODO: namespace=cls.default_package_namespace, name=name, version=evr, description=description or None, @@ -261,28 +368,16 @@ def recognize(cls, location): ) if TRACE: - logger_debug('build_from_tags: created package:\n', package) + logger_debug('recognize: created package:\n', package) yield package - -@attr.s() -class RpmPackage(RpmPackageData, models.Package): - """ - A RPM Package that is created out of one/multiple RPM package - manifests. - """ - - @property - def manifests(self): - return [ - RpmManifest - ] - ############################################################################ # FIXME: this license detection code is mostly copied from debian_copyright.py and alpine.py +# See https://github.com/rpminspect/rpminspect-data-fedora/blob/master/licenses/fedora.json for some mapping ############################################################################ + def detect_declared_license(declared): """ Return a tuple of (declared license, detected license expression) from a @@ -352,3 +447,22 @@ def get_declared_to_detected(data_file=None): decl = decl.strip() _DECLARED_TO_DETECTED[decl] = detect return _DECLARED_TO_DETECTED + + +ALGO_BY_ID = { + None: 'md5', + 0: 'md5', + 2: 'sha1', + 8: 'sha256', + 9: 'sha384', + 10: 'sha512', +} + + +def get_digest_algo(rpm_tags): + """ + Return a string representing a digest algorightm given an ``rpm_tags`` + RPMtags object + """ + fda = rpm_tags.files_digest_algo + return ALGO_BY_ID.get(fda, 'md5',) diff --git a/src/packagedcode/rpm_installed.py b/src/packagedcode/rpm_installed.py index 33d519adc1a..990e11c023c 100644 --- a/src/packagedcode/rpm_installed.py +++ b/src/packagedcode/rpm_installed.py @@ -13,8 +13,8 @@ import sys import xmltodict - from commoncode import command + from packagedcode import models from textcode.analysis import as_unicode @@ -35,10 +35,10 @@ def logger_debug(*args): return logger.debug(' '.join(isinstance(a, str) and a or repr(a) for a in args)) -def parse_rpm_xmlish(location, detect_licenses=False): +def parse_rpm_xmlish(location, datasource_id, package_type): """ - Yield RpmPackage(s) from a RPM XML'ish file at `location`. This is a file - created with rpm and the xml query option. + Yield PackageData built from an RPM XML'ish file at ``location``. This is a file + created with the rpm CLI with the xml query option. """ if not location or not os.path.exists(location): return @@ -53,10 +53,11 @@ def parse_rpm_xmlish(location, detect_licenses=False): for rpm_raw_tags in collect_rpms(rpms): tags = collect_tags(rpm_raw_tags) - pkg = build_package(tags) - if detect_licenses: - pkg.license_expression = pkg.compute_normalized_license() - yield pkg + yield build_package( + rpm_tags=tags, + datasource_id=datasource_id, + package_type=package_type, + ) def collect_rpms(text): @@ -131,33 +132,46 @@ def collect_tags(raw_tags): yield name, value_type, value -def build_package(rpm_tags): +def build_package(rpm_tags, datasource_id, package_type, package_namespace=None): """ - Return an RpmPackage object from an `rpm_tags` iterable of (name, + Return a PackageData object from an ``rpm_tags`` iterable of (name, value_type, value) tuples. """ - # guard from circular import - from packagedcode.rpm import RpmPackageData # mapping of real Package field name -> value converted to expected format - converted = {} + converted = { + 'datasource_id': datasource_id, + 'type': package_type, + 'namespace': package_namespace + } + for name, value_type, value in rpm_tags: - handler = handler_by_name.get(name) + handler = RPM_TAG_HANDLER_BY_NAME.get(name) # FIXME: we need to handle EVRA correctly # TODO: add more fields - # TODO: mereg with tag handling in rpm.py + # TODO: merge with tag handling in rpm.py if handler: - handled = handler(value, **converted) + try: + handled = handler(value, **converted) + except Exception as e: + raise Exception(value, converted) from e converted.update(handled) - # construct the package: we ignore unknown as we added a few technical fields - package = RpmPackageData.create(**converted) - return package + package_data = models.PackageData.from_dict(converted) + + if not package_data.license_expression and package_data.declared_license: + package_data.license_expression = models.compute_normalized_license(package_data.declared_license) + + return package_data ################################################################################ # Each handler function accepts a value and returns a {name: value} mapping -# Note handlers MUST accept **kwargs as they also receive the current data -# being processed so far as a processed_data kwarg, but most do not use it +# and handlers MUST accept **kwargs as they also receive the whole current data +# being processed so far as kwargs. + +# TODO: process lists in a more explict way +# Most handler do not use it, but parallel list handlers (such as for files) use +# this to process such lists by accumulating data passed around def name_value_str_handler(name): @@ -177,44 +191,70 @@ def size_handler(value, **kwargs): def arch_handler(value, **kwargs): """ - Return a Package URL qualifier for the arch. + Return a Package URL qualifiers for the arch. """ - return {'qualifiers': 'arch={}'.format(value)} + # TODO: should arch={value} be rather a mapping of {arch: value} ? + return {'qualifiers': f'arch={value}'} def checksum_handler(value, **kwargs): """ - Return a list which contains the MD5 hash + Return a list which contains the a checksum hash. """ - return {'current_file': value} + return {'current_filerefs': value} -def dir_index_handler(value, current_file, **kwargs): +def dir_index_handler(value, **kwargs): """ - Return a list of tuples with (dirindexes, md5) + Return a list of tuples with (dirindexes, md5). """ - return {'current_file': list(zip(value, current_file))} + current_filerefs = kwargs.get('current_filerefs') + return {'current_filerefs': list(zip(value, current_filerefs))} -def basename_handler(value, current_file, **kwargs): +def basename_handler(value, **kwargs): """ - Return a list of tuples with (dirindexes, md5, basename) + Return a list of tuples with (dirindexes, md5, basename). """ data = [] - for index, file in enumerate(current_file): + + current_filerefs = kwargs.get('current_filerefs') or [] + for index, file in enumerate(current_filerefs): basename = (value[index],) data.append(file + basename) - return {'current_file': data} + return {'current_filerefs': data} -def dirname_handler(value, current_file, **kwargs): +ALGO_BY_HEX_LEN = { + 32: 'md5', + 40: 'sha1', + 64: 'sha256', + 96: 'sha384', + 128: 'sha512', +} + + +def infer_digest_algo(digest): + """ + Given a ``digest`` string, return an inferred digest algorightm. + + We assume hex encoding for now (base64 with or without padding is common these days) + + For example: + >>> assert infer_digest_algo('acd15e34cce4a29542d98007c7eff6ee') == 'md5' """ - Update the current_file by adding the correct dir and basename - along with the md5 value. Add to installed_files + return digest and ALGO_BY_HEX_LEN.get(len(digest)) + + +def dirname_handler(value, **kwargs): """ - installed_files = [] - for file in current_file: - dirindexes, md5, basename = file + Return a mapping of {'file_references': }. + Update the ``current_filerefs`` found in `kwargs` by adding the correct dir, + basename and checksum value. + """ + file_references = [] + current_filerefs = kwargs.get('current_filerefs') or [] + for dirindexes, checksum, basename in current_filerefs: dirname = value[int(dirindexes)] # TODO: review this. Empty filename does not make sense, unless these # are directories that we might ignore OK. @@ -226,19 +266,27 @@ def dirname_handler(value, current_file, **kwargs): if basename == None: basename = '' - rpm_file = models.PackageFile( + file_reference = models.FileReference( path=posixpath.join(dirname, basename), - md5=md5, + # TODO: add size and fileclass as extra data ) - installed_files.append(rpm_file) - return {'installed_files': installed_files} + # TODO: we could/should use instead the filedigestalgo RPM tag + algo = infer_digest_algo(checksum) + if algo: + setattr(file_reference, algo, checksum) + file_references.append(file_reference) + + return {'file_references': [fr.to_dict() for fr in file_references]} + +# +# Mapping of: +# - the package field name in the installed db XMLis dump, +# - an handler function/callable for this field that implies also a target +# PackageData field name -# mapping of: -# - the package field one letter name in the installed db, -# - an handler for that field -handler_by_name = { +RPM_TAG_HANDLER_BY_NAME = { ############################################################################ # per-package fields @@ -247,7 +295,7 @@ def dirname_handler(value, current_file, **kwargs): 'Name': name_value_str_handler('name'), # TODO: add these # 'Epoch' - # 'Release' + # 'Release' 11.3.2 'Version': name_value_str_handler('version'), 'Description': name_value_str_handler('description'), 'Sha1header': name_value_str_handler('sha1'), @@ -256,38 +304,101 @@ def dirname_handler(value, current_file, **kwargs): 'Arch': arch_handler, 'Size': size_handler, + # TODO: + # 'Summary' to combine with description! + + # 'Distribution' + # SUSE Linux Enterprise 15 + # Mariner + # (not on Centos 5/6/7) + # CentOS (in CentOS 8) + # Fedora Project + + # 'Vendor' + # SUSE LLC <https://www.suse.com/> + # CentOS + + # 'Packager' + # https://www.suse.com/ + # CentOS BuildSystem <http://bugs.centos.org> + + # 'Group' System/Fhs --> keywords + # 'Os' linux + # 'Platform' noarch-suse-linux + # 'Sourcerpm' system-user-root-20190513-3.3.1.src.rpm + # 'Disturl' in Suse: obs://build.suse.de/SUSE:Maintenance:11304/ + # SUSE_SLE-15_Update/04b28aa8ff6101d2615ad6d102b6f09b-system-user-root.SUSE_SLE-15_Update + + ############################################################################ + # dependency fields + ############################################################################ + # 'Requirename' rpmlib(BuiltinLuaScripts) + # rpmlib(CompressedFileNames) + # 'Requireversion' 4.2.2-1 + # 3.0.4-1 + # 'Requireflags' + + # 'Providename' group(root) + # group(shadow) + # 'Provideversion' + # 20190513-3.3.1 + # 'Provideflags' + + # 'Conflictflags' + # 'Conflictname' + # 'Conflictversion' + + # 'Obsoleteflags' + # 'Obsoletename' + # 'Obsoleteversion' + ############################################################################ # per-file fields ############################################################################ # TODO: these two are needed: - # 'Fileflags' -> contains if a file is doc or license # 'Filesizes' -> useful info + # 'Filelinktos' -> links! + + # 'Fileflags' -> contains if a file is doc or license + # + # 0 libpopt.so.0 + # 0 libpopt.so.0.0.0 + # 0 popt + # 128 COPYING + # values: + # 128: license + # 2: documentation + # 0: regular file + + # 'Classdict' -> filetype from "file" libmagic for each file. The position is an index + # 'Fileclass' -> the position is a fileindex and the value is a classdict index + # + # libpopt.so.0 + # ELF 64-bit LSB .. libpopt.so.0.0.0 + # directory popt + # ASCII text COPYING - 'Filedigests': checksum_handler, 'Dirindexes': dir_index_handler, 'Basenames': basename_handler, 'Dirnames': dirname_handler, + + 'Filedigests': checksum_handler, + ############################################################################ ############################################################################ - # TODO: ignored per-package fields. from here on, these fields are not used yet + # TODO: ignored per-package fields. From here on, these fields are not used yet ############################################################################ # '(unknown)' # 'Archivesize' # 'Buildhost' # 'Buildtime' - # 'Changelogname' - # 'Changelogtext' - # 'Changelogtime' - # 'Classdict' - # 'Conflictflags' - # 'Conflictname' - # 'Conflictversion' + # 'Changelogname' fvogt@suse.com kukuk@suse.de + # 'Changelogtext' - Add some BuildIgnores for bootstrapping - Add group trusted [bsc#1044014] + # 'Changelogtime' 1557748800 1498046400 # 'Cookie' # 'Dependsdict' - # 'Distribution' # 'Dsaheader' - # 'Fileclass' # 'Filecolors' # 'Filecontexts' # 'Filedependsn' @@ -303,21 +414,14 @@ def dirname_handler(value, current_file, **kwargs): # 'Filestates' # 'Fileusername' # 'Fileverifyflags' - # 'Group' # 'Installcolor' # 'Installtid' # 'Installtime' # 'Instprefixes' - # 'Obsoleteflags' - # 'Obsoletename' - # 'Obsoleteversion' # 'Optflags' - # 'Os' - # 'Packager' # 'Payloadcompressor' # 'Payloadflags' # 'Payloadformat' - # 'Platform' # 'Postin' # 'Postinprog' # 'Postun' @@ -327,24 +431,15 @@ def dirname_handler(value, current_file, **kwargs): # 'Preinprog'] # 'Preun' # 'Preunprog' - # 'Provideflags' - # 'Providename' - # 'Provideversion' - # 'Requireflags' - # 'Requirename' - # 'Requireversion' - # 'Rpmversion' + # 'Rpmversion' 4.14.1 # 'Sigmd5' # 'Sigsize' - # 'Sourcerpm' - # 'Summary' # 'Triggerflags' # 'Triggerindex' # 'Triggername' # 'Triggerscriptprog' # 'Triggerscripts' # 'Triggerversion' - # 'Vendor' # 'Headeri18ntable' ############################################################################ @@ -452,7 +547,10 @@ def collect_installed_rpmdb_xmlish_from_rpmdb_loc(rpmdb_loc): with open(stderr_loc) as st: stde = st.read() full_cmd = ' '.join([cmd_loc] + args) - msg = f'collect_installed_rpmdb_xmlish_from_rpmdb_loc: Failed to execute RPM command: {full_cmd}\n{stde}' + msg = ( + f'collect_installed_rpmdb_xmlish_from_rpmdb_loc: ' + f'Failed to execute RPM command: {full_cmd}\n{stde}' + ) raise Exception(msg) return stdout_loc diff --git a/src/packagedcode/rubygems.py b/src/packagedcode/rubygems.py index 8925328e33e..c64ef138521 100644 --- a/src/packagedcode/rubygems.py +++ b/src/packagedcode/rubygems.py @@ -7,262 +7,252 @@ # See https://aboutcode.org for more information about nexB OSS projects. # -import logging import os from os.path import abspath from os.path import expanduser -import attr import saneyaml -from packageurl import PackageURL - from commoncode import archive -from commoncode import filetype from commoncode import fileutils +from packageurl import PackageURL + from packagedcode import models +from packagedcode import spec from packagedcode.gemfile_lock import GemfileLockParser -from packagedcode.spec import Spec from packagedcode.utils import combine_expressions +from packagedcode.utils import build_description +from packagedcode.utils import get_ancestor +# TODO: also support https://github.com/byrneg7/MWL_api/blob/master/.ruby-version -# TODO: check: -# https://github.com/hugomaiavieira/pygments-rspec -# https://github.com/tushortz/pygeminfo -# https://github.com/mfwarren/gemparser/blob/master/src/gemparser/__init__.py -# https://gitlab.com/balasankarc/gemfileparser - -TRACE = False - - -def logger_debug(*args): - pass +# TODO: support installed rails/bundler apps with vendor directory +# see https://github.com/brotandgames/ciao and logstash (jRuby) are good examples -logger = logging.getLogger(__name__) +class BaseGemHandler(models.DatafileHandler): -if TRACE: - import sys - logging.basicConfig(stream=sys.stdout) - logger.setLevel(logging.DEBUG) - - def logger_debug(*args): - return logger.debug(' '.join( - isinstance(a, str) and a or repr(a) for a in args)) + @classmethod + def compute_normalized_license(cls, package): + return compute_normalized_license(package.declared_license) -@attr.s() -class RubyGemData(models.PackageData): - filetypes = ('.tar', 'tar archive',) - mimetypes = ('application/x-tar',) - default_type = 'gem' +class GemArchiveHandler(BaseGemHandler): + path_patterns = ('*.gem',) + filetypes = ('posix tar archive',) + datasource_id = 'gem_archive' + default_package_type = 'gem' default_primary_language = 'Ruby' - default_web_baseurl = 'https://rubygems.org/gems/' - default_download_baseurl = 'https://rubygems.org/downloads' - default_api_baseurl = 'https://rubygems.org/api' + description = 'RubyGems gem package archive' + documentation_url = ( + 'https://web.archive.org/web/20220326093616/' + 'https://piotrmurach.com/articles/looking-inside-a-ruby-gem/' + ) @classmethod - def get_package_root(cls, manifest_resource, codebase): - # FIXME: this can vary if we have a plain checkout or install vs. a .gem - # archive where we have "multiple" roots - if manifest_resource.name.endswith('.gem'): - return manifest_resource - - if manifest_resource.name == 'metadata.gz-extract': - # first level is metadata.gz-extract/ - parent = manifest_resource.parent(codebase) - # second level is actual .gem-extract/ directory - return parent.parent(codebase) + def parse(cls, location): + metadata = extract_gem_metadata(location) + metadata = saneyaml.load(metadata) + yield build_rubygem_package_data( + gem_data=metadata, + datasource_id=cls.datasource_id, + ) - if manifest_resource.name.endswith(('.gemspec', 'Gemfile', 'Gemfile.lock',)): - return manifest_resource.parent(codebase) - # unknown? - return manifest_resource +def assemble_extracted_gem(cls, package_data, resource, codebase): + """ + An assemble implementation shared by handlers for manifests found in an + extracted gem using extractcode. + """ + datafile_name_patterns = ( + 'metadata.gz-extract/metadata.gz-extract', + 'data.gz-extract/*.gemspec', + 'data.gz-extract/Gemfile', + 'data.gz-extract/Gemfile.lock', + ) - def compute_normalized_license(self): - return compute_normalized_license(self.declared_license) + gemroot = get_ancestor(levels_up=2, resource=resource, codebase=codebase) - def repository_homepage_url(self, baseurl=default_web_baseurl): - return rubygems_homepage_url(self.name, self.version, repo=baseurl) + yield from cls.assemble_from_many_datafiles( + datafile_name_patterns=datafile_name_patterns, + directory=gemroot, + codebase=codebase, + ) - def repository_download_url(self, baseurl=default_download_baseurl): - quals = self.qualifiers or {} - platform = quals.get('platform') or None - return rubygems_download_url(self.name, self.version, platform, repo=baseurl) - def api_data_url(self, baseurl=default_api_baseurl): - return rubygems_api_url(self.name, self.version, repo=baseurl) +class GemMetadataArchiveExtractedHandler(BaseGemHandler): + datasource_id = 'gem_archive_extracted' + path_patterns = ('*/metadata.gz-extract',) + default_package_type = 'gem' + default_primary_language = 'Ruby' + description = 'RubyGems gem package extracted archive' + documentation_url = ( + 'https://web.archive.org/web/20220326093616/' + 'https://piotrmurach.com/articles/looking-inside-a-ruby-gem/' + ) @classmethod - def extra_key_files(cls): - return ['metadata.gz-extract', 'metadata.gz-extract/metadata.gz-extract'] + def parse(cls, location): + with open(location, 'rb') as met: + metadata = met.read() + metadata = saneyaml.load(metadata) + yield build_rubygem_package_data( + gem_data=metadata, + datasource_id=cls.datasource_id, + ) @classmethod - def extra_root_dirs(cls): - return ['data.tar.gz-extract', 'metadata.gz-extract'] - + def assemble(cls, package_data, resource, codebase): + yield from assemble_extracted_gem(cls, package_data, resource, codebase) -@attr.s() -class GemArchive(RubyGemData, models.PackageDataFile): - file_patterns = ('*.gem',) - extensions = ('.gem',) +class BaseGemProjectHandler(BaseGemHandler): @classmethod - def is_package_data_file(cls, location): - """ - Return True if the file at ``location`` is likely a manifest of this type. - """ - return filetype.is_file(location) and location.endswith('.gem') - - @classmethod - def recognize(cls, location): - """ - Yield one or more Package manifest objects given a file ``location`` pointing to a - package archive, manifest or similar. - """ - metadata = get_gem_metadata(location) - metadata = saneyaml.load(metadata) - yield build_rubygem_package(cls, metadata, download_url=None, package_url=None) - - -@attr.s() -class GemArchiveExtracted(RubyGemData, models.PackageDataFile): + def assemble(cls, package_data, resource, codebase): + datafile_name_patterns = ( + '*.gemspec', + 'Gemfile', + 'Gemfile.lock', + ) - file_patterns = ('metadata.gz-extract',) - extensions = ('.gz-extract',) + yield from cls.assemble_from_many_datafiles( + datafile_name_patterns=datafile_name_patterns, + directory=resource.parent(codebase), + codebase=codebase, + ) @classmethod - def is_package_data_file(cls, location): - """ - Return True if the file at ``location`` is likely a manifest of this type. - """ - return filetype.is_file(location) and location.endswith('.gz-extract') + def assign_package_to_resources(cls, package, resource, codebase): + return cls.assign_package_to_parent_tree(package, resource, codebase) - @classmethod - def recognize(cls, location): - """ - Yield one or more Package manifest objects given a file ``location`` pointing to a - package archive, manifest or similar. - """ - with open(location, 'rb') as met: - metadata = met.read() - metadata = saneyaml.load(metadata) - yield build_rubygem_package(cls, metadata) +class GemspecHandler(BaseGemHandler): + datasource_id = 'gemspec' + path_patterns = ('*.gemspec',) + default_package_type = 'gem' + default_primary_language = 'Ruby' + description = 'RubyGems gemspec manifest' + documentation_url = 'https://guides.rubygems.org/specification-reference/' -@attr.s() -class GemSpec(RubyGemData, models.PackageDataFile): + @classmethod + def parse(cls, location): + gemspec = spec.parse_spec( + location=location, + package_type=cls.default_package_type, + ) - file_patterns = ('*.gemspec',) - extensions = ('.gemspec',) + name = gemspec.get('name') + version = gemspec.get('version') + homepage_url = gemspec.get('homepage') - @classmethod - def is_package_data_file(cls, location): - """ - Return True if the file at ``location`` is likely a manifest of this type. - """ - return filetype.is_file(location) and location.endswith('.gemspec') + description = build_description( + summary=gemspec.get('summary'), + description=gemspec.get('description'), + ) + vcs_url = gemspec.get('source') - @classmethod - def recognize(cls, location): - """ - Yield one or more Package manifest objects given a file ``location`` pointing to a - package archive, manifest or similar. - """ - gemspec_object = Spec() - gemspec_data = gemspec_object.parse_spec(location) - - name = gemspec_data.get('name') - version = gemspec_data.get('version') - homepage_url = gemspec_data.get('homepage_url') - summary = gemspec_data.get('summary') - description = gemspec_data.get('description') - if len(summary) > len(description): - description = summary - - declared_license = gemspec_data.get('license') + declared_license = gemspec.get('license') if declared_license: + # FIXME: why splitting here? this is a job for the license detection declared_license = declared_license.split(',') - author = gemspec_data.get('author') or [] - email = gemspec_data.get('email') or [] - parties = list(party_mapper(author, email)) + parties = get_parties(gemspec) + dependencies = gemspec.get('dependencies') or [] - package_data = cls( + urls = get_urls(name=name, version=version) + + package_data = models.PackageData( + datasource_id=cls.datasource_id, + type=cls.default_package_type, name=name, version=version, parties=parties, homepage_url=homepage_url, description=description, - declared_license=declared_license + declared_license=declared_license, + primary_language=cls.default_primary_language, + dependencies=dependencies, + **urls ) - dependencies = gemspec_data.get('dependencies', {}) or {} - package_dependencies = [] - for name, version in dependencies.items(): - package_dependencies.append( - models.DependentPackage( - purl=PackageURL( - type='gem', - name=name - ).to_string(), - extracted_requirement=', '.join(version), - scope='dependencies', - is_runtime=True, - is_optional=False, - is_resolved=False, - ) - ) - package_data.dependencies = package_dependencies + if not package_data.license_expression and package_data.declared_license: + package_data.license_expression = models.compute_normalized_license(package_data.declared_license) yield package_data -@attr.s() -class Gemfile(RubyGemData, models.PackageDataFile): - - file_patterns = ('Gemfile',) +class GemspecInExtractedGemHandler(GemspecHandler): + datasource_id = 'gemspec_extracted' + path_patterns = ('*/data.gz-extract/*.gemspec',) + description = 'RubyGems gemspec manifest - extracted data layout' @classmethod - def is_package_data_file(cls, location): - """ - Return True if the file at ``location`` is likely a manifest of this type. - """ - return filetype.is_file(location) and location.endswith('Gemfile') + def assemble(cls, package_data, resource, codebase): + yield from assemble_extracted_gem(cls, package_data, resource, codebase) + + +class GemspecInInstalledVendorBundleSpecificationsHandler(GemspecHandler): + """ + A special handler for gemspec seen in the vendor/bundle/*/specifications + directory when installed by Bundler. In this case, we have a special layout: + all the .gemspec are processed and compiled in a specifications/ dir by + Bundler. But these gemspec are standing alone and have been detached from + their original "gem" directory. They are also different from the base + gemspec for the same gem as they have been modified (?streamlined or + normalized?) by Bundler including freezing strings. + + We reuse the default DatafileHandler.assemble() implementation such that + each such gemspec is considered standing alone and have no other companion + datafile or files assigned to a Package. + """ + datasource_id = 'gem_gemspec_installed_specifications' + # seen in vendor/bundle/jruby/2.5.0/specifications/* style layouts + # and bundle/specifications/* style layouts + # TODO: also report "jruby/2.5.0/" as extra or qualifiers + path_patterns = ('*/specifications/*.gemspec',) + description = 'RubyGems gemspec manifest - installed vendor/bundle/specifications layout' @classmethod - def recognize(cls, location): - """ - Yield one or more Package manifest objects given a file ``location`` pointing to a - package archive, manifest or similar. - """ - # TODO: Implement me - pass + def assemble(cls, package_data, resource, codebase): + # TODO: consider assembling datafiles across vendor/ subdirs + yield from models.DatafileHandler.assemble(package_data, resource, codebase) -@attr.s() -class GemfileLock(RubyGemData, models.PackageDataFile): - file_patterns = ('Gemfile.lock',) - extensions = ('.lock',) +# Note: we subclass GemspecHandler as the parsing code can handle both Ruby files +# TODO: https://stackoverflow.com/questions/41454333/meaning-of-new-block-git-sourcegithub-in-gemfile +class GemfileHandler(GemspecHandler): + datasource_id = 'gemfile' + path_patterns = ('*/Gemfile', '*/*.gemfile', '*/Gemfile-*') + default_package_type = 'gem' + default_primary_language = 'Ruby' + description = 'RubyGems Bundler Gemfile' + documentation_url = 'https://bundler.io/man/gemfile.5.html' + + +class GemfileInExtractedGemHandler(GemfileHandler): + datasource_id = 'gemfile_extracted' + path_patterns = ('*/data.gz-extract/Gemfile',) + description = 'RubyGems Bundler Gemfile - extracted layout' @classmethod - def is_package_data_file(cls, location): - """ - Return True if the file at ``location`` is likely a manifest of this type. - """ - return filetype.is_file(location) and location.endswith('Gemfile.lock') + def assemble(cls, package_data, resource, codebase): + return assemble_extracted_gem(cls, package_data, resource, codebase) + + +class GemfileLockHandler(BaseGemProjectHandler): + datasource_id = 'gemfile_lock' + path_patterns = ('*/Gemfile.lock',) + default_package_type = 'gem' + default_primary_language = 'Ruby' + description = 'RubyGems Bundler Gemfile.lock' + documentation_url = 'https://bundler.io/man/gemfile.5.html' @classmethod - def recognize(cls, location): - """ - Yield one or more Package manifest objects given a file ``location`` pointing to a - package archive, manifest or similar. - """ + def parse(cls, location): gemfile_lock = GemfileLockParser(location) - package_dependencies = [] + dependencies = [] for _, gem in gemfile_lock.all_gems.items(): - package_dependencies.append( + dependencies.append( models.DependentPackage( purl=PackageURL( type='gem', @@ -270,6 +260,7 @@ def recognize(cls, location): version=gem.version ).to_string(), extracted_requirement=', '.join(gem.requirements), + # FIXME: get proper scope... This does not seem right scope='dependencies', is_runtime=True, is_optional=False, @@ -277,7 +268,12 @@ def recognize(cls, location): ) ) - yield cls(dependencies=package_dependencies) + yield models.PackageData( + datasource_id=cls.datasource_id, + type=cls.default_package_type, + dependencies=dependencies, + primary_language=cls.default_primary_language, + ) for _, gem in gemfile_lock.all_gems.items(): deps = [] @@ -296,30 +292,27 @@ def recognize(cls, location): is_resolved=True, ) ) + urls = get_urls(gem.name, gem.version) - yield cls( + yield models.PackageData( + datasource_id=cls.datasource_id, + primary_language=cls.default_primary_language, + type=cls.default_package_type, name=gem.name, version=gem.version, - dependencies=deps + dependencies=deps, + **urls ) -@attr.s() -class RubyPackage(RubyGemData, models.Package): - """ - A Ruby Package that is created out of one/multiple ruby package - manifests and package-like data, with it's files. - """ +class GemfileLockInExtractedGemHandler(GemfileLockHandler): + datasource_id = 'gemfile_lock_extracted' + path_patterns = ('*/data.gz-extract/Gemfile.lock',) + description = 'RubyGems Bundler Gemfile.lock - extracted layout' - @property - def manifests(self): - return [ - GemArchive, - GemArchiveExtracted, - Gemfile, - GemSpec, - GemfileLock - ] + @classmethod + def assemble(cls, package_data, resource, codebase): + yield from assemble_extracted_gem(cls, package_data, resource, codebase) def compute_normalized_license(declared_license): @@ -341,69 +334,91 @@ def compute_normalized_license(declared_license): return combine_expressions(detected_licenses) -def rubygems_homepage_url(name, version, repo='https://rubygems.org/gems'): +def get_urls(name, version=None, platform=None): + """ + Return a mapping of standard URLs """ - Return a Rubygems.org homepage URL given a name, optional version and a base - rubygems `repo` web interface URL. + dnlu = rubygems_download_url(name, version, platform) + return dict( + repository_homepage_url=rubygems_homepage_url(name, version), + repository_download_url=dnlu, + api_data_url=rubygems_api_url(name, version), + download_url=dnlu, + ) + - For instance: https://rubygems.org/gems/mocha/versions/1.7.0 or - https://rubygems.org/gems/mocha +def rubygems_homepage_url(name, version=None): + """ + Return a Rubygems.org homepage URL given a ``name`` and optional + ``version``, or None if ``name`` is empty. + + For example: + >>> url = rubygems_homepage_url(name='mocha', version='1.7.0') + >>> assert url == 'https://rubygems.org/gems/mocha/versions/1.7.0' + + >>> url = rubygems_homepage_url(name='mocha') + >>> assert url == 'https://rubygems.org/gems/mocha' """ if not name: return - repo = repo.rstrip('/') if version: version = version.strip().strip('/') - home_url = '{repo}/{name}/versions/{version}' + return f'https://rubygems.org/gems/{name}/versions/{version}' else: - home_url = '{repo}/{name}' - return home_url.format(**locals()) + return f'https://rubygems.org/gems/{name}' -def rubygems_download_url(name, version, platform=None, repo='https://rubygems.org/downloads'): +def rubygems_download_url(name, version, platform=None): """ Return a .gem download URL given a name, version, and optional platform (e.g. java) and a base repo URL. - For example: https://rubygems.org/downloads/mocha-1.7.0.gem + For example: + + >>> url = rubygems_download_url(name='mocha', version='1.7.0') + >>> assert url == 'https://rubygems.org/downloads/mocha-1.7.0.gem' """ if not name or not version: return - repo = repo.rstrip('/') name = name.strip().strip('/') version = version.strip().strip('/') version_plat = version if platform and platform != 'ruby': - version_plat = '{version}-{platform}'.format(**locals()) - return '{repo}/{name}-{version_plat}.gem'.format(**locals()) + version_plat = f'{version}-{platform}' + return f'https://rubygems.org/downloads/{name}-{version_plat}.gem' -def rubygems_api_url(name, version=None, repo='https://rubygems.org/api'): +def rubygems_api_url(name, version=None): """ Return a package API data URL given a name, an optional version and a base repo API URL. For instance: - https://rubygems.org/api/v2/rubygems/action_tracker/versions/1.0.2.json + >>> url = rubygems_api_url(name='turbolinks', version='1.0.2') + >>> assert url == 'https://rubygems.org/api/v2/rubygems/turbolinks/versions/1.0.2.json' If no version, we return: - https://rubygems.org/api/v1/versions/turbolinks.json + >>> url = rubygems_api_url(name='turbolinks') + >>> assert url == 'https://rubygems.org/api/v1/versions/turbolinks.json' - Unused: + Things we could return: a summary for the latest version, with deps https://rubygems.org/api/v1/gems/mqlight.json """ - repo = repo.rstrip('/') + if not name: + return + if version: - api_url = '{repo}/v2/rubygems/{name}/versions/{version}.json' + return f'https://rubygems.org/api/v2/rubygems/{name}/versions/{version}.json' else: - api_url = '{repo}/v1/versions/{name}.json' - return api_url.format(**locals()) + return f'https://rubygems.org/api/v1/versions/{name}.json' -def get_gem_metadata(location): +# FIXME: we should unify this with handling extracted gems +def extract_gem_metadata(location): """ Return the string content of the metadata of a .gem archive file at - `location` or None + ``location`` or None. + This performs an extracion to a temp directory. """ extract_loc = None try: @@ -422,10 +437,10 @@ def get_gem_metadata(location): content = met.read() elif os.path.exists(metadata_gz): - content= archive.get_gz_compressed_file_content(metadata_gz) + content = archive.get_gz_compressed_file_content(metadata_gz) else: - raise Exception('No gem metadata found in RubyGemData .gem file.') + raise Exception(f'No RubyGems metadata file found inside .gem archive: {location!r}') return content @@ -434,37 +449,65 @@ def get_gem_metadata(location): fileutils.delete(extract_loc) -def build_rubygem_package(cls, gem_data, download_url=None, package_url=None): +def build_rubygem_package_data(gem_data, datasource_id): """ - Return a Package built from a Gem `gem_data` mapping or None. - The `gem_data can come from a .gemspec or .gem/gem_data. - Optionally use the provided `download_url` and `purl` strings. + Return a PackageData for ``datasource_id`` built from a Gem `gem_data` + mapping or None. The ``gem_data`` can come from a .gemspec or .gem/metadata. + Optionally use the provided ``download_url`` and `package_url`` strings. """ if not gem_data: return + metadata = gem_data.get('metadata') or {} + name = gem_data.get('name') + # there are two levels of nesting for version: + version1 = gem_data.get('version') or {} + version = version1.get('version') or None - short_desc = gem_data.get('summary') or '' - long_desc = gem_data.get('description') or '' - if long_desc == short_desc: - long_desc = None - descriptions = [d for d in (short_desc, long_desc) if d and d.strip()] - description = '\n'.join(descriptions) + platform = gem_data.get('platform') + if platform != 'ruby': + qualifiers = dict(platform=platform) + else: + qualifiers = {} - # Since the gem spec doc is not clear https://guides.rubygems.org - # /specification-reference/#licenseo, we will treat a list of licenses and a - # conjunction for now (e.g. AND) + description = build_description( + summary=gem_data.get('summary'), + description=gem_data.get('description'), + ) + + # Since the gem spec doc is not clear wrt. to the default being OR or AND + # we will treat a list of licenses and a conjunction for now (e.g. AND) + # See https://guides.rubygems.org/specification-reference/#licenseo lic = gem_data.get('license') licenses = gem_data.get('licenses') declared_license = licenses_mapper(lic, licenses) - package_data = cls( + # we may have tow homepages and one may be wrong. + # we prefer the one from the metadata + homepage_url = metadata.get('homepage_uri') + if not homepage_url: + homepage_url = gem_data.get('homepage') + + urls = get_urls(name, version, platform) + dependencies = get_dependencies(gem_data.get('dependencies')) + file_references = get_file_references(metadata.get('files')) + + package_data = models.PackageData( + datasource_id=datasource_id, + type=GemArchiveHandler.default_package_type, + primary_language=GemArchiveHandler.default_primary_language, name=name, + version=version, + qualifiers=qualifiers, description=description, - homepage_url=gem_data.get('homepage'), - download_url=download_url, - declared_license=declared_license + homepage_url=homepage_url, + declared_license=declared_license, + bug_tracking_url=metadata.get('bug_tracking_uri'), + code_view_url=metadata.get('source_code_uri'), + file_references=file_references, + dependencies=dependencies, + **urls, ) # we can have one singular or a plural list of authors @@ -478,7 +521,7 @@ def build_rubygem_package(cls, gem_data, download_url=None, package_url=None): party = models.Party(name=author, role='author') package_data.parties.append(party) - # TODO: we have a email that is either a string or a list of string + # TODO: we have an email that is either a string or a list of string # date: 2019-01-09 00:00:00.000000000 Z date = gem_data.get('date') @@ -486,54 +529,19 @@ def build_rubygem_package(cls, gem_data, download_url=None, package_url=None): date = date[:10] package_data.release_date = date[:10] + # TODO: infer source purl and add purl to package_data.source_packages - # there are two levels of nesting - version1 = gem_data.get('version') or {} - version = version1.get('version') or None - package_data.version = version - package_data.set_purl(package_url) - - metadata = gem_data.get('metadata') or {} - if metadata: - homepage_url = metadata.get('homepage_uri') - if homepage_url: - if not package_data.homepage_url: - package_data.homepage_url = homepage_url - elif package_data.homepage_url == homepage_url: - pass - else: - # we have both and one is wrong. - # we prefer the existing one from the metadata - pass - - package_data.bug_tracking_url = metadata.get('bug_tracking_uri') - - source_code_url = metadata.get('source_code_uri') - if source_code_url: - package_data.code_view_url = source_code_url - # TODO: infer purl and add purl to package_data.source_packages - - # not used for now - # "changelog_uri" => "https://example.com/user/bestgemever/CHANGELOG.md", - # "wiki_uri" => "https://example.com/user/bestgemever/wiki" - # "mailing_list_uri" => "https://groups.example.com/bestgemever", - # "documentation_uri" => "https://www.example.info/gems/bestgemever/0.0.1", - - platform = gem_data.get('platform') - if platform != 'ruby': - qualifiers = dict(platform=platform) - if not package_data.qualifiers: - package_data.qualifiers = {} - - package_data.qualifiers.update(qualifiers) - - package_data.dependencies = get_dependencies(gem_data.get('dependencies')) - - if not package_data.download_url: - package_data.download_url = package_data.repository_download_url() + # not used for now + # "changelog_uri" => "https://example.com/user/bestgemever/CHANGELOG.md", + # "wiki_uri" => "https://example.com/user/bestgemever/wiki" + # "mailing_list_uri" => "https://groups.example.com/bestgemever", + # "documentation_uri" => "https://www.example.info/gems/bestgemever/0.0.1", if not package_data.homepage_url: - package_data.homepage_url = package_data.repository_homepage_url() + package_data.homepage_url = rubygems_homepage_url(name, version) + + if not package_data.license_expression and package_data.declared_license: + package_data.license_expression = models.compute_normalized_license(package_data.declared_license) return package_data @@ -636,8 +644,8 @@ def get_dependencies(dependencies): if not name: continue + # the default value is runtime scope = dependency.get('type', '').strip(':') or 'runtime' - # the other value is runtime is_optional = scope == 'development' is_runtime = scope == 'runtime' @@ -651,7 +659,7 @@ def get_dependencies(dependencies): # constraints and versions if ((constraint == '>=' and version == '0') or not (constraint and version)): continue - version_constraint = '{} {}'.format(constraint, version) + version_constraint = f'{constraint} {version}' constraints.append(version_constraint) # if we have only one version constraint and this is "=" then we are resolved @@ -659,10 +667,11 @@ def get_dependencies(dependencies): if constraints and len(constraints) == 1: is_resolved = constraint == '=' + # FIXME: check this is correct and complies with vers. version_constraint = ', '.join(constraints) dep = models.DependentPackage( - purl=RubyGemData.create(name=name).purl, + purl=str(PackageURL(type='gem', name=name)), extracted_requirement=version_constraint or None, scope=scope, is_runtime=is_runtime, @@ -712,87 +721,38 @@ def get_dependencies(dependencies): } -################################################################################ -def spec_defaults(): +def party_mapper(role, names=[], emails=[]): """ - Return a mapping with spec attribute defaults to ensure that the - returned results are the same on RubyGemDatas 1.8 and RubyGemDatas 2.0 + Yields Party with ``role`` objects from a ``names`` list of string. """ - return { - 'base_dir': None, - 'bin_dir': None, - 'cache_dir': None, - 'doc_dir': None, - 'gem_dir': None, - 'gems_dir': None, - 'ri_dir': None, - 'spec_dir': None, - 'spec_file': None, - 'cache_file': None, - 'full_gem_path': None, - 'full_name': None, - 'gem_data': {}, - 'full_name': None, - 'homepage': '', - 'licenses': [], - 'loaded_from': None, - } - - -# known gem fields. other are ignored -known_fields = [ - 'platform', - 'name', - 'version', - 'homepage', - 'summary', - 'description', - 'licenses', - 'email', - 'authors', - 'date', - 'requirements', - 'dependencies', - - # extra fields - 'files', - 'test_files', - 'extra_rdoc_files', - - 'rubygems_version', - 'required_ruby_version', - - 'rubyforge_project', - 'loaded_from', - 'original_platform', - 'new_platform', - 'specification_version', -] - - -def normalize(gem_data, known_fields=known_fields): + if names: + return ( + models.Party(type=models.party_person, name=name, role=role) + for name in names + ) + elif emails: + return ( + models.Party(type=models.party_person, email=email, role=role) + for email in emails + ) + + +def get_parties(gem_data): """ - Return a mapping of gem data filtering out any field that is not a known - field in a gem mapping. Ensure that all known fields are present - even if empty. + Return a lits of Party from a mapping of ``gem_data`` """ - return dict( - [(k, gem_data.get(k) or None) for k in known_fields] - ) + parties = [] + authors = gem_data.get('author') or [] + parties.extend(party_mapper(names=authors, role='author')) + # FIXME: emails is NOT a party + emails = gem_data.get('email') or [] + parties.extend(party_mapper(emails=emails, role='author')) + return parties -def party_mapper(author, email): +def get_file_references(files): """ - Yields a Party object with author and email. + Return a list of FileReference from a ``files`` list of gem file paths. """ - for person in author: - yield models.Party( - type=models.party_person, - name=person, - role='author') - - for person in email: - yield models.Party( - type=models.party_person, - email=person, - role='email') + files = files or [] + return [models.FileReference(path) for path in files] diff --git a/src/packagedcode/spec.py b/src/packagedcode/spec.py index 043cbcaf763..c0bf7083c51 100644 --- a/src/packagedcode/spec.py +++ b/src/packagedcode/spec.py @@ -1,169 +1,286 @@ -# All rights reserved. -# SPDX-License-Identifier: Apache-2.0 AND CC-BY-4.0 # -# Visit https://aboutcode.org and https://github.com/nexB/scancode-toolkit for -# support and download. ScanCode is a trademark of nexB Inc. -# -# The ScanCode software is licensed under the Apache License version 2.0. -# The ScanCode open data is licensed under CC-BY-4.0. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. +# Copyright (c) nexB Inc. and others. All rights reserved. +# ScanCode is a trademark of nexB Inc. +# SPDX-License-Identifier: Apache-2.0 +# See http://www.apache.org/licenses/LICENSE-2.0 for the license text. +# See https://github.com/nexB/scancode-toolkit for support or download. +# See https://aboutcode.org for more information about nexB OSS projects. # -import io -import logging import re from gemfileparser import GemfileParser +from packagedcode import models +from packageurl import PackageURL +from functools import partial + """ -Handle Cocoapods(.podspec) and Ruby(.gemspec) files. +Handle Cocoapods (.podspec/Pofile) and Ruby(.gemspec/Gemfile) files. """ +# FIXME: code needs cleanup + +parse_name = re.compile( + r'.*\.name\s*=\s*' + r'(?P.*)' +) + +parse_version = re.compile( + r'.*\.version\s*=\s*' + f'(?P.*)' +) + +parse_summary = re.compile( + r'.*\.summary\s*=\s*' + r'(?P.*)', +) -TRACE = False - -logger = logging.getLogger(__name__) - -if TRACE: - import sys - logging.basicConfig(stream=sys.stdout) - logger.setLevel(logging.DEBUG) - - -class Spec(): - parse_name = re.compile(r'.*\.name(\s*)=(?P.*)') - parse_version = re.compile(r'.*\.version(\s*)=(?P.*)') - parse_license = re.compile(r'.*\.license(\s*)=(?P.*)') - parse_summary = re.compile(r'.*\.summary(\s*)=(?P.*)') - parse_description = re.compile(r'.*\.description(\s*)=(?P.*)') - parse_homepage = re.compile(r'.*\.homepage(\s*)=(?P.*)') - parse_source = re.compile(r'.*\.source(\s*)=(?P.*)') - - def parse_spec(self, location): - """ - Return dictionary contains podspec or gemspec file data. - """ - with io.open(location, encoding='utf-8', closefd=True) as data: - lines = data.readlines() - - spec_data = {} - - for line in lines: - line = pre_process(line) - match = self.parse_name.match(line) - if match: - name = match.group('name') - spec_data['name'] = get_stripped_data(name) - match = self.parse_version.match(line) - if match: - version = match.group('version') - spec_data['version'] = get_stripped_data(version) - match = self.parse_license.match(line) - if match: - license_value = match.group('license') - spec_data['license'] = get_stripped_data(license_value) - match = self.parse_summary.match(line) - if match: - summary = match.group('summary') - spec_data['summary'] = get_stripped_data(summary) - match = self.parse_homepage.match(line) - if match: - homepage = match.group('homepage') - spec_data['homepage_url'] = get_stripped_data(homepage) - match = self.parse_source.match(line) - if match: - source = re.sub(r'/*.*source.*?>', '', line) - stripped_source = re.sub(r',.*', '', source) - spec_data['source'] = get_stripped_data(stripped_source) - match = self.parse_description.match(line) - if match: - if location.endswith('.gemspec'): - # FIXME: description can be in single or multi-lines - # There are many different ways to write description. - description = match.group('description') - spec_data['description'] = get_stripped_data(description) - else: - spec_data['description'] = get_description(location) - if '.email' in line: - _key, _sep, value = line.rpartition('=') - stripped_emails = get_stripped_data(value) - stripped_emails = stripped_emails.strip() - stripped_emails = stripped_emails.split(',') - spec_data['email'] = stripped_emails - elif '.author' in line: - authors = re.sub(r'/*.*author.*?=', '', line) - stripped_authors = get_stripped_data(authors) - stripped_authors = re.sub(r'(\s*=>\s*)', '=>', stripped_authors) - stripped_authors = stripped_authors.strip() - stripped_authors = stripped_authors.split(',') - spec_data['author'] = stripped_authors - - parser = GemfileParser(location) - deps = parser.parse() - dependencies = {} - for key in deps: - depends = deps.get(key, []) or [] - for dep in depends: - dependencies[dep.name] = dep.requirement - spec_data['dependencies'] = dependencies - - return spec_data +# simple single line quoted description +parse_description = re.compile( + r'.*\.description\s*=\s*' + r'(?P.*)', +) + +parse_homepage = re.compile( + r'.*\.homepage\s*=\s*' + r'(?P.*)' +) + +parse_license = re.compile( + r'.*\.license\s*=\s*' + r'(?P.*)' +) + +parse_podspec_source = re.compile( + r'.*\.source\s*=\s*' + r'(?P.*)' +) + +# See in gemspec +# for file refs: +# files +# test_files +# extensions +# executables +# extra_rdoc_files +# date = "2017-11-07" +# metadata +# rubygems_version +# licenses = ['MIT'] +# authors = ["Javan Makhmali".freeze, "Sam Stephenson".freeze, "David Heinemeier Hansson".freeze] +# email = ["javan@javan.us".freeze, "sstephenson@gmail.com".freeze, "david@loudthinking.com".freeze] +# email = 'rubocop@googlegroups.com' + + +def get_value(name, matcher, line, clean=True): + """ + Return the value for the ``name`` attribute collected using the ``matcher`` + regex in the ``line`` text. + """ + match = matcher.match(line) + if match: + value = match.group(name) + return get_cleaned_string(value) if clean else value + + +# FIXME: this does not smell right as we ignore the matched value +def get_podspec_source(line): + if '.source' in line: + match = get_value(name='source', matcher=parse_podspec_source, line=line) + if match: + source = re.sub(r'/*.*source.*?>', '', line) + stripped_source = re.sub(r',.*', '', source) + return get_cleaned_string(stripped_source) + + +def get_emails(line): + """ + Return a list of emails extracted from a text ``line``, or None + """ + if '.email' in line: + _key, _sep, value = line.rpartition('=') + stripped_emails = get_cleaned_string(value) + stripped_emails = stripped_emails.strip() + stripped_emails = stripped_emails.split(',') + return stripped_emails + + +def get_authors(line): + """ + Return a list of authors extracted from a text ``line``, or None + """ + if '.author' in line: + authors = re.sub(r'/*.*author.*?=', '', line) + stripped_authors = get_cleaned_string(authors) + stripped_authors = re.sub(r'(\s*=>\s*)', '=>', stripped_authors) + stripped_authors = stripped_authors.strip() + stripped_authors = stripped_authors.split(',') + return stripped_authors + + +# mapping of parser callable by its field name +PARSER_BY_NAME = { + 'name': partial(get_value, name='name', matcher=parse_name), + 'version': partial(get_value, name='version', matcher=parse_version), + 'license': partial(get_value, name='license', matcher=parse_license), + 'summary': partial(get_value, name='summary', matcher=parse_summary), + 'description': partial(get_value, name='description', matcher=parse_description, clean=False), + 'homepage': partial(get_value, name='homepage', matcher=parse_homepage), + 'source': get_podspec_source, + 'email': get_emails, + 'author': get_authors, +} + + +def parse_spec(location, package_type): + """ + Return a mapping of data parsed from a podspec/gemspec/Pofile/Gemfile file + at ``location``. Use ``package_type`` a Package URL type for dependencies. + dependencies is a list of DependentPackage. + """ + spec_data = {} + with open(location) as spec: + content = spec.read() + + lines = content.splitlines() + for line in lines: + line = pre_process(line) + + for attribute_name, parser in PARSER_BY_NAME.items(): + parsed = parser(line=line) + if parsed: + spec_data[attribute_name] = parsed + + # description can be in single or multi-lines + # There are many different ways to write description. + # we reparse for multline + description = spec_data.get("description") + if description: + if '<<-' in description: + # a Ruby multiline text + spec_data['description'] = get_multiline_description( + description_start=description, + lines=lines, + ) + else: + # a single quoted description + spec_data['description'] = get_cleaned_string(description) + + # We avoid reloading twice the file but we are still parsing twice: need to + # merge all in gemfileparser or write a better parser. + spec_data['dependencies'] = list(get_dependent_packages( + lines=lines, + location=location, + package_type=package_type, + )) + + return spec_data + + +def get_dependent_packages(lines, location, package_type): + """ + Yield DependentPackage from the file at ``location`` for the given + ``package_type``. + """ + flags_by_scope = { + 'runtime': dict(is_runtime=True, is_optional=False), + 'dependency': dict(is_runtime=True, is_optional=False), + 'production': dict(is_runtime=True, is_optional=False), + + 'development': dict(is_runtime=False, is_optional=True), + 'test': dict(is_runtime=False, is_optional=True), + 'metrics': dict(is_runtime=False, is_optional=True), + } + + dependencies = LinesBasedGemfileParser(lines=lines, filepath=location).parse() + + for key in dependencies: + depends = dependencies.get(key, []) or [] + for dep in depends: + flags = flags_by_scope.get(key, 'runtime') + + yield models.DependentPackage( + purl=PackageURL(type=package_type, name=dep.name).to_string(), + extracted_requirement=', '.join(dep.requirement), + scope=key, + is_resolved=False, + **flags, + ) + + +class LinesBasedGemfileParser(GemfileParser): + """ + A GemfileParser that works from a text lines rather than re-reading a file. + Done to avoid reading a file twice. + """ + + def __init__(self, lines, filepath, appname=''): + self.filepath = filepath + + self.current_group = 'runtime' + + self.appname = appname + self.dependencies = { + 'development': [], + 'runtime': [], + 'dependency': [], + 'test': [], + 'production': [], + 'metrics': [], + } + self.contents = lines + + self.gemspec = filepath.endswith(('.gemspec', '.podspec')) def pre_process(line): """ - Return line after comments and space. + Return a ``line`` cleaned from comments markers and space. """ if '#' in line: line = line[:line.index('#')] - stripped_data = line.strip() + return line.strip() - return stripped_data -def get_stripped_data(data): +def get_cleaned_string(string): """ - Return data after removing unnecessary special character + Return ``string`` removing unnecessary special character """ - for strippable in ("'",'"', '{', '}', '[', ']', '%q',): - data = data.replace(strippable, '') - - return data.strip() + if string: + for replaceable in ("'", '"', '{', '}', '[', ']', '%q', '<', '>', '.freeze'): + string = string.replace(replaceable, '') + return string.strip() -def get_description(location): +def get_multiline_description(description_start, lines): """ - Return description from podspec. + Return a multiline description given the ``description_start`` start of the + decsription and a ``lines`` list. These are common in .podspec. https://guides.cocoapods.org/syntax/podspec.html#description description is in the form: spec.description = <<-DESC - Computes the meaning of life. - Features: - 1. Is self aware - ... - 42. Likes candies. - DESC - """ - with io.open(location, encoding='utf-8', closefd=True) as data: - lines = data.readlines() - description = '' - for i, content in enumerate(lines): - if '.description' in content: - for cont in lines[i+1:]: - if 'DESC' in cont: - break - description += ' '.join([description, cont.strip()]) - break - description.strip() - return description \ No newline at end of file + Computes the meaning of life. + Features: + 1. Is self aware + ... + 42. Likes candies. + DESC + """ + # from "<<-DESC" to "DESC" + description_end = description_start.strip('<-') + description_lines = [] + started = False + for line in lines: + if started: + ended = line.strip().startswith(description_end) + if not ended: + description_lines.append(line) + else: + break + + elif '.description' in line and description_start in line: + started = True + + return '\n'.join(description_lines) diff --git a/src/packagedcode/utils.py b/src/packagedcode/utils.py index e7349ee3b7d..f163a71a8f6 100644 --- a/src/packagedcode/utils.py +++ b/src/packagedcode/utils.py @@ -103,15 +103,11 @@ def normalize_vcs_url(repo_url, vcs_tool=None): if len(repo_url.split('/')) == 2: # implicit github, but that's only on NPM? - return 'https://github.com/%(repo_url)s' % locals() + return f'https://github.com/{repo_url}' return repo_url -# for legacy compat -parse_repo_url = normalize_vcs_url - - def build_description(summary, description): """ Return a description string from a summary and description @@ -129,9 +125,9 @@ def build_description(summary, description): def combine_expressions( - expressions, - relation='AND', - unique=True, + expressions, + relation='AND', + unique=True, licensing=Licensing(), ): """ @@ -139,3 +135,52 @@ def combine_expressions( license ``expressions`` strings or LicenseExpression objects. """ return expressions and str(le_combine_expressions(expressions, relation, unique, licensing)) or None + + + +def get_ancestor(levels_up, resource, codebase): + """ + Return the nth-``levels_up`` ancestor Resource of ``resource`` in ``codebase`` + or None. + + For example, with levels_up=2 and starting with a resource path of + `gem-extract/metadata.gz-extract/metadata.gz-extract`, gem-extract/ should be + returned. + """ + rounds = 0 + while rounds < levels_up: + resource = resource.parent(codebase) + if not resource: + return + rounds += 1 + return resource + + +def find_root_from_paths(paths, resource, codebase): + """ + Return the resource for the root directory of this filesystem or None, given + a ``resource`` in ``codebase`` with a list of possible resource root- + relative ``paths`` (e.g. extending from the root directory we are looking + for). + """ + for path in paths: + if not resource.path.endswith(path): + continue + return find_root_resource(path=path, resource=resource, codebase=codebase) + + +def find_root_resource(path, resource, codebase): + """ + Return the resource for the root directory of this filesystem or None, given + a ``resource`` in ``codebase`` with a possible resource root-relative + ``path`` (e.g. extending from the root directory we are looking for). + """ + if not resource.path.endswith(path): + return + for _seg in path.split('/'): + resource = resource.parent(codebase) + if not resource: + return + return resource + + diff --git a/src/packagedcode/win_pe.py b/src/packagedcode/win_pe.py index a00c021b42c..0420c9b0eaa 100644 --- a/src/packagedcode/win_pe.py +++ b/src/packagedcode/win_pe.py @@ -9,17 +9,15 @@ from contextlib import closing -import attr -from ftfy import fix_text import pefile +from ftfy import fix_text -from commoncode import filetype from commoncode import text -from typecode import contenttype from packagedcode import models from packagedcode.models import Party from packagedcode.models import party_org +from typecode import contenttype TRACE = False @@ -149,11 +147,6 @@ def pe_info(location): if not location: return {} - T = contenttype.get_type(location) - - if not T.is_winexe: - return {} - result = dict([(k, None,) for k in PE_INFO_KEYS]) extra_data = result['extra_data'] = {} @@ -221,19 +214,6 @@ def pe_info(location): return result -@attr.s() -class WindowsExecutableData(models.PackageData): - - filetypes = ('pe32', 'for ms windows',) - mimetypes = ('application/x-dosexec',) - - default_type = 'winexe' - - default_web_baseurl = None - default_download_baseurl = None - default_api_baseurl = None - - def get_first(mapping, *keys): """ Return the first value of the `keys` that is found in the `mapping`. @@ -257,41 +237,46 @@ def concat(mapping, *keys): return '\n'.join(values) -@attr.s() -class WindowsExecutable(WindowsExecutableData, models.PackageDataFile): - extensions = ( - '.exe', - '.dll', - '.mui', - '.mun', - '.com', - '.winmd', - '.sys', - '.tlb', - '.exe_*', - '.dll_*', - '.mui_*', - '.mun_*', - '.com_*', - '.winmd_*', - '.sys_*', - '.tlb_*', +class WindowsExecutableHandler(models.NonAssemblableDatafileHandler): + datasource_id = 'windows_executable' + default_package_type = 'winexe' + filetypes = ('pe32', 'for ms windows',) + path_patterns = ( + '*.exe', + '*.dll', + '*.mui', + '*.mun', + '*.com', + '*.winmd', + '*.sys', + '*.tlb', + '*.exe_*', + '*.dll_*', + '*.mui_*', + '*.mun_*', + '*.com_*', + '*.winmd_*', + '*.sys_*', + '*.tlb_*', + '*.ocx', ) + description = 'Windows Portable Executable metadata' + documentation_url = 'https://en.wikipedia.org/wiki/Portable_Executable' @classmethod - def is_package_data_file(cls, location): + def is_datafile(cls, location, filetypes=tuple()): """ - Return True if the file at ``location`` is likely a manifest of this type. + Return True if the file at location is highly likely to be a POM. """ + if super().is_datafile(location, filetypes=filetypes): + return True + T = contenttype.get_type(location) - return filetype.is_file(location) and T.is_winexe + if T.is_winexe: + return True @classmethod - def recognize(cls, location): - """ - Yield one or more Package manifest objects given a file ``location`` pointing to a - package archive, manifest or similar. - """ + def parse(cls, location): infos = pe_info(location) version = get_first( @@ -343,7 +328,9 @@ def recognize(cls, location): parties = [Party(type=party_org, role='author', name=cname)] homepage_url = get_first(infos, 'URL', 'WWW') - yield cls( + package_data = models.PackageData( + datasource_id=cls.datasource_id, + type=cls.default_package_type, name=name, version=version, release_date=release_date, @@ -354,17 +341,7 @@ def recognize(cls, location): homepage_url=homepage_url, ) + if not package_data.license_expression and package_data.declared_license: + package_data.license_expression = models.compute_normalized_license(package_data.declared_license) -@attr.s() -class WindowsPackage(WindowsExecutableData, models.Package): - """ - A Windows Package that is created out of one/multiple windows package - manifests. - """ - - @property - def manifests(self): - return [ - WindowsExecutable - ] - + yield package_data diff --git a/src/packagedcode/win_reg.py b/src/packagedcode/win_reg.py index 1115c8bfbed..e32d579a117 100644 --- a/src/packagedcode/win_reg.py +++ b/src/packagedcode/win_reg.py @@ -12,6 +12,7 @@ from pathlib import PureWindowsPath import attr + try: from regipy.exceptions import NoRegistrySubkeysException from regipy.exceptions import RegistryKeyNotFoundException @@ -21,74 +22,68 @@ from packagedcode import models - -# Tracing flags -TRACE = False - - -def logger_debug(*args): - pass - - -if TRACE: - import sys - import logging - - logger = logging.getLogger(__name__) - logging.basicConfig(stream=sys.stdout) - logger.setLevel(logging.DEBUG) - - def logger_debug(*args): - return logger.debug(' '.join(isinstance(a, str) - and a or repr(a) for a in args)) - - # TODO: Find "boilerplate" files, what are the things that we do not care about, e.g. thumbs.db # TODO: check for chocolatey # TODO: Windows appstore + def get_registry_name_key_entry(registry_hive, registry_path): """ - Given a RegistryHive `registry_hive`, return the name key entry for - `registry_path` from `registry_hive` - - Return if the registry path cannot be found. + Return the "name" key entry for ```registry_path`` from the ```registry_hive`` + RegistryHive. Return None if the ``registry_path`` is not found. """ try: - name_key_entry = registry_hive.get_key(registry_path) - except (RegistryKeyNotFoundException, NoRegistrySubkeysException) as ex: - if TRACE: - logger_debug('Did not find the key: {}'.format(ex)) + return registry_hive.get_key(registry_path) + except (RegistryKeyNotFoundException, NoRegistrySubkeysException): return - return name_key_entry def get_registry_tree(registry_location, registry_path): """ - Return a list of dictionaries of Window registry entries found under a given - registry path + Return a list of dictionaries of Window registry entries from the hive at + ``registry_location`` found under a given ``registry_path``. """ registry_hive = RegistryHive(registry_location) name_key_entry = get_registry_name_key_entry( - registry_hive=registry_hive, - registry_path=registry_path + registry_hive=registry_hive, registry_path=registry_path ) if not name_key_entry: return [] - return [attr.asdict(entry) for entry in registry_hive.recurse_subkeys(name_key_entry, as_json=True)] + return [ + attr.asdict(entry) for entry in registry_hive.recurse_subkeys(name_key_entry, as_json=True) + ] -def report_installed_dotnet_versions(location, registry_path='\\Microsoft\\NET Framework Setup\\NDP'): +def get_installed_dotnet_versions_from_hive( + location, + datasource_id, + package_type, + registry_path='\\Microsoft\\NET Framework Setup\\NDP', +): """ - Yield the installed versions of .NET framework from `location`. The logic to - retrieve installed .NET version has been outlined here: + Yield PackageData for the installed versions of .NET framework from the + registry hive at ``location``. + + The logic to retrieve installed .NET version has been outlined here: https://docs.microsoft.com/en-us/dotnet/framework/migration-guide/how-to-determine-which-versions-are-installed """ - registry_tree = get_registry_tree(location, registry_path) - return _report_installed_dotnet_versions(registry_tree) + registry_tree = get_registry_tree(registry_location=location, registry_path=registry_path) + yield from get_installed_dotnet_versions_from_regtree( + registry_tree=registry_tree, + datasource_id=datasource_id, + package_type=package_type, + ) -def _report_installed_dotnet_versions(registry_tree): +def get_installed_dotnet_versions_from_regtree( + registry_tree, + datasource_id, + package_type, +): + """ + Yield PackageData for the installed versions of .NET framework from a + Windows ``registry_tree``. + """ if not registry_tree: return @@ -98,80 +93,84 @@ def _report_installed_dotnet_versions(registry_tree): if not entry.get('path', '').endswith('\\Full'): continue - dotnet_info = {} - for dotnet_info_value in entry.get('values', []): - dotnet_info_value_name = dotnet_info_value.get('name') - dotnet_info_value_value = dotnet_info_value.get('value') - if dotnet_info_value_name == 'Version': - dotnet_info['version'] = dotnet_info_value_value - if dotnet_info_value_name == 'InstallPath': - dotnet_info['InstallPath'] = dotnet_info_value_value - - version = dotnet_info.get('version') - if not version: - continue - - install_path = dotnet_info.get('InstallPath') - extra_data = {} - if install_path: - extra_data['install_location'] = install_path - - # Yield package - yield InstalledWindowsProgram( - name='Microsoft .NET Framework', + file_references = [] + version = None + for values in entry.get('values', []): + key = values.get('name') + value = values.get('value') + + if key == 'Version': + version = value + if key == 'InstallPath': + file_references.append(models.FileReference(path=value)) + + yield models.PackageData( + datasource_id=datasource_id, + type=package_type, + name='microsoft-dot-net-framework', version=version, - extra_data=extra_data, + file_references=file_references, ) -def report_installed_programs(location, registry_path='\\Microsoft\\Windows\\CurrentVersion\\Uninstall'): +def get_installed_windows_programs_from_hive( + location, + datasource_id, + package_type, + registry_path='\\Microsoft\\Windows\\CurrentVersion\\Uninstall', +): """ - Yield installed Windows packages from a Windows registry file at `location`. + Yield installed Windows PackageData from a Windows registry file at + ``location``. + This is done by looking at the entries of the uninstallable programs list. - If `registry_path` is provided, then we will load Registry entries starting - from `registry_path` + If ``registry_path`` is provided, then we will load Registry entries + starting from ``registry_path`` """ - registry_tree = get_registry_tree(location, registry_path) - return _report_installed_programs(registry_tree) + registry_tree = get_registry_tree(registry_location=location, registry_path=registry_path) + yield from get_installed_windows_programs_from_regtree( + registry_tree=registry_tree, + datasource_id=datasource_id, + package_type=package_type, + ) -def _report_installed_programs(registry_tree): +def get_installed_windows_programs_from_regtree( + registry_tree, + datasource_id, + package_type, +): + """ + Yield installed Windows PackageData from a Windows ``registry_tree``. + """ if not registry_tree: return - # Collect Package information and create Package if we have a valid Package name + field_by_regkey = { + 'DisplayName': 'name', + 'DisplayVersion': 'version', + 'URLInfoAbout': 'homepage_url', + 'Publisher': 'publisher', + 'DisplayIcon': 'display_icon', + 'UninstallString': 'uninstall_string', + 'InstallLocation': 'install_location', + } + for entry in registry_tree: package_info = {} for entry_value in entry.get('values', []): - name = entry_value.get('name') + key = entry_value.get('name') value = entry_value.get('value') - - if name == 'DisplayName': - package_info['name'] = value - if name == 'DisplayVersion': - package_info['version'] = value - if name == 'InstallLocation': - package_info['install_location'] = value - if name == 'Publisher': - package_info['publisher'] = value - if name == 'URLInfoAbout': - package_info['homepage_url'] = value - if name == 'DisplayIcon': - package_info['DisplayIcon'] = value - if name == 'UninstallString': - package_info['UninstallString'] = value + pkg_field = field_by_regkey.get(key) + if pkg_field: + package_info[pkg_field] = value name = package_info.get('name') - if not name: - continue - version = package_info.get('version') + homepage_url = package_info.get('homepage_url') - install_location = package_info.get('install_location') publisher = package_info.get('publisher') - display_icon = package_info.get('DisplayIcon') - uninstall_string = package_info.get('UninstallString') parties = [] if publisher: @@ -179,85 +178,91 @@ def _report_installed_programs(registry_tree): models.Party( type=models.party_org, role='publisher', - name=publisher + name=publisher, ) ) - known_program_files = [] + file_references = [] + install_location = package_info.get('install_location') + if install_location: + file_references.append(models.FileReference(path=install_location)) + + display_icon = package_info.get('display_icon') if display_icon: - known_program_files.append(display_icon) - if uninstall_string: - known_program_files.append(uninstall_string) + file_references.append(models.FileReference(path=display_icon)) - extra_data = {} - if install_location: - extra_data['install_location'] = install_location - if known_program_files: - extra_data['known_program_files'] = known_program_files + uninstall_string = package_info.get('uninstall_string') + if uninstall_string: + file_references.append(models.FileReference(path=uninstall_string)) - yield InstalledWindowsProgram( + yield models.PackageData( + datasource_id=datasource_id, + type=package_type, name=name, version=version, parties=parties, homepage_url=homepage_url, - extra_data=extra_data + file_references=file_references, ) -def reg_parse(location): +def get_packages_from_registry_from_hive( + location, + datasource_id, + package_type, +): """ - Yield InstalledWindowsPrograms from `location` using - `report_installed_programs` and `report_installed_dotnet_versions` + Yield PackageData for Installed Windows Programs from the Windows registry + hive at ``location`` """ - for installed_program in report_installed_programs(location): - yield installed_program - for installed_program in report_installed_programs( - location, - registry_path='\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall' - ): - yield installed_program - for installed_dotnet in report_installed_dotnet_versions(location): - yield installed_dotnet + yield from get_installed_windows_programs_from_hive( + location=location, + datasource_id=datasource_id, + package_type=package_type, + registry_path='\\Microsoft\\Windows\\CurrentVersion\\Uninstall', + ) + + yield from get_installed_windows_programs_from_hive( + location=location, + datasource_id=datasource_id, + package_type=package_type, + registry_path='\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall', + ) + + yield from get_installed_dotnet_versions_from_hive( + location=location, + datasource_id=datasource_id, + package_type=package_type, + registry_path='\\Microsoft\\NET Framework Setup\\NDP', + ) def get_installed_packages(root_dir, is_container=True): """ - Yield InstalledWindowsProgram objects for every detected installed program - from Windows registry files in known locations + Yield PackageData for Installed Windows Programs for every detected + installed program from Windows registry hive files found in well known + locations under a ``root_dir`` root filesystem directory. """ # These paths are relative to a Windows docker image layer root directory if is_container: - hives_software_delta_loc = os.path.join(root_dir, 'Hives', 'Software_Delta') - files_software_loc = os.path.join( - root_dir, - 'Files', - 'Windows', - 'System32', - 'config', - 'SOFTWARE' - ) + hives_software_delta_loc = os.path.join(root_dir, 'Hives/Software_Delta') + files_software_loc = os.path.join(root_dir, 'Files/Windows/System32/config/SOFTWARE') utilityvm_software_loc = os.path.join( - root_dir, - 'UtilityVM', - 'Files', - 'Windows', - 'System32', - 'config', - 'SOFTWARE' + root_dir, 'UtilityVM/Files/Windows/System32/config/SOFTWARE' ) - root_prefixes_by_software_registry_locations = { + root_prefixes_by_software_reg_locations = { hives_software_delta_loc: 'Files', files_software_loc: 'Files', - utilityvm_software_loc: os.path.join('UtilityVM', 'Files') + utilityvm_software_loc: 'UtilityVM/Files', } else: # TODO: Add support for virtual machines raise Exception('Unsuported file system type') - for software_registry_loc, root_prefix in root_prefixes_by_software_registry_locations.items(): - if not os.path.exists(software_registry_loc): + for software_reg_loc, root_prefix in root_prefixes_by_software_reg_locations.items(): + if not os.path.exists(software_reg_loc): continue - for package in reg_parse(software_registry_loc): + for package in get_packages_from_registry_from_hive(software_reg_loc): package.populate_installed_files(root_dir, root_prefix=root_prefix) yield package @@ -308,60 +313,101 @@ def create_relative_file_path(file_path, root_dir, root_prefix=''): return relative_file_path -@attr.s() -class InstalledWindowsProgram(models.PackageData, models.PackageDataFile): - default_type = 'windows-program' +class BaseRegInstalledProgramHandler(models.DatafileHandler): + default_package_type = 'windows-program' + documentation_url = 'https://en.wikipedia.org/wiki/Windows_Registry' + + # The rootfs location (of a Docker image layer) can be in a + # subdirectory of the layer tree. This is a path to the root of the windows filesystem relative to the + # datafile (e.g. the registry hive file) + + root_path_relative_to_datafile_path = None + + @classmethod + def parse(cls, location): + yield from get_packages_from_registry_from_hive( + location=location, + datasource_id=cls.datasource_id, + package_type=cls.default_package_type, + ) + + @classmethod + def get_root_resource(cls, resource, codebase): + """ + Return the root Resource given a datafile ``resource`` in ``codebase``. + """ + segments = cls.root_path_relative_to_datafile_path.split('/') + + for segment in segments: + if segment == '..': + resource = resource.parent(codebase) + else: + ress = [r for r in resource.children(codebase) if r.name == segment] + if not len(ress) == 1: + return + resource = ress[0] + + if not resource: + return + return resource @classmethod - def recognize(cls, location): - for installed in reg_parse(location): - yield installed + def assign_package_to_resources(cls, package, resource, codebase): + package_uid = package.package_uid + resource.for_packages.append(package_uid) + resource.save(codebase) - def populate_installed_files(self, root_dir, root_prefix=''): - install_location = self.extra_data.get('install_location') - if not install_location: + refs = package.file_references + if not refs: return - if root_prefix: - # The rootfs location of a Docker image layer can be in a - # subdirectory of the layer directory (where `root_dir` is the path - # to the layer directory), so we append `root_prefix` (where prefix - # is relative to the file paths within the Docker image layer's - # rootfs files) to `root_dir` - root_dir = os.path.join(root_dir, root_prefix) - - absolute_install_location = create_absolute_installed_file_path( - root_dir=root_dir, - file_path=install_location - ) - if not os.path.exists(absolute_install_location): + root = cls.get_root_resource(resource, codebase) + if not root: + # FIXME: this should not happen return - installed_files = [] - for root, _, files in os.walk(absolute_install_location): - for file in files: - installed_file_location = os.path.join(root, file) - relative_installed_file_path = create_relative_file_path( - file_path=installed_file_location, - root_dir=root_dir, - root_prefix=root_prefix - ) - installed_files.append(relative_installed_file_path) + root_path = Path(root.path) - known_program_files = self.extra_data.get('known_program_files', []) - for known_program_file_path in known_program_files: - known_program_file_location = create_absolute_installed_file_path( - root_dir=root_dir, - file_path=known_program_file_path, - ) - relative_known_file_path = create_relative_file_path( - file_path=known_program_file_location, - root_dir=root_dir, - root_prefix=root_prefix - ) - if (not os.path.exists(known_program_file_location) - or relative_known_file_path in installed_files): + refs_by_path = {} + for ref in refs: + # a file ref may be a Windows path with a drive + ref_path = remove_drive_letter(ref.path) + # a file ref extends from the root of the Windows filesystem + refs_by_path[str(root_path / ref_path)] = ref + + for res in root.walk(codebase): + ref = refs_by_path.get(res.path) + if not ref: continue - installed_files.append(relative_known_file_path) - self.installed_files = [models.PackageFile(path=path) for path in sorted(installed_files)] + # path is found and processed: remove it, so we can check if we + # found all of them + del refs_by_path[res.path] + res.for_packages.append(package_uid) + res.save(codebase) + + # if we have left over file references, add these to extra data + if refs_by_path: + missing = sorted(refs_by_path.values(), key=lambda r: r.path) + package.extra_data['missing_file_references'] = missing + + +class InstalledProgramFromDockerSoftwareDeltaHandler(BaseRegInstalledProgramHandler): + datasource_id = 'win_reg_installed_programs_docker_software_delta' + path_patterns = ('*/Hives/Software_Delta',) + description = 'Windows Registry Installed Program - Docker Software Delta' + root_path_relative_to_datafile_path = '../../Files' + + +class InstalledProgramFromDockerFilesSoftwareHandler(BaseRegInstalledProgramHandler): + datasource_id = 'win_reg_installed_programs_docker_file_software' + path_patterns = ('*/Files/Windows/System32/config/SOFTWARE',) + description = 'Windows Registry Installed Program - Docker SOFTWARE' + root_path_relative_to_datafile_path = '../../../..' + + +class InstalledProgramFromDockerUtilityvmSoftwareHandler(BaseRegInstalledProgramHandler): + datasource_id = 'win_reg_installed_programs_docker_utility_software' + path_patterns = ('*/UtilityVM/Files/Windows/System32/config/SOFTWARE',) + description = 'Windows Registry Installed Program - Docker UtilityVM SOFTWARE' + root_path_relative_to_datafile_path = '../../../..' diff --git a/src/packagedcode/windows.py b/src/packagedcode/windows.py index b7cb7a9f406..09d62f4c2d9 100644 --- a/src/packagedcode/windows.py +++ b/src/packagedcode/windows.py @@ -7,70 +7,30 @@ # See https://aboutcode.org for more information about nexB OSS projects. # -import attr import xmltodict from packagedcode import models -from commoncode import filetype -# Tracing flags -TRACE = False - - -def logger_debug(*args): - pass - - -if TRACE: - import logging - import sys - logger = logging.getLogger(__name__) - # logging.basicConfig(level=logging.DEBUG, stream=sys.stdout) - logging.basicConfig(stream=sys.stdout) - logger.setLevel(logging.DEBUG) - - def logger_debug(*args): - return logger.debug(' '.join(isinstance(a, str) and a or repr(a) for a in args)) - - -@attr.s() -class MicrosoftUpdatePackage(models.PackageData): - extensions = ('.mum',) +class MicrosoftUpdateManifestHandler(models.NonAssemblableDatafileHandler): + datasource_id = 'microsoft_update_manifest_mum' + path_patterns = ('*.mum',) filetypes = ('xml 1.0 document',) - mimetypes = ('text/xml',) - - default_type = 'windows-update' - - -@attr.s() -class MicrosoftUpdateManifest(MicrosoftUpdatePackage, models.PackageDataFile): - - @classmethod - def is_package_data_file(cls, location): - """ - Return True if the file at ``location`` is likely a manifest of this type. - """ - return filetype.is_file(location) and location.endswith('.mum') + default_package_type = 'windows-update' + description = 'Microsoft Update Manifest .mum file' @classmethod - def recognize(cls, location): - """ - Yield one or more Package manifest objects given a file ``location`` pointing to a - package archive, manifest or similar. - """ + def parse(cls, location): with open(location , 'rb') as loc: parsed = xmltodict.parse(loc) - if TRACE: - logger_debug('parsed:', parsed) if not parsed: return assembly = parsed.get('assembly', {}) description = assembly.get('@description', '') company = assembly.get('@company', '') - copyright = assembly.get('@copyright', '') + copyrght = assembly.get('@copyright', '') support_url = assembly.get('@supportInformation', '') assembly_identity = assembly.get('assemblyIdentity', {}) @@ -87,11 +47,13 @@ def recognize(cls, location): ) ) - yield cls( + yield models.PackageData( + datasource_id=cls.datasource_id, + type=cls.default_package_type, name=name, version=version, description=description, homepage_url=support_url, parties=parties, - copyright=copyright, + copyright=copyrght, ) diff --git a/src/scancode/api.py b/src/scancode/api.py index c7c49056a55..a68cac9864e 100644 --- a/src/scancode/api.py +++ b/src/scancode/api.py @@ -295,7 +295,7 @@ def _licenses_data_from_match( SCANCODE_DEBUG_PACKAGE_API = os.environ.get('SCANCODE_DEBUG_PACKAGE_API', False) -def _get_package_data(location): +def _get_package_data(location, **kwargs): """ Return a mapping of package manifest information detected in the file at `location`. @@ -304,12 +304,10 @@ def _get_package_data(location): """ from packagedcode.recognize import recognize_package_data try: - recognized_package_data = recognize_package_data(location) - if recognized_package_data: - return recognized_package_data + return recognize_package_data(location) or [] except Exception as e: if TRACE: - logger.error('_get_package_data: {}: Exception: {}'.format(location, e)) + logger.error(f'_get_package_data: location: {location!r}: Exception: {e}') if SCANCODE_DEBUG_PACKAGE_API: raise @@ -329,31 +327,20 @@ def get_package_info(location, **kwargs): DeprecationWarning, stacklevel=1 ) - - recognized_packages = _get_package_data(location) - - if recognized_packages: - return dict(packages=[ - packages.to_dict() - for packages in recognized_packages - ]) - return dict(packages=[]) + packages = _get_package_data(location, **kwargs) or [] + return dict(packages=[p.to_dict() for p in packages]) def get_package_data(location, **kwargs): """ Return a mapping of package manifest information detected in the file at `location`. """ - recognized_package_data = _get_package_data(location) - - if recognized_package_data: - return dict(package_data=[ - package_data.to_dict() - for package_data in recognized_package_data - ]) - - return dict(package_data=[]) + if TRACE: + print(' scancode.api.get_package_data: kwargs', kwargs) + + package_datas = _get_package_data(location, **kwargs) or [] + return dict(package_data=[pd.to_dict() for pd in package_datas]) def get_file_info(location, **kwargs): diff --git a/src/scancode/cli.py b/src/scancode/cli.py index 3b52e03d6a9..b977716ebb9 100644 --- a/src/scancode/cli.py +++ b/src/scancode/cli.py @@ -470,7 +470,7 @@ def scancode( **kwargs ) - #echo outdated message if newer version is available + # echo outdated message if newer version is available if not quiet and outdated: echo_stderr(outdated, fg='yellow') @@ -879,7 +879,7 @@ def echo_func(*_args, **_kwargs): success = success and pre_scan_success ######################################################################## - # 6. run scans. + # Run scans ######################################################################## scan_success = run_scanners( @@ -897,7 +897,7 @@ def echo_func(*_args, **_kwargs): success = success and scan_success ######################################################################## - # 7. run postscans + # Run postscans ######################################################################## # TODO: add progress indicator @@ -915,7 +915,7 @@ def echo_func(*_args, **_kwargs): success = success and post_scan_success ######################################################################## - # 8. apply output filters + # Apply output filters ######################################################################## # TODO: add progress indicator @@ -933,7 +933,7 @@ def echo_func(*_args, **_kwargs): success = success and output_filter_success ######################################################################## - # 9. save outputs + # Save outputs ######################################################################## counts = codebase.compute_counts(skip_root=strip_root, skip_filtered=True) @@ -967,7 +967,7 @@ def echo_func(*_args, **_kwargs): success = success and output_success ######################################################################## - # 9. display summary + # Display summary ######################################################################## codebase.timings['total'] = time() - processing_start @@ -984,7 +984,7 @@ def echo_func(*_args, **_kwargs): ) ######################################################################## - # 10. optionally assemble results to return + # Optionally assemble results to return ######################################################################## if return_results: # the structure is exactly the same as the JSON output @@ -1112,8 +1112,7 @@ def run_scanners( progress_manager = None if not quiet: - echo_func('Scan files for: %(scan_names)s ' - 'with %(processes)d process(es)...' % locals()) + echo_func(f'Scan files for: {scan_names} with {processes} process(es)...') item_show_func = partial(path_progress_message, verbose=verbose) progress_manager = partial(progressmanager, item_show_func=item_show_func, @@ -1370,7 +1369,7 @@ def scan_resource( else: deadline = sys.maxsize - runner = partial(scanner.function, location, deadline=deadline) + runner = partial(scanner.function, location, rid=rid, deadline=deadline) error, values_mapping = interruptor(runner, timeout=timeout) if error: msg = 'ERROR: for scanner: ' + scanner.name + ':\n' + error diff --git a/src/scancode/cli_test_utils.py b/src/scancode/cli_test_utils.py index 74bcd38c883..e6e947677ae 100644 --- a/src/scancode/cli_test_utils.py +++ b/src/scancode/cli_test_utils.py @@ -41,7 +41,7 @@ def run_scan_plain( if not env: env = dict(os.environ) - scmd = u'scancode' + scmd = 'scancode' scan_cmd = os.path.join(scancode_root_dir, scmd) rc, stdout, stderr = execute( cmd_loc=scan_cmd, @@ -173,8 +173,7 @@ def check_json_scan( regen=False, remove_file_date=False, check_headers=False, - remove_instance_uuid=False, - ignore_instance_uuid=False, + remove_uuid=True, ): """ Check the scan `result_file` JSON results against the `expected_file` @@ -186,31 +185,26 @@ def check_json_scan( If `remove_file_date` is True, the file.date attribute is removed. If `check_headers` is True, the scan headers attribute is not removed. - If `remove_instance_uuid` is True, removes UUID qualifiers from instance UUIDs. - If `ignore_instance_uuid` is True, skips checking UUID qualifiers from instance UUIDs + If `remove_uuid` is True, removes UUID from Package and Dependency. and if also `regen` is True then regenerate expected file with old UUIDs present already. """ - results = load_json_result(result_file, remove_file_date) - - if remove_instance_uuid or ignore_instance_uuid: + results = load_json_result(location=result_file, remove_file_date=remove_file_date) + if remove_uuid: results = remove_uuid_from_scan(results) if regen: - if ignore_instance_uuid: - results = load_json_result(result_file, remove_file_date) - with open(expected_file, 'w') as reg: json.dump(results, reg, indent=2, separators=(',', ': ')) - - expected = load_json_result(expected_file, remove_file_date) + expected = results + else: + expected = load_json_result(location=expected_file, remove_file_date=remove_file_date) + if remove_uuid: + expected = remove_uuid_from_scan(expected) if not check_headers: results.pop('headers', None) expected.pop('headers', None) - if remove_instance_uuid or ignore_instance_uuid: - expected = remove_uuid_from_scan(expected) - # NOTE we redump the JSON as a YAML string for easier display of # the failures comparison/diff if results != expected: @@ -221,61 +215,41 @@ def check_json_scan( def remove_uuid_from_scan(results): """ - In `results` data mapping remove `uuid` qualifiers from all the - `package_uuid fields` in `packages` and `dependency_uuid` fields in `dependencies`. - - UUID fields are generated uniquely and would cause test failures + Remove Package and Dependency UUIDs from a ``results` mapping of scan data . + UUID fields are generated uniquely and would cause test failures when comparing results and expected. """ - modified_results = results.copy() + for package in (results.get('packages') or []): + package_uid = package.get('package_uid') + if package_uid: + package['package_uid'] = purl_with_fake_uuid(package_uid) - remove_uuid_from_instances( - instances=modified_results["dependencies"], - uuid_string_fields=["dependency_uuid", "for_package"], - ) + for dependency in (results.get('dependencies') or []): + dependency_uid = dependency.get('dependency_uid') + if dependency_uid: + dependency['dependency_uid'] = purl_with_fake_uuid(dependency_uid) - remove_uuid_from_instances( - instances=modified_results["packages"], - uuid_string_fields=["package_uuid"], - ) + for_package_uid = dependency.get('for_package_uid') + if for_package_uid: + dependency['for_package_uid'] = purl_with_fake_uuid(for_package_uid) - remove_uuid_from_instances( - instances=modified_results["files"], - uuid_list_fields=["for_packages"], - ) + for resource in (results.get('files') or []): + for_packages = [] + has_packages = False + for fpkg in (resource.get('for_packages') or []): + has_packages = True + for_packages.append(purl_with_fake_uuid(fpkg)) - return modified_results + if has_packages: + resource['for_packages'] = for_packages + return results -def remove_uuid_from_instances(instances, uuid_string_fields=[], uuid_list_fields=[]): - """ - Remove UUIDs from each of the instances in a list of instances (like files/packages/dependencies), - given the list of `uuid_string_fields` and/or `uuid_list_fields` from which to remove the UUIDs from. - """ - new_instances = [] - - for instance in instances: - - for uuid_string_field in uuid_string_fields: - uuid_string = instance.get(uuid_string_field, None) - if uuid_string: - purl = PackageURL.from_string(uuid_string) - purl.qualifiers.pop("uuid", None) - instance[uuid_string_field] = purl.to_string() - - for uuid_list_field in uuid_list_fields: - uuid_list = instance.get(uuid_list_field, None) - if uuid_list: - new_uuids = [] - for uuid in uuid_list: - purl = PackageURL.from_string(uuid) - purl.qualifiers.pop("uuid", None) - new_uuids.append(purl.to_string()) - instance[uuid_list_field] = new_uuids - - new_instances.append(instance) - - return new_instances + +def purl_with_fake_uuid(purl): + purl = PackageURL.from_string(purl) + purl.qualifiers['uuid'] = 'fixed-uid-done-for-testing-5642512d1758' + return purl.to_string() def load_json_result(location, remove_file_date=False): diff --git a/src/summarycode/classify.py b/src/summarycode/classify.py index 9814dc74eca..eb8a12aa7c2 100644 --- a/src/summarycode/classify.py +++ b/src/summarycode/classify.py @@ -7,14 +7,9 @@ # See https://aboutcode.org for more information about nexB OSS projects. # - - from commoncode.datautils import Boolean -from commoncode.fileset import get_matches from plugincode.pre_scan import PreScanPlugin from plugincode.pre_scan import pre_scan_impl -from plugincode.post_scan import PostScanPlugin -from plugincode.post_scan import post_scan_impl from commoncode.cliutils import PluggableCommandLineOption from commoncode.cliutils import PRE_SCAN_GROUP @@ -25,6 +20,7 @@ # Tracing flag TRACE = False + def logger_debug(*args): pass @@ -43,13 +39,11 @@ def emit(self, record): except Exception: self.handleError(record) - logger = logging.getLogger(__name__) logger.handlers = [ClickHandler()] logger.propagate = False logger.setLevel(logging.DEBUG) - def logger_debug(*args): return logger.debug(' '.join(isinstance(a, str) and a or repr(a) for a in args)) @@ -138,97 +132,6 @@ def get_relative_path(root_path, path): return path[len(root_path):].lstrip('/') -@post_scan_impl -class PackageTopAndKeyFilesTagger(PostScanPlugin): - """ - Tag resources as key or top level based on Package-type specific settings. - """ - - sort_order = 0 - - def is_enabled(self, classify, **kwargs): - return classify - - def process_codebase(self, codebase, classify, **kwargs): - """ - Tag resource as key or top level files based on Package type-specific - rules. - """ - if not classify: - logger_debug('PackageTopAndKeyFilesTagger: return') - return - - from packagedcode import get_package_class - - if codebase.has_single_resource: - # What if we scanned a single file and we do not have a root proper? - return - - root_path = codebase.root.path - - has_package_data = hasattr(codebase.root, 'package_data') - if not has_package_data: - # FIXME: this is not correct... we may still have cases where this - # is wrong: e.g. a META-INF directory and we may not have a package - return - - - for resource in codebase.walk(topdown=True): - package_data_all = resource.package_data or [] - - if not package_data_all: - continue - if not resource.has_children(): - continue - - descendants = None - - for package_data in package_data_all: - package_class = get_package_class(package_data) - extra_root_dirs = package_class.extra_root_dirs() - extra_key_files = package_class.extra_key_files() - if TRACE: - logger_debug('PackageTopAndKeyFilesTagger: extra_root_dirs:', extra_root_dirs) - logger_debug('PackageTopAndKeyFilesTagger: extra_key_files:', extra_key_files) - - if not (extra_root_dirs or extra_key_files): - # FIXME: this is not correct! - # we may still have other files under the actual root. - continue - - if not descendants: - descendants = { - get_relative_path(root_path, r.path): r - for r in resource.descendants(codebase)} - - if TRACE: - logger_debug('PackageTopAndKeyFilesTagger: descendants') - for rpath, desc in descendants.items(): - logger_debug('rpath:', rpath, 'desc:', desc) - - for rpath, desc in descendants.items(): - if extra_root_dirs and get_matches(rpath, extra_root_dirs): - if TRACE: - logger_debug('PackageTopAndKeyFilesTagger: get_matches for:', rpath, desc) - desc.is_top_level = True - if desc.is_file: - set_classification_flags(desc) - desc.save(codebase) - - for child in desc.children(codebase): - if TRACE: - logger_debug('PackageTopAndKeyFilesTagger: set is_top_level for:', child) - - child.is_top_level = True - if child.is_file: - set_classification_flags(child) - child.save(codebase) - - if extra_key_files and get_matches(rpath, extra_key_files): - desc.is_key_file = True - desc.save(codebase) - - LEGAL_STARTS_ENDS = ( 'copying', 'copyright', @@ -251,7 +154,6 @@ def process_codebase(self, codebase, classify, **kwargs): 'patents', ) - _MANIFEST_ENDS = { '.about': 'ABOUT file', '/bower.json': 'bower', @@ -298,10 +200,8 @@ def process_codebase(self, codebase, classify, **kwargs): } - MANIFEST_ENDS = tuple(_MANIFEST_ENDS) - README_STARTS_ENDS = ( 'readme', ) @@ -323,9 +223,10 @@ def check_resource_name_start_and_end(resource, STARTS_ENDS): def set_classification_flags(resource, - _LEGAL=LEGAL_STARTS_ENDS, - _MANIF=MANIFEST_ENDS, - _README=README_STARTS_ENDS): + _LEGAL=LEGAL_STARTS_ENDS, + _MANIF=MANIFEST_ENDS, + _README=README_STARTS_ENDS, +): """ Set classification flags on the `resource` Resource """ @@ -333,7 +234,8 @@ def set_classification_flags(resource, resource.is_legal = is_legal = check_resource_name_start_and_end(resource, _LEGAL) resource.is_readme = is_readme = check_resource_name_start_and_end(resource, _README) - resource.is_manifest = is_manifest = path.endswith(_MANIF) - resource.is_key_file = (resource.is_top_level - and (is_readme or is_legal or is_manifest)) + # FIXME: this will never be picked up as this is NOT available in a pre-scan plugin + has_package_data = bool(getattr(resource, 'package_data', False)) + resource.is_manifest = is_manifest = path.endswith(_MANIF) or has_package_data + resource.is_key_file = (resource.is_top_level and (is_readme or is_legal or is_manifest)) return resource diff --git a/src/summarycode/plugin_consolidate.py b/src/summarycode/plugin_consolidate.py index f22fe8a015f..336a939279d 100644 --- a/src/summarycode/plugin_consolidate.py +++ b/src/summarycode/plugin_consolidate.py @@ -17,8 +17,7 @@ from commoncode.cliutils import PluggableCommandLineOption from commoncode.cliutils import POST_SCAN_GROUP from commoncode.text import python_safe_name -from packagedcode import get_package_instance -from packagedcode.build import BaseBuildManifestPackageData +from packagedcode import models from packagedcode.utils import combine_expressions from plugincode.post_scan import PostScanPlugin from plugincode.post_scan import post_scan_impl @@ -240,11 +239,11 @@ def get_consolidated_packages(codebase): """ for resource in codebase.walk(topdown=False): for package_data in resource.packages: - package = get_package_instance(package_data) + package = models.PackageData.from_dict(scan_data)(package_data) package_root = package.get_package_root(resource, codebase) package_root.extra_data['package_root'] = True package_root.save(codebase) - is_build_file = isinstance(package, BaseBuildManifestPackageData) + is_build_file = isinstance(package, ) package_resources = list(package.get_package_resources(package_root, codebase)) package_license_expression = package.license_expression package_copyright = package.copyright diff --git a/src/summarycode/score.py b/src/summarycode/score.py index be0875c0e91..f65a7a3dfa3 100644 --- a/src/summarycode/score.py +++ b/src/summarycode/score.py @@ -9,14 +9,13 @@ import attr -from packagedcode.utils import combine_expressions -from plugincode.post_scan import PostScanPlugin -from plugincode.post_scan import post_scan_impl from commoncode.cliutils import PluggableCommandLineOption from commoncode.cliutils import POST_SCAN_GROUP - from license_expression import Licensing +from plugincode.post_scan import PostScanPlugin +from plugincode.post_scan import post_scan_impl +from packagedcode.utils import combine_expressions # Tracing flags TRACE = False @@ -48,12 +47,14 @@ class LicenseClarityScore(PostScanPlugin): """ Compute a License clarity score at the codebase level. """ + codebase_attributes = dict(summary=attr.ib(default=attr.Factory(dict))) sort_order = 5 options = [ - PluggableCommandLineOption(('--license-clarity-score',), + PluggableCommandLineOption( + ('--license-clarity-score',), is_flag=True, default=False, help='Compute a summary license clarity score at the codebase level.', @@ -75,7 +76,6 @@ def process_codebase(self, codebase, license_clarity_score, **kwargs): codebase.attributes.summary['license_clarity_score'] = scoring_elements.to_dict() - def compute_license_score(codebase): """ Return a mapping of scoring elements and a license clarity score computed at @@ -124,12 +124,25 @@ def compute_license_score(codebase): """ scoring_elements = ScoringElements() - declared_licenses = get_field_values_from_codebase_resources(codebase, 'licenses', key_files_only=True) - declared_license_expressions = get_field_values_from_codebase_resources(codebase, 'license_expressions', key_files_only=True) + declared_licenses = get_field_values_from_codebase_resources( + codebase=codebase, + field_name='licenses', + key_files_only=True, + ) + declared_license_expressions = get_field_values_from_codebase_resources( + codebase=codebase, field_name='license_expressions', key_files_only=True + ) + unique_declared_license_expressions = unique(declared_license_expressions) declared_license_categories = get_license_categories(declared_licenses) - copyrights = get_field_values_from_codebase_resources(codebase, 'copyrights', key_files_only=True) - other_licenses = get_field_values_from_codebase_resources(codebase, 'licenses', key_files_only=False) + + copyrights = get_field_values_from_codebase_resources( + codebase=codebase, field_name='copyrights', key_files_only=True + ) + + other_licenses = get_field_values_from_codebase_resources( + codebase=codebase, field_name='licenses', key_files_only=False + ) scoring_elements.declared_license = bool(declared_licenses) if scoring_elements.declared_license: @@ -149,20 +162,23 @@ def compute_license_score(codebase): is_permissively_licensed = check_declared_license_categories(declared_license_categories) if is_permissively_licensed: - scoring_elements.conflicting_license_categories = check_for_conflicting_licenses(other_licenses) - if ( - scoring_elements.conflicting_license_categories - and scoring_elements.score > 0 - ): + scoring_elements.conflicting_license_categories = check_for_conflicting_licenses( + other_licenses + ) + if scoring_elements.conflicting_license_categories and scoring_elements.score > 0: scoring_elements.score -= 20 declared_license_expression = get_primary_license(unique_declared_license_expressions) if not declared_license_expression: # If we cannot get a single primary license, then we combine and simplify the license expressions from key files - combined_declared_license_expression = combine_expressions(unique_declared_license_expressions) + combined_declared_license_expression = combine_expressions( + unique_declared_license_expressions + ) if combined_declared_license_expression: - declared_license_expression = str(Licensing().parse(combined_declared_license_expression).simplify()) + declared_license_expression = str( + Licensing().parse(combined_declared_license_expression).simplify() + ) scoring_elements.ambigous_compound_licensing = True if scoring_elements.score > 0: scoring_elements.score -= 10 @@ -201,7 +217,7 @@ def to_dict(self): 'has_license_text': self.has_license_text, 'declared_copyrights': self.declared_copyrights, 'conflicting_license_categories': self.conflicting_license_categories, - 'ambigous_compound_licensing': self.ambigous_compound_licensing + 'ambigous_compound_licensing': self.ambigous_compound_licensing, } @@ -235,13 +251,15 @@ def is_good_license(detected_license): rule = detected_license['matched_rule'] coverage = rule.get('match_coverage') or 0 relevance = rule.get('rule_relevance') or 0 - match_types = dict([ - ('is_license_text', rule['is_license_text']), - ('is_license_notice', rule['is_license_notice']), - ('is_license_reference', rule['is_license_reference']), - ('is_license_tag', rule['is_license_tag']), - ('is_license_intro', rule['is_license_intro']), - ]) + match_types = dict( + [ + ('is_license_text', rule['is_license_text']), + ('is_license_notice', rule['is_license_notice']), + ('is_license_reference', rule['is_license_reference']), + ('is_license_tag', rule['is_license_tag']), + ('is_license_intro', rule['is_license_intro']), + ] + ) matched = False for match_type, mval in match_types.items(): if mval: @@ -256,9 +274,11 @@ def is_good_license(detected_license): if score >= thresholds.min_score: return True else: - if (score >= thresholds.min_score - and coverage >= thresholds.min_coverage - and relevance >= thresholds.min_relevance): + if ( + score >= thresholds.min_score + and coverage >= thresholds.min_coverage + and relevance >= thresholds.min_relevance + ): return True return False @@ -270,11 +290,7 @@ def check_declared_licenses(declared_licenses): If so, return True. Otherwise, return False. """ - return any( - is_good_license(declared_license) - for declared_license - in declared_licenses - ) + return any(is_good_license(declared_license) for declared_license in declared_licenses) def get_field_values_from_codebase_resources(codebase, field_name, key_files_only=False): @@ -324,10 +340,12 @@ def check_for_license_texts(declared_licenses): """ for declared_license in declared_licenses: matched_rule = declared_license.get('matched_rule', {}) - if any([ - matched_rule.get('is_license_text', False), - matched_rule.get('is_license_notice', False), - ]): + if any( + [ + matched_rule.get('is_license_text', False), + matched_rule.get('is_license_notice', False), + ] + ): return True return False @@ -362,10 +380,7 @@ def check_for_conflicting_licenses(other_licenses): If so, return True. Otherwise, return False. """ for license_info in other_licenses: - if ( - license_info.get('category', '') - in CONFLICTING_LICENSE_CATEGORIES - ): + if license_info.get('category', '') in CONFLICTING_LICENSE_CATEGORIES: return True return False @@ -402,10 +417,7 @@ def group_license_expressions(unique_license_expressions): break for j1 in joined_expressions[i:]: if licensing.is_equivalent(j, j1): - if ( - j not in unique_joined_expressions - and j not in seen_joined_expression - ): + if j not in unique_joined_expressions and j not in seen_joined_expression: unique_joined_expressions.append(j) seen_joined_expression.append(j1) else: @@ -445,9 +457,7 @@ def get_primary_license(declared_license_expressions): # Group single expressions to joined expressions to see if single # expressions are accounted for in a joined expression single_expressions_by_joined_expressions = { - joined_expression: [] - for joined_expression - in unique_joined_expressions + joined_expression: [] for joined_expression in unique_joined_expressions } not_in_joined_expressions = [] # Check to see if the single expression is in the joined expression diff --git a/src/summarycode/summarizer.py b/src/summarycode/summarizer.py index b88cb80e49c..f72d0b8d703 100644 --- a/src/summarycode/summarizer.py +++ b/src/summarycode/summarizer.py @@ -17,14 +17,14 @@ from cluecode.copyrights import CopyrightDetector from packagedcode.utils import combine_expressions -from summarycode.score import (compute_license_score, - get_field_values_from_codebase_resources, - unique) +from packagedcode import models +from summarycode.score import compute_license_score +from summarycode.score import get_field_values_from_codebase_resources +from summarycode.score import unique from summarycode.tallies import compute_codebase_tallies - # Tracing flags -TRACE = True +TRACE = False TRACE_LIGHT = False @@ -53,19 +53,21 @@ class ScanSummary(PostScanPlugin): """ Summarize a scan at the codebase level. """ + sort_order = 10 codebase_attributes = dict(summary=attr.ib(default=attr.Factory(dict))) options = [ - PluggableCommandLineOption(('--summary',), + PluggableCommandLineOption( + ('--summary',), is_flag=True, default=False, help='Summarize scans by providing declared origin ' - 'information and other detected origin info at the ' - 'codebase attribute level.', + 'information and other detected origin info at the ' + 'codebase attribute level.', help_group=POST_SCAN_GROUP, - required_options=['classify'] + required_options=['classify'], ) ] @@ -73,7 +75,8 @@ def is_enabled(self, summary, **kwargs): return summary def process_codebase(self, codebase, summary, **kwargs): - if TRACE_LIGHT: logger_debug('ScanSummary:process_codebase') + if TRACE_LIGHT: + logger_debug('ScanSummary:process_codebase') # Get tallies tallies = compute_codebase_tallies(codebase, keep_details=False, **kwargs) @@ -81,21 +84,24 @@ def process_codebase(self, codebase, summary, **kwargs): holders_tallies = tallies.get('holders') or [] programming_language_tallies = tallies.get('programming_language') or [] - # Get Package data from key files - key_files_package_data = get_field_values_from_codebase_resources( - codebase, - 'package_data', - key_files_only=True - ) - # Remove any package that has no name - key_file_package_data = [ - package_data - for package_data in key_files_package_data - if package_data.get('name') - ] - - # Determine declared license expression, declared holder, and primary language from Package data - declared_license_expression, declared_holders, primary_language = get_origin_info_from_package_data(key_file_package_data) + # Determine declared license expression, declared holder, and primary + # language from Package data at the top level. + + declared_license_expression = None + declared_holders = None + primary_language = None + + # use top level packages + if hasattr(codebase.attributes, 'packages'): + top_level_packages = codebase.attributes.packages + ( + declared_license_expression, + declared_holders, + primary_language, + ) = get_origin_info_from_top_level_packages( + top_level_packages=top_level_packages, + codebase=codebase, + ) if declared_license_expression: scoring_elements, _ = compute_license_score(codebase) @@ -103,7 +109,9 @@ def process_codebase(self, codebase, summary, **kwargs): # If we did not get a declared license expression from detected # package data, then we use the results from `compute_license_score` scoring_elements, declared_license_expression = compute_license_score(codebase) - other_license_expressions = remove_from_tallies(declared_license_expression, license_expressions_tallies) + other_license_expressions = remove_from_tallies( + declared_license_expression, license_expressions_tallies + ) if not declared_holders: declared_holders = get_declared_holders(codebase, holders_tallies) @@ -131,9 +139,12 @@ def remove_from_tallies(entry, tallies): pruned_tallies = [] for t in tallies: if ( - isinstance(entry, dict) and t == entry - or isinstance(entry, (list, tuple)) and t in entry - or isinstance(entry, (list, tuple)) and t.get('value') in entry + isinstance(entry, dict) + and t == entry + or isinstance(entry, (list, tuple)) + and t in entry + or isinstance(entry, (list, tuple)) + and t.get('value') in entry or t.get('value') == entry ): continue @@ -150,16 +161,20 @@ def get_declared_holders(codebase, holders_tallies): highest amount of refrences throughout the codebase. """ entry_by_holders = { - fingerprints.generate(entry['value']): entry - for entry in holders_tallies if entry['value'] + fingerprints.generate(entry['value']): entry for entry in holders_tallies if entry['value'] } - key_file_holders = get_field_values_from_codebase_resources(codebase, 'holders', key_files_only=True) + key_file_holders = get_field_values_from_codebase_resources( + codebase, 'holders', key_files_only=True + ) entry_by_key_file_holders = { fingerprints.generate(entry['holder']): entry - for entry in key_file_holders if entry['holder'] + for entry in key_file_holders + if entry['holder'] } unique_key_file_holders = unique(entry_by_key_file_holders.keys()) - unique_key_file_holders_entries = [entry_by_holders[holder] for holder in unique_key_file_holders] + unique_key_file_holders_entries = [ + entry_by_holders[holder] for holder in unique_key_file_holders + ] holder_by_counts = defaultdict(list) for holder_entry in unique_key_file_holders_entries: @@ -186,8 +201,7 @@ def get_primary_language(programming_language_tallies): Return the most common detected programming language as the primary language. """ programming_languages_by_count = { - entry['count']: entry['value'] - for entry in programming_language_tallies + entry['count']: entry['value'] for entry in programming_language_tallies } primary_language = '' if programming_languages_by_count: @@ -196,71 +210,71 @@ def get_primary_language(programming_language_tallies): return primary_language -def get_origin_info_from_package_data(key_file_package_data): +def get_origin_info_from_top_level_packages(top_level_packages, codebase): """ Return a 3-tuple containing the strings of declared license expression, - copyright holder, and primary programming language from a list of detected - package data. + copyright holder, and primary programming language from a + ``top_level_packages`` list of detected top-level packages mapping and a + ``codebase``. """ - if not key_file_package_data: + if not top_level_packages: return '', '', '' - if len(key_file_package_data) > 1: - license_expressions = [] - programming_languages = [] - copyrights = [] - parties = [] - for package_data in key_file_package_data: - license_expression = package_data.get('license_expression') or '' - programming_language = package_data.get('primary_language') or '' - copyright_statement = package_data.get('copyright') or '' - package_parties = package_data.get('parties', []) + license_expressions = [] + programming_languages = [] + copyrights = [] + parties = [] + + for package_mapping in top_level_packages: + package = models.Package.from_dict(package_mapping) + # we are only interested in key packages + if not is_key_package(package, codebase): + continue + + license_expression = package.license_expression + if license_expression: license_expressions.append(license_expression) + + programming_language = package.primary_language + if programming_language: programming_languages.append(programming_language) + + copyright_statement = package.copyright + if copyright_statement: copyrights.append(copyright_statement) - parties.extend(package_parties) - - # Combine license expressions - unique_license_expressions = unique(license_expressions) - combined_declared_license_expression = combine_expressions(unique_license_expressions) - declared_license_expression = '' - if combined_declared_license_expression: - declared_license_expression = str(Licensing().parse(combined_declared_license_expression).simplify()) - - # Get holders - holders = list(get_holders_from_copyright(copyrights)) - declared_holders = [] - if holders: - declared_holders = holders - elif parties: - declared_holders = [party['name'] for party in parties] - - # Programming language - unique_programming_languages = unique(programming_languages) - primary_language = '' - if len(unique_programming_languages) == 1: - primary_language = unique_programming_languages[0] - - return declared_license_expression, declared_holders, primary_language - - package = key_file_package_data[0] - declared_license_expression = package.get('license_expression') or '' - package_primary_language = package.get('primary_language') or '' - - # Determine holders from Package copyright statement - package_copyright = package.get('copyright', '') - package_holders = [] - if package_copyright: - package_holders = list(get_holders_from_copyright(package_copyright)) - - if package_holders: - declared_holder = package_holders - else: - # If there is no copyright statement on the package, collect the - # detected party members and return them as a holder - declared_holder = [party['name'] for party in package.get('parties', [])] - return declared_license_expression, declared_holder, package_primary_language + parties.extend(package.parties or []) + + # Combine license expressions + unique_license_expressions = unique(license_expressions) + combined_declared_license_expression = combine_expressions( + expressions=unique_license_expressions, + relation='AND', + ) + + declared_license_expression = '' + if combined_declared_license_expression: + declared_license_expression = str( + Licensing().parse(combined_declared_license_expression).simplify() + ) + + # Get holders + holders = list(get_holders_from_copyright(copyrights)) + declared_holders = [] + if holders: + declared_holders = holders + elif parties: + declared_holders = [party.name for party in parties or []] + + declared_holders = unique(declared_holders) + + # Programming language + unique_programming_languages = unique(programming_languages) + primary_language = '' + if len(unique_programming_languages) == 1: + primary_language = unique_programming_languages[0] + + return declared_license_expression, declared_holders, primary_language def get_holders_from_copyright(copyright): @@ -270,13 +284,9 @@ def get_holders_from_copyright(copyright): numbered_lines = [] if isinstance(copyright, list): for i, c in enumerate(copyright): - numbered_lines.append( - (i, c) - ) + numbered_lines.append((i, c)) else: - numbered_lines.append( - (0, copyright) - ) + numbered_lines.append((0, copyright)) holder_detections = CopyrightDetector().detect( numbered_lines, @@ -287,3 +297,21 @@ def get_holders_from_copyright(copyright): for holder_detection in holder_detections: yield holder_detection.holder + + +def is_key_package(package, codebase): + """ + Return True if the ``package`` Package is a key, top-level package. + """ + # get the datafile_paths of the package + # get the top level files in the codebase + # return True if any datafile_paths is also a top level files? or key file? + + datafile_paths = set(package.datafile_paths or []) + for resource in codebase.walk(topdown=True): + if not resource.is_top_level: + break + if resource.path in datafile_paths: + return True + + return False diff --git a/tests/formattedcode/data/csv/flatten_scan/full.json b/tests/formattedcode/data/csv/flatten_scan/full.json index b047625795d..778da14a7c8 100644 --- a/tests/formattedcode/data/csv/flatten_scan/full.json +++ b/tests/formattedcode/data/csv/flatten_scan/full.json @@ -192,7 +192,6 @@ "declared_licensing": null, "notice_text": null, "dependencies": [], - "contains_source_code": null, "source_packages": [] } ], @@ -1688,7 +1687,6 @@ "is_resolved": false } ], - "contains_source_code": null, "source_packages": [] } ], diff --git a/tests/formattedcode/data/csv/flatten_scan/full.json-expected b/tests/formattedcode/data/csv/flatten_scan/full.json-expected index cea36e13e51..4af3c497547 100644 --- a/tests/formattedcode/data/csv/flatten_scan/full.json-expected +++ b/tests/formattedcode/data/csv/flatten_scan/full.json-expected @@ -149,8 +149,7 @@ "package__code_view_url": "", "package__copyright": "", "package__license_expression": "", - "package__notice_text": "", - "package__contains_source_code": "" + "package__notice_text": "" }, { "path": "samples/JGroups/", @@ -1385,8 +1384,7 @@ "package__code_view_url": "", "package__copyright": "", "package__license_expression": "", - "package__notice_text": "", - "package__contains_source_code": "" + "package__notice_text": "" }, { "path": "samples/srp/scan/json2csv.rb", diff --git a/tests/formattedcode/data/csv/flatten_scan/package_license_value_null.json b/tests/formattedcode/data/csv/flatten_scan/package_license_value_null.json index 451a657df01..70775395cdd 100644 --- a/tests/formattedcode/data/csv/flatten_scan/package_license_value_null.json +++ b/tests/formattedcode/data/csv/flatten_scan/package_license_value_null.json @@ -75,7 +75,6 @@ "is_resolved": false } ], - "contains_source_code": null, "source_packages": [] } ], diff --git a/tests/formattedcode/data/csv/flatten_scan/package_license_value_null.json-expected b/tests/formattedcode/data/csv/flatten_scan/package_license_value_null.json-expected index 7f47a68cd06..8cd250ee60e 100644 --- a/tests/formattedcode/data/csv/flatten_scan/package_license_value_null.json-expected +++ b/tests/formattedcode/data/csv/flatten_scan/package_license_value_null.json-expected @@ -41,7 +41,6 @@ "package__code_view_url": "", "package__copyright": "", "package__license_expression": "", - "package__notice_text": "", - "package__contains_source_code": "" + "package__notice_text": "" } ] \ No newline at end of file diff --git a/tests/formattedcode/data/csv/livescan/expected.csv b/tests/formattedcode/data/csv/livescan/expected.csv index f01f4ca32a2..e30bebe1b0f 100644 --- a/tests/formattedcode/data/csv/livescan/expected.csv +++ b/tests/formattedcode/data/csv/livescan/expected.csv @@ -1,23 +1,23 @@ -path,type,name,base_name,extension,size,date,sha1,md5,sha256,mime_type,file_type,programming_language,is_binary,is_text,is_archive,is_media,is_source,is_script,percentage_of_license_text,files_count,dirs_count,size_count,scan_errors,license_expression,license__key,license__score,license__name,license__short_name,license__category,license__is_exception,license__is_unknown,license__owner,license__homepage_url,license__text_url,license__reference_url,license__scancode_text_url,license__scancode_data_url,license__spdx_license_key,license__spdx_url,start_line,end_line,matched_rule__identifier,matched_rule__license_expression,matched_rule__licenses,matched_rule__referenced_filenames,matched_rule__is_license_text,matched_rule__is_license_notice,matched_rule__is_license_reference,matched_rule__is_license_tag,matched_rule__is_license_intro,matched_rule__has_unknown,matched_rule__matcher,matched_rule__rule_length,matched_rule__matched_length,matched_rule__match_coverage,matched_rule__rule_relevance,copyright,holder,email,url,package__type,package__namespace,package__name,package__version,package__qualifiers,package__subpath,package__primary_language,package__description,package__release_date,package__homepage_url,package__download_url,package__size,package__sha1,package__md5,package__sha256,package__sha512,package__bug_tracking_url,package__code_view_url,package__vcs_url,package__copyright,package__license_expression,package__declared_license,package__notice_text,package__contains_source_code,package__extra_data,package__purl -json2csv.rb,file,json2csv.rb,json2csv,.rb,912,2022-02-15,1236469a06a2bacbdd8e172ad718482af5b0a936,1307c281e0b153202e291b217eab85d5,12ba215313981dbe810d9ed696b7cc753d97adfcc26eba1e13f941dc7506aa4e,text/x-script.python,"Python script, ASCII text executable",Ruby,False,True,False,False,True,True,62.04,0,0,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -json2csv.rb,,,,,,,,,,,,,,,,,,,,,,,,apache-2.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -json2csv.rb,,,,,,,,,,,,,,,,,,,,,,,,,apache-2.0,100.00,Apache License 2.0,Apache 2.0,Permissive,False,False,Apache Software Foundation,http://www.apache.org/licenses/,http://www.apache.org/licenses/LICENSE-2.0,https://scancode-licensedb.aboutcode.org/apache-2.0,https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/apache-2.0.LICENSE,https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/apache-2.0.yml,Apache-2.0,https://spdx.org/licenses/Apache-2.0,5,13,apache-2.0_7.RULE,apache-2.0,apache-2.0,,,True,,,,,2-aho,85,85,100.00,100.00,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -json2csv.rb,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3,3,,,,,,,,,,,,,,,,Copyright (c) 2017 nexB Inc. and others,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -json2csv.rb,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3,3,,,,,,,,,,,,,,,,,nexB Inc. and others,,,,,,,,,,,,,,,,,,,,,,,,,,,, -json2csv.rb,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,4,4,,,,,,,,,,,,,,,,,,,http://nexb.com/,,,,,,,,,,,,,,,,,,,,,,,,,, -json2csv.rb,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,4,4,,,,,,,,,,,,,,,,,,,https://github.com/nexB/scancode-toolkit/,,,,,,,,,,,,,,,,,,,,,,,,,, -json2csv.rb,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,8,8,,,,,,,,,,,,,,,,,,,http://www.apache.org/licenses/LICENSE-2.0,,,,,,,,,,,,,,,,,,,,,,,,,, -license,file,license,license,,679,2022-02-15,75c5490a718ddd45e40e0cc7ce0c756abc373123,b965a762efb9421cf1bf4405f336e278,a34098a43e5677495f59dff825a3f9bc0f2b0261d75feb2356919f4c3ce049ab,text/plain,ASCII text,,False,True,False,False,False,False,100.0,0,0,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -license,,,,,,,,,,,,,,,,,,,,,,,,gpl-2.0-plus,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -license,,,,,,,,,,,,,,,,,,,,,,,,,gpl-2.0-plus,100.00,GNU General Public License 2.0 or later,GPL 2.0 or later,Copyleft,False,False,Free Software Foundation (FSF),http://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html,http://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html,https://scancode-licensedb.aboutcode.org/gpl-2.0-plus,https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/gpl-2.0-plus.LICENSE,https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/gpl-2.0-plus.yml,GPL-2.0-or-later,https://spdx.org/licenses/GPL-2.0-or-later,1,12,gpl-2.0-plus_420.RULE,gpl-2.0-plus,gpl-2.0-plus,,,True,,,,,1-hash,113,113,100.00,100.00,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -package.json,file,package.json,package,.json,2200,2022-02-15,918376afce796ef90eeda1d6695f2289c90491ac,1f66239a9b850c5e60a9382dbe2162d2,29f6068a1b6c7d06f115a5edc4ed8558edde42c6bbf0145ed77cf1108a0dd529,application/json,JSON data,,False,True,False,False,False,False,58.1,0,0,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -package.json,,,,,,,,,,,,,,,,,,,,,,,,mit,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -package.json,,,,,,,,,,,,,,,,,,,,,,,,mit,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -package.json,,,,,,,,,,,,,,,,,,,,,,,,,mit,100.00,MIT License,MIT License,Permissive,False,False,MIT,http://opensource.org/licenses/mit-license.php,http://opensource.org/licenses/mit-license.php,https://scancode-licensedb.aboutcode.org/mit,https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE,https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.yml,MIT,https://spdx.org/licenses/MIT,24,24,mit_649.RULE,mit,mit,,,True,,,,,2-aho,4,4,100.00,100.00,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -package.json,,,,,,,,,,,,,,,,,,,,,,,,,mit,100.00,MIT License,MIT License,Permissive,False,False,MIT,http://opensource.org/licenses/mit-license.php,http://opensource.org/licenses/mit-license.php,https://scancode-licensedb.aboutcode.org/mit,https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE,https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.yml,MIT,https://spdx.org/licenses/MIT,24,24,mit.LICENSE,mit,mit,,True,,,,,,2-aho,161,161,100.00,100.00,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -package.json,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,24,24,,,,,,,,,,,,,,,,Copyright (c) 2012 LearnBoost ,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -package.json,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,24,24,,,,,,,,,,,,,,,,,LearnBoost,,,,,,,,,,,,,,,,,,,,,,,,,,,, -package.json,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,12,12,,,,,,,,,,,,,,,,,,tj@learnboost.com,,,,,,,,,,,,,,,,,,,,,,,,,,, -package.json,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,16,16,,,,,,,,,,,,,,,,,,,https://github.com/visionmedia/node-cookie-signature.git,,,,,,,,,,,,,,,,,,,,,,,,,, -package.json,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,27,27,,,,,,,,,,,,,,,,,,,https://github.com/visionmedia/node-cookie-signature/issues,,,,,,,,,,,,,,,,,,,,,,,,,, -package.json,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,npm,,cookie-signature,v 1.0.3,,,JavaScript,Sign and unsign cookies,,,https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.3.tgz,,,,,,https://github.com/visionmedia/node-cookie-signature/issues,,git+https://github.com/visionmedia/node-cookie-signature.git,,,,,,,pkg:npm/cookie-signature@1.0.3 +path,type,name,base_name,extension,size,date,sha1,md5,sha256,mime_type,file_type,programming_language,is_binary,is_text,is_archive,is_media,is_source,is_script,percentage_of_license_text,files_count,dirs_count,size_count,scan_errors,license_expression,license__key,license__score,license__name,license__short_name,license__category,license__is_exception,license__is_unknown,license__owner,license__homepage_url,license__text_url,license__reference_url,license__scancode_text_url,license__scancode_data_url,license__spdx_license_key,license__spdx_url,start_line,end_line,matched_rule__identifier,matched_rule__license_expression,matched_rule__licenses,matched_rule__referenced_filenames,matched_rule__is_license_text,matched_rule__is_license_notice,matched_rule__is_license_reference,matched_rule__is_license_tag,matched_rule__is_license_intro,matched_rule__has_unknown,matched_rule__matcher,matched_rule__rule_length,matched_rule__matched_length,matched_rule__match_coverage,matched_rule__rule_relevance,copyright,holder,email,url,package__type,package__namespace,package__name,package__version,package__qualifiers,package__subpath,package__primary_language,package__description,package__release_date,package__homepage_url,package__download_url,package__size,package__sha1,package__md5,package__sha256,package__sha512,package__bug_tracking_url,package__code_view_url,package__vcs_url,package__copyright,package__license_expression,package__declared_license,package__notice_text,package__file_references,package__extra_data,package__repository_homepage_url,package__repository_download_url,package__api_data_url,package__datasource_id,package__purl +json2csv.rb,file,json2csv.rb,json2csv,.rb,912,2021-10-26,1236469a06a2bacbdd8e172ad718482af5b0a936,1307c281e0b153202e291b217eab85d5,12ba215313981dbe810d9ed696b7cc753d97adfcc26eba1e13f941dc7506aa4e,text/x-script.python,"Python script, ASCII text executable",Ruby,False,True,False,False,True,True,62.04,0,0,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +json2csv.rb,,,,,,,,,,,,,,,,,,,,,,,,apache-2.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +json2csv.rb,,,,,,,,,,,,,,,,,,,,,,,,,apache-2.0,100.00,Apache License 2.0,Apache 2.0,Permissive,False,False,Apache Software Foundation,http://www.apache.org/licenses/,http://www.apache.org/licenses/LICENSE-2.0,https://scancode-licensedb.aboutcode.org/apache-2.0,https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/apache-2.0.LICENSE,https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/apache-2.0.yml,Apache-2.0,https://spdx.org/licenses/Apache-2.0,5,13,apache-2.0_7.RULE,apache-2.0,apache-2.0,,,True,,,,,2-aho,85,85,100.00,100.00,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +json2csv.rb,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3,3,,,,,,,,,,,,,,,,Copyright (c) 2017 nexB Inc. and others,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +json2csv.rb,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3,3,,,,,,,,,,,,,,,,,nexB Inc. and others,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +json2csv.rb,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,4,4,,,,,,,,,,,,,,,,,,,http://nexb.com/,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +json2csv.rb,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,4,4,,,,,,,,,,,,,,,,,,,https://github.com/nexB/scancode-toolkit/,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +json2csv.rb,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,8,8,,,,,,,,,,,,,,,,,,,http://www.apache.org/licenses/LICENSE-2.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +license,file,license,license,,679,2021-10-26,75c5490a718ddd45e40e0cc7ce0c756abc373123,b965a762efb9421cf1bf4405f336e278,a34098a43e5677495f59dff825a3f9bc0f2b0261d75feb2356919f4c3ce049ab,text/plain,ASCII text,,False,True,False,False,False,False,100.0,0,0,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +license,,,,,,,,,,,,,,,,,,,,,,,,gpl-2.0-plus,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +license,,,,,,,,,,,,,,,,,,,,,,,,,gpl-2.0-plus,100.00,GNU General Public License 2.0 or later,GPL 2.0 or later,Copyleft,False,False,Free Software Foundation (FSF),http://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html,http://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html,https://scancode-licensedb.aboutcode.org/gpl-2.0-plus,https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/gpl-2.0-plus.LICENSE,https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/gpl-2.0-plus.yml,GPL-2.0-or-later,https://spdx.org/licenses/GPL-2.0-or-later,1,12,gpl-2.0-plus_420.RULE,gpl-2.0-plus,gpl-2.0-plus,,,True,,,,,1-hash,113,113,100.00,100.00,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +package.json,file,package.json,package,.json,2200,2021-10-26,918376afce796ef90eeda1d6695f2289c90491ac,1f66239a9b850c5e60a9382dbe2162d2,29f6068a1b6c7d06f115a5edc4ed8558edde42c6bbf0145ed77cf1108a0dd529,application/json,JSON data,,False,True,False,False,False,False,58.1,0,0,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +package.json,,,,,,,,,,,,,,,,,,,,,,,,mit,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +package.json,,,,,,,,,,,,,,,,,,,,,,,,mit,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +package.json,,,,,,,,,,,,,,,,,,,,,,,,,mit,100.00,MIT License,MIT License,Permissive,False,False,MIT,http://opensource.org/licenses/mit-license.php,http://opensource.org/licenses/mit-license.php,https://scancode-licensedb.aboutcode.org/mit,https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE,https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.yml,MIT,https://spdx.org/licenses/MIT,24,24,mit_649.RULE,mit,mit,,,True,,,,,2-aho,4,4,100.00,100.00,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +package.json,,,,,,,,,,,,,,,,,,,,,,,,,mit,100.00,MIT License,MIT License,Permissive,False,False,MIT,http://opensource.org/licenses/mit-license.php,http://opensource.org/licenses/mit-license.php,https://scancode-licensedb.aboutcode.org/mit,https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE,https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.yml,MIT,https://spdx.org/licenses/MIT,24,24,mit.LICENSE,mit,mit,,True,,,,,,2-aho,161,161,100.00,100.00,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +package.json,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,24,24,,,,,,,,,,,,,,,,Copyright (c) 2012 LearnBoost ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +package.json,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,24,24,,,,,,,,,,,,,,,,,LearnBoost,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +package.json,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,12,12,,,,,,,,,,,,,,,,,,tj@learnboost.com,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +package.json,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,16,16,,,,,,,,,,,,,,,,,,,https://github.com/visionmedia/node-cookie-signature.git,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +package.json,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,27,27,,,,,,,,,,,,,,,,,,,https://github.com/visionmedia/node-cookie-signature/issues,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +package.json,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,npm,,cookie-signature,v 1.0.3,,,JavaScript,Sign and unsign cookies,,,https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.3.tgz,,,,,,https://github.com/visionmedia/node-cookie-signature/issues,,git+https://github.com/visionmedia/node-cookie-signature.git,,,,,,,https://www.npmjs.com/package/cookie-signature,https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.3.tgz,https://registry.npmjs.org/cookie-signature/1.0.3,npm_package_json,pkg:npm/cookie-signature@1.0.3 diff --git a/tests/formattedcode/data/csv/packages/expected-no-root.csv b/tests/formattedcode/data/csv/packages/expected-no-root.csv index 8bdfeb3fc38..fcd75a18870 100644 --- a/tests/formattedcode/data/csv/packages/expected-no-root.csv +++ b/tests/formattedcode/data/csv/packages/expected-no-root.csv @@ -1,3 +1,3 @@ -path,type,scan_errors,package__type,package__namespace,package__name,package__version,package__qualifiers,package__subpath,package__primary_language,package__description,package__release_date,package__homepage_url,package__download_url,package__size,package__sha1,package__md5,package__sha256,package__sha512,package__bug_tracking_url,package__code_view_url,package__vcs_url,package__copyright,package__license_expression,package__declared_license,package__notice_text,package__contains_source_code,package__extra_data,package__purl -package.json,file,,,,,,,,,,,,,,,,,,,,,,,,,,, -package.json,,,npm,,npm,v 2.13.5,,,JavaScript,a package manager for JavaScript,,https://docs.npmjs.com/,https://registry.npmjs.org/npm/-/npm-2.13.5.tgz,,a124386bce4a90506f28ad4b1d1a804a17baaf32,,,,http://github.com/npm/npm/issues,,git+https://github.com/npm/npm.git@fc7bbf03e39cc48a8924b90696d28345a6a90f3c,,artistic-2.0,Artistic-2.0,,,,pkg:npm/npm@2.13.5 +path,type,scan_errors,package__type,package__namespace,package__name,package__version,package__qualifiers,package__subpath,package__primary_language,package__description,package__release_date,package__homepage_url,package__download_url,package__size,package__sha1,package__md5,package__sha256,package__sha512,package__bug_tracking_url,package__code_view_url,package__vcs_url,package__copyright,package__license_expression,package__declared_license,package__notice_text,package__file_references,package__extra_data,package__repository_homepage_url,package__repository_download_url,package__api_data_url,package__datasource_id,package__purl +package.json,file,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +package.json,,,npm,,npm,v 2.13.5,,,JavaScript,a package manager for JavaScript,,https://docs.npmjs.com/,https://registry.npmjs.org/npm/-/npm-2.13.5.tgz,,a124386bce4a90506f28ad4b1d1a804a17baaf32,,,,http://github.com/npm/npm/issues,,git+https://github.com/npm/npm.git@fc7bbf03e39cc48a8924b90696d28345a6a90f3c,,artistic-2.0,Artistic-2.0,,,,https://www.npmjs.com/package/npm,https://registry.npmjs.org/npm/-/npm-2.13.5.tgz,https://registry.npmjs.org/npm/2.13.5,npm_package_json,pkg:npm/npm@2.13.5 diff --git a/tests/formattedcode/data/csv/packages/expected.csv b/tests/formattedcode/data/csv/packages/expected.csv index c444d140972..e402a935a96 100644 --- a/tests/formattedcode/data/csv/packages/expected.csv +++ b/tests/formattedcode/data/csv/packages/expected.csv @@ -1,4 +1,4 @@ -path,type,scan_errors,package__type,package__namespace,package__name,package__version,package__qualifiers,package__subpath,package__primary_language,package__description,package__release_date,package__homepage_url,package__download_url,package__size,package__sha1,package__md5,package__sha256,package__sha512,package__bug_tracking_url,package__code_view_url,package__vcs_url,package__copyright,package__license_expression,package__declared_license,package__notice_text,package__contains_source_code,package__extra_data,package__purl -scan/,directory,,,,,,,,,,,,,,,,,,,,,,,,,,, -scan/package.json,file,,,,,,,,,,,,,,,,,,,,,,,,,,, -scan/package.json,,,npm,,npm,v 2.13.5,,,JavaScript,a package manager for JavaScript,,https://docs.npmjs.com/,https://registry.npmjs.org/npm/-/npm-2.13.5.tgz,,a124386bce4a90506f28ad4b1d1a804a17baaf32,,,,http://github.com/npm/npm/issues,,git+https://github.com/npm/npm.git@fc7bbf03e39cc48a8924b90696d28345a6a90f3c,,artistic-2.0,Artistic-2.0,,,,pkg:npm/npm@2.13.5 +path,type,scan_errors,package__type,package__namespace,package__name,package__version,package__qualifiers,package__subpath,package__primary_language,package__description,package__release_date,package__homepage_url,package__download_url,package__size,package__sha1,package__md5,package__sha256,package__sha512,package__bug_tracking_url,package__code_view_url,package__vcs_url,package__copyright,package__license_expression,package__declared_license,package__notice_text,package__file_references,package__extra_data,package__repository_homepage_url,package__repository_download_url,package__api_data_url,package__datasource_id,package__purl +scan/,directory,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +scan/package.json,file,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +scan/package.json,,,npm,,npm,v 2.13.5,,,JavaScript,a package manager for JavaScript,,https://docs.npmjs.com/,https://registry.npmjs.org/npm/-/npm-2.13.5.tgz,,a124386bce4a90506f28ad4b1d1a804a17baaf32,,,,http://github.com/npm/npm/issues,,git+https://github.com/npm/npm.git@fc7bbf03e39cc48a8924b90696d28345a6a90f3c,,artistic-2.0,Artistic-2.0,,,,https://www.npmjs.com/package/npm,https://registry.npmjs.org/npm/-/npm-2.13.5.tgz,https://registry.npmjs.org/npm/2.13.5,npm_package_json,pkg:npm/npm@2.13.5 diff --git a/tests/formattedcode/test_output_csv.py b/tests/formattedcode/test_output_csv.py index e97cbe5bd57..a1a70f4c3c5 100644 --- a/tests/formattedcode/test_output_csv.py +++ b/tests/formattedcode/test_output_csv.py @@ -49,7 +49,7 @@ def check_json(result, expected_file, regen=REGEN_TEST_FIXTURES): def check_csvs(result_file, expected_file, - ignore_keys=('date', 'file_type', 'mime_type', 'package_uuid'), + ignore_keys=('date', 'file_type', 'mime_type', 'package_uid'), regen=REGEN_TEST_FIXTURES): """ Load and compare two CSVs. diff --git a/tests/licensedcode/data/plugin_license/package/package.expected.json b/tests/licensedcode/data/plugin_license/package/package.expected.json index fbf6cf9a779..abccb4c7d51 100644 --- a/tests/licensedcode/data/plugin_license/package/package.expected.json +++ b/tests/licensedcode/data/plugin_license/package/package.expected.json @@ -12,7 +12,6 @@ "output_format_version": "2.0.0", "message": null, "errors": [], - "warnings": [], "extra_data": { "spdx_license_list_version": "3.16", "files_count": 1 @@ -28,9 +27,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/dicer", - "for_package": "pkg:npm/busboy@0.2.14", - "lockfile": "package.json" + "dependency_uid": "pkg:npm/dicer?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/busboy@0.2.14?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/readable-stream", @@ -40,9 +40,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/readable-stream", - "for_package": "pkg:npm/busboy@0.2.14", - "lockfile": "package.json" + "dependency_uid": "pkg:npm/readable-stream?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/busboy@0.2.14?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "package.json", + "datasource_id": "npm_package_json" } ], "packages": [ @@ -90,20 +91,19 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, - "package_uuid": "pkg:npm/busboy@0.2.14", - "package_data_files": [ + "repository_homepage_url": "https://www.npmjs.com/package/busboy", + "repository_download_url": "https://registry.npmjs.org/busboy/-/busboy-0.2.14.tgz", + "api_data_url": "https://registry.npmjs.org/busboy/0.2.14", + "package_uid": "pkg:npm/busboy@0.2.14?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "package.json" ], - "files": [ - "package.json" + "datasource_ids": [ + "npm_package_json" ], - "purl": "pkg:npm/busboy@0.2.14", - "repository_homepage_url": "https://www.npmjs.com/package/busboy", - "repository_download_url": "https://registry.npmjs.org/busboy/-/busboy-0.2.14.tgz", - "api_data_url": "https://registry.npmjs.org/busboy/0.2.14" + "purl": "pkg:npm/busboy@0.2.14" } ], "files": [ @@ -199,8 +199,8 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -222,14 +222,15 @@ "resolved_package": {} } ], - "purl": "pkg:npm/busboy@0.2.14", "repository_homepage_url": "https://www.npmjs.com/package/busboy", "repository_download_url": "https://registry.npmjs.org/busboy/-/busboy-0.2.14.tgz", - "api_data_url": "https://registry.npmjs.org/busboy/0.2.14" + "api_data_url": "https://registry.npmjs.org/busboy/0.2.14", + "datasource_id": "npm_package_json", + "purl": "pkg:npm/busboy@0.2.14" } ], "for_packages": [ - "pkg:npm/busboy@0.2.14" + "pkg:npm/busboy@0.2.14?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] } diff --git a/tests/licensedcode/data/plugin_licenses_reference/scan.expected.json b/tests/licensedcode/data/plugin_licenses_reference/scan.expected.json index e0b8af62eac..f3c1639e600 100644 --- a/tests/licensedcode/data/plugin_licenses_reference/scan.expected.json +++ b/tests/licensedcode/data/plugin_licenses_reference/scan.expected.json @@ -13,7 +13,6 @@ "output_format_version": "2.0.0", "message": null, "errors": [], - "warnings": [], "extra_data": { "spdx_license_list_version": "3.16", "files_count": 2 @@ -63,21 +62,19 @@ "Artistic-2.0 OR MIT" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, - "package_uuid": "pkg:npm/npm@2.13.5", - "package_data_files": [ + "repository_homepage_url": "https://www.npmjs.com/package/npm", + "repository_download_url": "https://registry.npmjs.org/npm/-/npm-2.13.5.tgz", + "api_data_url": "https://registry.npmjs.org/npm/2.13.5", + "package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "scan/package.json" ], - "files": [ - "scan/copyr.java", - "scan/package.json" + "datasource_ids": [ + "npm_package_json" ], - "purl": "pkg:npm/npm@2.13.5", - "repository_homepage_url": "https://www.npmjs.com/package/npm", - "repository_download_url": "https://registry.npmjs.org/npm/-/npm-2.13.5.tgz", - "api_data_url": "https://registry.npmjs.org/npm/2.13.5" + "purl": "pkg:npm/npm@2.13.5" } ], "licenses_reference": [ @@ -317,9 +314,7 @@ ], "percentage_of_license_text": 100.0, "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "scan_errors": [] }, { @@ -411,18 +406,19 @@ "Artistic-2.0 OR MIT" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:npm/npm@2.13.5", "repository_homepage_url": "https://www.npmjs.com/package/npm", "repository_download_url": "https://registry.npmjs.org/npm/-/npm-2.13.5.tgz", - "api_data_url": "https://registry.npmjs.org/npm/2.13.5" + "api_data_url": "https://registry.npmjs.org/npm/2.13.5", + "datasource_id": "npm_package_json", + "purl": "pkg:npm/npm@2.13.5" } ], "for_packages": [ - "pkg:npm/npm@2.13.5" + "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] } diff --git a/tests/licensedcode/test_plugin_license.py b/tests/licensedcode/test_plugin_license.py index 1ade2c198c2..f126911217a 100644 --- a/tests/licensedcode/test_plugin_license.py +++ b/tests/licensedcode/test_plugin_license.py @@ -274,4 +274,4 @@ def test_detection_is_correct_in_legacy_npm_package_json(): result_file = test_env.get_temp_file('json') expected_file = test_env.get_test_loc('plugin_license/package/package.expected.json') run_scan_click(['-lp', '--json-pp', result_file, test_dir]) - check_json_scan(expected_file, result_file, remove_instance_uuid=True, remove_file_date=True, regen=REGEN_TEST_FIXTURES) + check_json_scan(expected_file, result_file, remove_uuid=True, remove_file_date=True, regen=REGEN_TEST_FIXTURES) diff --git a/tests/licensedcode/test_plugin_licenses_reference.py b/tests/licensedcode/test_plugin_licenses_reference.py index 1dc8d2660a6..bbe0d1b1cb5 100644 --- a/tests/licensedcode/test_plugin_licenses_reference.py +++ b/tests/licensedcode/test_plugin_licenses_reference.py @@ -29,5 +29,5 @@ def test_licenses_reference_works(): run_scan_click(args) check_json_scan( test_env.get_test_loc('plugin_licenses_reference/scan.expected.json'), - result_file, remove_file_date=True, remove_instance_uuid=True, regen=REGEN_TEST_FIXTURES, + result_file, remove_file_date=True, remove_uuid=True, regen=REGEN_TEST_FIXTURES, ) diff --git a/tests/packagedcode/data/about/aboutfiles.expected.json b/tests/packagedcode/data/about/aboutfiles.expected.json new file mode 100644 index 00000000000..bb946100191 --- /dev/null +++ b/tests/packagedcode/data/about/aboutfiles.expected.json @@ -0,0 +1,278 @@ +{ + "headers": [ + { + "tool_name": "scancode-toolkit", + "options": { + "input": "", + "--json": "", + "--package": true + }, + "notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.", + "output_format_version": "2.0.0", + "message": null, + "errors": [], + "warnings": [], + "extra_data": { + "spdx_license_list_version": "3.16", + "files_count": 3 + } + } + ], + "dependencies": [], + "packages": [ + { + "type": "about", + "namespace": null, + "name": "apipkg", + "version": "1.4", + "qualifiers": {}, + "subpath": null, + "primary_language": null, + "description": null, + "release_date": null, + "parties": [ + { + "type": "person", + "role": "owner", + "name": "Holger Krekel", + "email": null, + "url": null + } + ], + "keywords": [], + "homepage_url": "https://bitbucket.org/hpk42/apipkg", + "download_url": "https://pypi.python.org/packages/94/72/fd4f2e46ce7b0d388191c819ef691c8195fab09602bbf1a2f92aa5351444/apipkg-1.4-py2.py3-none-any.whl#md5=5644eb6aff3f19e13430251a820e987f", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": "Copyright (c) 2009 holger krekel", + "license_expression": "mit", + "declared_license": "mit", + "notice_text": null, + "source_packages": [], + "extra_data": {}, + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "package_uid": "pkg:about/apipkg@1.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "aboutfiles/apipkg.ABOUT" + ], + "datasource_ids": [ + "about_file" + ], + "purl": "pkg:about/apipkg@1.4" + }, + { + "type": "about", + "namespace": null, + "name": "appdirs", + "version": "1.4.3", + "qualifiers": {}, + "subpath": null, + "primary_language": null, + "description": null, + "release_date": null, + "parties": [ + { + "type": "person", + "role": "owner", + "name": "ActiveState", + "email": null, + "url": null + } + ], + "keywords": [], + "homepage_url": "https://pypi.python.org/pypi/appdirs", + "download_url": "https://pypi.python.org/packages/56/eb/810e700ed1349edde4cbdc1b2a21e28cdf115f9faf263f6bbf8447c1abf3/appdirs-1.4.3-py2.py3-none-any.whl#md5=9ed4b51c9611775c3078b3831072e153", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": "Copyright (c) 2010 ActiveState Software Inc.", + "license_expression": "mit", + "declared_license": "mit", + "notice_text": null, + "source_packages": [], + "extra_data": { + "missing_file_references": [ + { + "path": "appdirs-1.4.3-py2.py3-none-any.whl", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + }, + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "package_uid": "pkg:about/appdirs@1.4.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "aboutfiles/appdirs.ABOUT" + ], + "datasource_ids": [ + "about_file" + ], + "purl": "pkg:about/appdirs@1.4.3" + } + ], + "files": [ + { + "path": "aboutfiles", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "aboutfiles/apipkg-1.4-py2.py3-none-any.whl", + "type": "file", + "package_data": [], + "for_packages": [ + "pkg:about/apipkg@1.4?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "aboutfiles/apipkg.ABOUT", + "type": "file", + "package_data": [ + { + "type": "about", + "namespace": null, + "name": "apipkg", + "version": "1.4", + "qualifiers": {}, + "subpath": null, + "primary_language": null, + "description": null, + "release_date": null, + "parties": [ + { + "type": "person", + "role": "owner", + "name": "Holger Krekel", + "email": null, + "url": null + } + ], + "keywords": [], + "homepage_url": "https://bitbucket.org/hpk42/apipkg", + "download_url": "https://pypi.python.org/packages/94/72/fd4f2e46ce7b0d388191c819ef691c8195fab09602bbf1a2f92aa5351444/apipkg-1.4-py2.py3-none-any.whl#md5=5644eb6aff3f19e13430251a820e987f", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": "Copyright (c) 2009 holger krekel", + "license_expression": "mit", + "declared_license": "mit", + "notice_text": null, + "source_packages": [], + "file_references": [ + { + "path": "apipkg-1.4-py2.py3-none-any.whl", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "about_file", + "purl": "pkg:about/apipkg@1.4" + } + ], + "for_packages": [ + "pkg:about/apipkg@1.4?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "aboutfiles/appdirs.ABOUT", + "type": "file", + "package_data": [ + { + "type": "about", + "namespace": null, + "name": "appdirs", + "version": "1.4.3", + "qualifiers": {}, + "subpath": null, + "primary_language": null, + "description": null, + "release_date": null, + "parties": [ + { + "type": "person", + "role": "owner", + "name": "ActiveState", + "email": null, + "url": null + } + ], + "keywords": [], + "homepage_url": "https://pypi.python.org/pypi/appdirs", + "download_url": "https://pypi.python.org/packages/56/eb/810e700ed1349edde4cbdc1b2a21e28cdf115f9faf263f6bbf8447c1abf3/appdirs-1.4.3-py2.py3-none-any.whl#md5=9ed4b51c9611775c3078b3831072e153", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": "Copyright (c) 2010 ActiveState Software Inc.", + "license_expression": "mit", + "declared_license": "mit", + "notice_text": null, + "source_packages": [], + "file_references": [ + { + "path": "appdirs-1.4.3-py2.py3-none-any.whl", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "about_file", + "purl": "pkg:about/appdirs@1.4.3" + } + ], + "for_packages": [ + "pkg:about/appdirs@1.4.3?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + } + ] +} \ No newline at end of file diff --git a/tests/packagedcode/data/about/aboutfiles/apipkg-1.4-py2.py3-none-any.whl b/tests/packagedcode/data/about/aboutfiles/apipkg-1.4-py2.py3-none-any.whl new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/packagedcode/data/about/apipkg.ABOUT-expected b/tests/packagedcode/data/about/apipkg.ABOUT-expected index 3511553f3f8..08812f564fb 100644 --- a/tests/packagedcode/data/about/apipkg.ABOUT-expected +++ b/tests/packagedcode/data/about/apipkg.ABOUT-expected @@ -33,15 +33,24 @@ "license_expression": "mit", "declared_license": "mit", "notice_text": null, - "contains_source_code": null, "source_packages": [], - "extra_data": { - "about_resource": "apipkg-1.4-py2.py3-none-any.whl" - }, + "file_references": [ + { + "path": "apipkg-1.4-py2.py3-none-any.whl", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ], + "extra_data": {}, "dependencies": [], - "purl": "pkg:about/apipkg@1.4", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "about_file", + "purl": "pkg:about/apipkg@1.4" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/about/appdirs.ABOUT-expected b/tests/packagedcode/data/about/appdirs.ABOUT-expected index 4a70bccc4e7..aac38fa21bd 100644 --- a/tests/packagedcode/data/about/appdirs.ABOUT-expected +++ b/tests/packagedcode/data/about/appdirs.ABOUT-expected @@ -33,15 +33,24 @@ "license_expression": "mit", "declared_license": "mit", "notice_text": null, - "contains_source_code": null, "source_packages": [], - "extra_data": { - "about_resource": "appdirs-1.4.3-py2.py3-none-any.whl" - }, + "file_references": [ + { + "path": "appdirs-1.4.3-py2.py3-none-any.whl", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ], + "extra_data": {}, "dependencies": [], - "purl": "pkg:about/appdirs@1.4.3", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "about_file", + "purl": "pkg:about/appdirs@1.4.3" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/bluedevil/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/bluedevil/APKBUILD-expected.json index 722d738ded6..52e01a2368b 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/bluedevil/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/bluedevil/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-2.0-plus AND lgpl-2.0-plus AND (lgpl-2.1 OR lgpl-3.0)", "declared_license": "GPL-2.0-or-later AND LGPL-2.0-or-later AND (LGPL-2.1-only OR LGPL-3.0-only)", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/bluedevil@5.22.0-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/bluedevil@5.22.0-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/breeze-grub/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/breeze-grub/APKBUILD-expected.json index 216b2e1c084..03643921f44 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/breeze-grub/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/breeze-grub/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-3.0-plus", "declared_license": "GPL-3.0-or-later", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/breeze-grub@5.22.0-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/breeze-grub@5.22.0-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/breeze-gtk/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/breeze-gtk/APKBUILD-expected.json index 7418d9b27a5..29920081392 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/breeze-gtk/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/breeze-gtk/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "lgpl-2.1", "declared_license": "LGPL-2.1-only", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/breeze-gtk@5.22.0-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/breeze-gtk@5.22.0-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/breeze-plymouth/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/breeze-plymouth/APKBUILD-expected.json index fb94a7dccf0..e32d3fff468 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/breeze-plymouth/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/breeze-plymouth/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-2.0-plus", "declared_license": "GPL-2.0-or-later", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/breeze-plymouth@5.22.0-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/breeze-plymouth@5.22.0-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/breeze/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/breeze/APKBUILD-expected.json index 71b069f06ae..aa3ae3c12fc 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/breeze/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/breeze/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-2.0-plus", "declared_license": "GPL-2.0-or-later", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/breeze@5.22.0-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/breeze@5.22.0-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/discover/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/discover/APKBUILD-expected.json index d71a46803ec..5663b77cdaa 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/discover/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/discover/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "lgpl-2.0-plus AND (gpl-2.0 OR gpl-3.0) AND gfdl-1.2", "declared_license": "LGPL-2.0-or-later AND (GPL-2.0-only OR GPL-3.0-only) AND GFDL-1.2-only", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -65,8 +65,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/discover@5.22.0-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/discover@5.22.0-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/drkonqi/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/drkonqi/APKBUILD-expected.json index 9cd2838ca9b..d55363707e3 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/drkonqi/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/drkonqi/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-2.0-plus", "declared_license": "GPL-2.0-or-later", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/drkonqi@5.22.0-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/drkonqi@5.22.0-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/jool-modules-lts/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/jool-modules-lts/APKBUILD-expected.json index d06d77ce61e..f94367aa5fa 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/jool-modules-lts/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/jool-modules-lts/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-2.0-plus", "declared_license": "GPL-2.0-or-later", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/jool-modules-lts@5.10.43-r%24%28%28", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/jool-modules-lts@5.10.43-r%24%28%28" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/jool-modules-rpi/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/jool-modules-rpi/APKBUILD-expected.json index d06d77ce61e..f94367aa5fa 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/jool-modules-rpi/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/jool-modules-rpi/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-2.0-plus", "declared_license": "GPL-2.0-or-later", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/jool-modules-lts@5.10.43-r%24%28%28", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/jool-modules-lts@5.10.43-r%24%28%28" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kactivitymanagerd/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kactivitymanagerd/APKBUILD-expected.json index 3fbde37f971..3b2438eb1f8 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kactivitymanagerd/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kactivitymanagerd/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-2.0 OR gpl-3.0", "declared_license": "GPL-2.0-only OR GPL-3.0-only", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/kactivitymanagerd@5.22.0-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/kactivitymanagerd@5.22.0-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kde-cli-tools/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kde-cli-tools/APKBUILD-expected.json index 44249e56ad3..31cc0911475 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kde-cli-tools/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kde-cli-tools/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "(gpl-2.0 OR gpl-3.0) AND gpl-2.0-plus AND gpl-2.0 AND lgpl-2.1", "declared_license": "(GPL-2.0-only OR GPL-3.0-only) AND GPL-2.0-or-later AND GPL-2.0-only AND LGPL-2.1-only", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/kde-cli-tools@5.22.0-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/kde-cli-tools@5.22.0-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kde-gtk-config/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kde-gtk-config/APKBUILD-expected.json index 57c3c107ce6..88908732306 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kde-gtk-config/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kde-gtk-config/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "(gpl-2.0 AND lgpl-2.1) OR lgpl-3.0", "declared_license": "GPL-2.0 AND LGPL-2.1-only OR LGPL-3.0-only", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/kde-gtk-config@5.22.0-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/kde-gtk-config@5.22.0-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kdecoration/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kdecoration/APKBUILD-expected.json index b361b349d83..816757dbf6e 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kdecoration/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kdecoration/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "lgpl-2.1 OR lgpl-3.0", "declared_license": "LGPL-2.1-only OR LGPL-3.0-only", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/kdecoration@5.22.0-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/kdecoration@5.22.0-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kdeplasma-addons/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kdeplasma-addons/APKBUILD-expected.json index 0c56dd4d007..bf51fe706d7 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kdeplasma-addons/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kdeplasma-addons/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "lgpl-2.0 AND gpl-2.0-plus", "declared_license": "LGPL-2.0-only AND GPL-2.0-or-later", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/kdeplasma-addons@5.22.0-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/kdeplasma-addons@5.22.0-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kgamma5/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kgamma5/APKBUILD-expected.json index 11c9b32ff15..fdf88aa0f3d 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kgamma5/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kgamma5/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-2.0-plus", "declared_license": "GPL-2.0-or-later", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/kgamma5@5.22.0-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/kgamma5@5.22.0-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/khotkeys/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/khotkeys/APKBUILD-expected.json index 7e8e3456208..7fbb44fdda5 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/khotkeys/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/khotkeys/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-2.0 AND lgpl-2.0-plus", "declared_license": "GPL-2.0-only AND LGPL-2.0-or-later", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/khotkeys@5.22.0-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/khotkeys@5.22.0-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kinfocenter/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kinfocenter/APKBUILD-expected.json index 256258e25e4..68f624676ca 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kinfocenter/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kinfocenter/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "(gpl-2.0 OR gpl-3.0) AND (lgpl-2.1 OR lgpl-3.0)", "declared_license": "(GPL-2.0-only OR GPL-3.0-only) AND (LGPL-2.1-only OR LGPL-3.0-only)", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/kinfocenter@5.22.0-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/kinfocenter@5.22.0-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kmenuedit/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kmenuedit/APKBUILD-expected.json index 5bfa04986ee..8d751df283c 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kmenuedit/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kmenuedit/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-2.0-plus", "declared_license": "GPL-2.0-or-later", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/kmenuedit@5.22.0-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/kmenuedit@5.22.0-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kscreen/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kscreen/APKBUILD-expected.json index 305fef8550f..5cb3a7e8d2c 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kscreen/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kscreen/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-2.0-plus AND lgpl-2.1-plus", "declared_license": "GPL-2.0-or-later AND LGPL-2.1-or-later", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/kscreen@5.22.0-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/kscreen@5.22.0-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kscreenlocker/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kscreenlocker/APKBUILD-expected.json index 1a082f3053a..f30d395b092 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kscreenlocker/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kscreenlocker/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-2.0-plus AND (gpl-2.0 OR gpl-3.0)", "declared_license": "GPL-2.0-or-later AND (GPL-2.0-only OR GPL-3.0-only)", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -57,8 +57,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/kscreenlocker@5.22.0-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/kscreenlocker@5.22.0-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/ksshaskpass/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/ksshaskpass/APKBUILD-expected.json index 24678912a17..f17f847458e 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/ksshaskpass/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/ksshaskpass/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-2.0-plus", "declared_license": "GPL-2.0-or-later", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/ksshaskpass@5.22.0-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/ksshaskpass@5.22.0-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kwallet-pam/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kwallet-pam/APKBUILD-expected.json index aec419f2452..aeefb0e7611 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kwallet-pam/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kwallet-pam/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "lgpl-2.1-plus", "declared_license": "LGPL-2.1-or-later", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/kwallet-pam@5.22.0-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/kwallet-pam@5.22.0-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kwayland-integration/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kwayland-integration/APKBUILD-expected.json index 6d0072f0a09..7850fc0b3cc 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kwayland-integration/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kwayland-integration/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "lgpl-2.1 OR lgpl-3.0", "declared_license": "LGPL-2.1-only OR LGPL-3.0-only", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/kwayland-integration@5.22.0-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/kwayland-integration@5.22.0-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kwayland-server/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kwayland-server/APKBUILD-expected.json index 3194c7be413..84841811476 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kwayland-server/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kwayland-server/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-2.0-plus AND (gpl-2.0 OR gpl-3.0) AND lgpl-2.1", "declared_license": "GPL-2.0-or-later AND (GPL-2.0-only OR GPL-3.0-only) AND LGPL-2.1-only", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/kwayland-server@5.22.0-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/kwayland-server@5.22.0-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kwin/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kwin/APKBUILD-expected.json index 2f754a8593b..2bd02b0c180 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kwin/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kwin/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-2.0-plus AND (gpl-2.0 OR gpl-3.0) AND lgpl-2.1", "declared_license": "GPL-2.0-or-later AND (GPL-2.0-only OR GPL-3.0-only) AND LGPL-2.1-only", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/kwin@5.22.0-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/kwin@5.22.0-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kwrited/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kwrited/APKBUILD-expected.json index 6d1347a5cd6..89c24dcbb87 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kwrited/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kwrited/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-2.0-plus", "declared_license": "GPL-2.0-or-later", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/kwrited@5.22.0-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/kwrited@5.22.0-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/layer-shell-qt/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/layer-shell-qt/APKBUILD-expected.json index 4a5ef896216..3913cee13b6 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/layer-shell-qt/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/layer-shell-qt/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-2.0-plus AND (gpl-2.0 OR gpl-3.0)", "declared_license": "GPL-2.0-or-later AND (GPL-2.0-only OR GPL-3.0-only)", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/layer-shell-qt@5.22.0-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/layer-shell-qt@5.22.0-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/libkscreen/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/libkscreen/APKBUILD-expected.json index affb9734db5..bd73b3dfdf3 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/libkscreen/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/libkscreen/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "lgpl-2.1-plus AND gpl-2.0-plus AND (gpl-2.0 OR gpl-3.0)", "declared_license": "LGPL-2.1-or-later AND GPL-2.0-or-later AND (GPL-2.0-only OR GPL-3.0-only)", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/libkscreen@5.22.0-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/libkscreen@5.22.0-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/libksysguard/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/libksysguard/APKBUILD-expected.json index 04adaf5ff95..86516db6cb2 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/libksysguard/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/libksysguard/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "lgpl-2.1-plus AND (gpl-2.0 OR gpl-3.0)", "declared_license": "LGPL-2.1-or-later AND (GPL-2.0-only OR GPL-3.0-only)", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/libksysguard@5.22.0-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/libksysguard@5.22.0-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/libreoffice/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/libreoffice/APKBUILD-expected.json index a5a564855b9..e4c108b1bf4 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/libreoffice/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/libreoffice/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "mpl-2.0", "declared_license": "MPL-2.0", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -273,8 +273,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/libreoffice@6.4.6.2-r11", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/libreoffice@6.4.6.2-r11" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/milou/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/milou/APKBUILD-expected.json index 4c8280d3e05..62686925536 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/milou/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/milou/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-2.0-plus AND (gpl-2.0 OR gpl-3.0) AND (lgpl-2.1 OR lgpl-3.0)", "declared_license": "GPL-2.0-or-later AND (GPL-2.0-only OR GPL-3.0-only) AND (LGPL-2.1-only OR LGPL-3.0-only)", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/milou@5.22.0-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/milou@5.22.0-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/mpd/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/mpd/APKBUILD-expected.json index c4e3e5f6ff7..762942e5aec 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/mpd/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/mpd/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-2.0-plus", "declared_license": "GPL-2.0-or-later", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -89,8 +89,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/mpd@0.22.8-r2", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/mpd@0.22.8-r2" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/oxygen/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/oxygen/APKBUILD-expected.json index b4e3fc97950..78c8a1da341 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/oxygen/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/oxygen/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "lgpl-2.1-plus", "declared_license": "LGPL-2.1-or-later", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/oxygen@5.22.0-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/oxygen@5.22.0-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/parole/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/parole/APKBUILD-expected.json index 22fdf347c12..12ec9fd0c29 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/parole/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/parole/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-2.0-plus", "declared_license": "GPL-2.0-or-later", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/parole@1.0.5-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/parole@1.0.5-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-browser-integration/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-browser-integration/APKBUILD-expected.json index 82088285a43..df8aeebcbda 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-browser-integration/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-browser-integration/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-3.0-plus", "declared_license": "GPL-3.0-or-later", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/plasma-browser-integration@5.22.0-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/plasma-browser-integration@5.22.0-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-desktop/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-desktop/APKBUILD-expected.json index 0c96a710f91..629f49a3d35 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-desktop/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-desktop/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-2.0 AND lgpl-2.1", "declared_license": "GPL-2.0-only AND LGPL-2.1-only", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/plasma-desktop@5.22.0-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/plasma-desktop@5.22.0-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-disks/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-disks/APKBUILD-expected.json index 7a58cf96313..c1ff6898da9 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-disks/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-disks/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-2.0-plus", "declared_license": "GPL-2.0-or-later", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/plasma-disks@5.22.0-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/plasma-disks@5.22.0-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-firewall/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-firewall/APKBUILD-expected.json index 9dcac0785ce..65e065e36d5 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-firewall/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-firewall/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-2.0-plus", "declared_license": "GPL-2.0-or-later", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/plasma-firewall@5.22.0-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/plasma-firewall@5.22.0-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-integration/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-integration/APKBUILD-expected.json index 12f47cb7106..6fd0e47b601 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-integration/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-integration/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "(lgpl-2.1 OR lgpl-3.0) AND lgpl-2.1 AND (lgpl-2.1 WITH qt-lgpl-exception-1.1 OR gpl-3.0 WITH qt-lgpl-exception-1.1)", "declared_license": "(LGPL-2.1-only OR LGPL-3.0-only) AND LGPL-2.1-only AND ((LGPL-2.1-only WITH Nokia-Qt-exception-1.1) OR (GPL-3.0-only WITH Nokia-Qt-exception-1.1))", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/plasma-integration@5.22.0-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/plasma-integration@5.22.0-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-nano/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-nano/APKBUILD-expected.json index 36590db41fe..eacdbc24dc9 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-nano/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-nano/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-2.0-plus AND lgpl-2.1-plus", "declared_license": "GPL-2.0-or-later AND LGPL-2.1-or-later", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/plasma-nano@5.22.0-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/plasma-nano@5.22.0-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-nm/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-nm/APKBUILD-expected.json index 654d13b6a03..9a3ea5adaab 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-nm/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-nm/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "(lgpl-2.1 OR lgpl-3.0) AND lgpl-2.0-plus", "declared_license": "(LGPL-2.1-only OR LGPL-3.0-only) AND LGPL-2.0-or-later", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/plasma-nm@5.22.0-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/plasma-nm@5.22.0-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-pa/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-pa/APKBUILD-expected.json index 6f319311141..5eed80348fa 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-pa/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-pa/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "lgpl-2.1 OR (lgpl-3.0 AND gpl-2.0)", "declared_license": "LGPL-2.1-only OR LGPL-3.0-only AND GPL-2.0-only", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/plasma-pa@5.22.0-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/plasma-pa@5.22.0-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-phone-components/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-phone-components/APKBUILD-expected.json index 9c4f8e31249..a04c1b11217 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-phone-components/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-phone-components/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-2.0-plus AND lgpl-2.1-plus", "declared_license": "GPL-2.0-or-later AND LGPL-2.1-or-later", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/plasma-phone-components@5.22.0-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/plasma-phone-components@5.22.0-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-sdk/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-sdk/APKBUILD-expected.json index 8d88ddecd86..04f0b373b38 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-sdk/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-sdk/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-2.0-plus", "declared_license": "GPL-2.0-or-later", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/plasma-sdk@5.22.0-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/plasma-sdk@5.22.0-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-systemmonitor/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-systemmonitor/APKBUILD-expected.json index 3a6a7324636..66a1865feae 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-systemmonitor/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-systemmonitor/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "kde-accepted-gpl AND kde-accepted-lgpl AND cc0-1.0", "declared_license": "LicenseRef-KDE-Accepted-GPL AND LicenseRef-KDE-Accepted-LGPL AND CC0-1.0", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/plasma-systemmonitor@5.22.0-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/plasma-systemmonitor@5.22.0-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-thunderbolt/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-thunderbolt/APKBUILD-expected.json index ee11f9a4faf..126ceb8dc1a 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-thunderbolt/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-thunderbolt/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-2.0 OR gpl-3.0", "declared_license": "GPL-2.0-only OR GPL-3.0-only", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/plasma-thunderbolt@5.22.0-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/plasma-thunderbolt@5.22.0-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-vault/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-vault/APKBUILD-expected.json index c096f02a53c..7ae9e642c6e 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-vault/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-vault/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "(gpl-2.0 OR gpl-3.0) AND (lgpl-2.1 AND lgpl-3.0)", "declared_license": "(GPL-2.0-only OR GPL-3.0-only) AND (LGPL-2.1-only AND LGPL-3.0-only)", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/plasma-vault@5.22.0-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/plasma-vault@5.22.0-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-workspace-wallpapers/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-workspace-wallpapers/APKBUILD-expected.json index 2dc7714b516..5608613e7e0 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-workspace-wallpapers/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-workspace-wallpapers/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-2.0-plus", "declared_license": "GPL-2.0-or-later", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/plasma-workspace-wallpapers@5.22.0-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/plasma-workspace-wallpapers@5.22.0-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-workspace/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-workspace/APKBUILD-expected.json index d8dc832f920..95d1a3c0a30 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-workspace/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-workspace/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "(gpl-2.0 OR gpl-3.0) AND lgpl-2.1-plus AND gpl-2.0-plus AND mit AND lgpl-2.1 AND lgpl-2.0-plus AND (lgpl-2.1 OR lgpl-3.0) AND lgpl-2.0", "declared_license": "(GPL-2.0-only OR GPL-3.0-only) AND LGPL-2.1-or-later AND GPL-2.0-or-later AND MIT AND LGPL-2.1-only AND LGPL-2.0-or-later AND (LGPL-2.1-only OR LGPL-3.0-only) AND LGPL-2.0-only", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -49,8 +49,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/plasma-workspace@5.22.0-r2", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/plasma-workspace@5.22.0-r2" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plymouth-kcm/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plymouth-kcm/APKBUILD-expected.json index 6a151e3ae75..1df4dcaac3d 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plymouth-kcm/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plymouth-kcm/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-2.0-plus", "declared_license": "GPL-2.0-or-later", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/plymouth-kcm@5.22.0-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/plymouth-kcm@5.22.0-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/polkit-kde-agent-1/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/polkit-kde-agent-1/APKBUILD-expected.json index 84b6bc4793f..6db1170a999 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/polkit-kde-agent-1/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/polkit-kde-agent-1/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-2.0-plus", "declared_license": "GPL-2.0-or-later", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/polkit-kde-agent-1@5.22.0-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/polkit-kde-agent-1@5.22.0-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/powerdevil/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/powerdevil/APKBUILD-expected.json index 4d69c8cf4d9..a4558f0f047 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/powerdevil/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/powerdevil/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-2.0-plus AND lgpl-2.0-plus AND (lgpl-2.1 OR lgpl-3.0)", "declared_license": "GPL-2.0-or-later AND LGPL-2.0-or-later AND (LGPL-2.1-only OR LGPL-3.0-only)", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/powerdevil@5.22.0-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/powerdevil@5.22.0-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/qqc2-breeze-style/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/qqc2-breeze-style/APKBUILD-expected.json index d955b7e8934..c97e5e740c5 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/qqc2-breeze-style/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/qqc2-breeze-style/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "kde-accepted-lgpl AND kfqf-accepted-gpl", "declared_license": "LicenseRef-KDE-Accepted-LGPL AND LicenseRef-KFQF-Accepted-GPL", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/qqc2-breeze-style@5.22.0-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/qqc2-breeze-style@5.22.0-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/qt6-qtbase/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/qt6-qtbase/APKBUILD-expected.json index b0b2b2982c5..9de469add5f 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/qt6-qtbase/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/qt6-qtbase/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "lgpl-2.1 AND lgpl-3.0 AND gpl-3.0 AND qt-gpl-exception-1.0", "declared_license": "LGPL-2.1-only AND LGPL-3.0-only AND GPL-3.0-only AND Qt-GPL-exception-1.0", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/qt6-qtbase@6.1.1-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/qt6-qtbase@6.1.1-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/rtpengine-lts/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/rtpengine-lts/APKBUILD-expected.json index 2883ccd3d6a..e0ea39a5d2d 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/rtpengine-lts/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/rtpengine-lts/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-3.0", "declared_license": "GPL-3.0-only", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/rtpengine-lts@5.10.43-r%24%28%280", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/rtpengine-lts@5.10.43-r%24%28%280" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/sddm-kcm/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/sddm-kcm/APKBUILD-expected.json index f5b1af35376..5ba83ac38cd 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/sddm-kcm/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/sddm-kcm/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-2.0-plus AND (gpl-2.0 OR gpl-3.0) AND lgpl-2.1-plus AND gpl-2.0", "declared_license": "GPL-2.0-or-later AND (GPL-2.0-only OR GPL-3.0-only) AND LGPL-2.1-or-later AND GPL-2.0-only", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/sddm-kcm@5.22.0-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/sddm-kcm@5.22.0-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/systemsettings/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/systemsettings/APKBUILD-expected.json index 89655eca8d2..7231122f224 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/systemsettings/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/systemsettings/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-2.0-plus", "declared_license": "GPL-2.0-or-later", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/systemsettings@5.22.0-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/systemsettings@5.22.0-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/ufw/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/ufw/APKBUILD-expected.json index 08e0447cbe3..28da59752f1 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/ufw/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/ufw/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-3.0-plus", "declared_license": "GPL-3.0-or-later", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -57,8 +57,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/ufw@0.36-r4", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/ufw@0.36-r4" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/xdg-desktop-portal-kde/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/xdg-desktop-portal-kde/APKBUILD-expected.json index 66d176693dd..94647f1299c 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/xdg-desktop-portal-kde/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/xdg-desktop-portal-kde/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "lgpl-2.0-plus", "declared_license": "LGPL-2.0-or-later", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/xdg-desktop-portal-kde@5.22.0-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/xdg-desktop-portal-kde@5.22.0-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/cmake/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/cmake/APKBUILD-expected.json index f1f18381bca..14e131b456c 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/cmake/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/cmake/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "bsd-new", "declared_license": "BSD-3-Clause", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -49,8 +49,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/cmake@3.20.3-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/cmake@3.20.3-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/kamailio/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/kamailio/APKBUILD-expected.json index 83482267bb9..922d9f15239 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/kamailio/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/kamailio/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-2.0-plus", "declared_license": "GPL-2.0-or-later", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -49,8 +49,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/kamailio@5.4.5-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/kamailio@5.4.5-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/libburn/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/libburn/APKBUILD-expected.json index 5a51786b128..950902cab92 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/libburn/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/libburn/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-2.0-plus", "declared_license": "GPL-2.0-or-later", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/libburn@1.5.4-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/libburn@1.5.4-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/linux-lts/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/linux-lts/APKBUILD-expected.json index d73ff431787..3dea64ee5d4 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/linux-lts/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/linux-lts/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-2.0", "declared_license": "GPL-2.0", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -173,8 +173,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/linux-lts@5.10.43-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/linux-lts@5.10.43-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/linux-rpi/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/linux-rpi/APKBUILD-expected.json index d30cee2dab9..bf6e1f2c978 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/linux-rpi/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/linux-rpi/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-2.0", "declared_license": "GPL-2.0", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -113,8 +113,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/linux-rpi@5.10.43-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/linux-rpi@5.10.43-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/lua-unit/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/lua-unit/APKBUILD-expected.json index 10c2b77c02a..5f538656899 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/lua-unit/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/lua-unit/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "bsd-simplified", "declared_license": "BSD-2-Clause", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/lua-unit@3.3-r2", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/lua-unit@3.3-r2" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/sqlite-tcl/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/sqlite-tcl/APKBUILD-expected.json index 77ec55a67a6..75eea7f8e28 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/sqlite-tcl/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/sqlite-tcl/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "public-domain", "declared_license": "Public-Domain", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/sqlite-tcl@3.35.5-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/sqlite-tcl@3.35.5-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/sqlite/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/sqlite/APKBUILD-expected.json index 634573312fb..09b75b5422c 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/sqlite/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/sqlite/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "public-domain", "declared_license": "Public-Domain", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -49,8 +49,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/sqlite@3.35.5-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/sqlite@3.35.5-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/sqsh/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/sqsh/APKBUILD-expected.json index 76ebf8e3c16..6e1425f1bcf 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/sqsh/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/sqsh/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-1.0-plus", "declared_license": "GPL", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -57,8 +57,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/sqsh@2.5.16.1-r4", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/sqsh@2.5.16.1-r4" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/sudo/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/sudo/APKBUILD-expected.json index cea2a086366..39dde253556 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/sudo/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/sudo/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "unknown-license-reference AND isc", "declared_license": "custom ISC", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -57,8 +57,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/sudo@1.9.6_p1-r1", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/sudo@1.9.6_p1-r1" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/util-linux/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/util-linux/APKBUILD-expected.json index 3aa9f459f5d..29ef4867e96 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/util-linux/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/util-linux/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-3.0-plus AND gpl-2.0-plus AND gpl-2.0 AND lgpl-2.1-plus AND bsd-new AND bsd-original-uc AND public-domain", "declared_license": "GPL-3.0-or-later AND GPL-2.0-or-later AND GPL-2.0-only AND\n\tLGPL-2.1-or-later AND BSD-3-Clause AND BSD-4-Clause-UC AND Public-Domain", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -65,8 +65,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/util-linux@2.37-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/util-linux@2.37-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/testing/linux-edge/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/testing/linux-edge/APKBUILD-expected.json index e75d6c23382..fd2dea47efd 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/testing/linux-edge/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/testing/linux-edge/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-2.0", "declared_license": "GPL-2.0", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -69,8 +69,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/linux-edge@5.12.10-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/linux-edge@5.12.10-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/testing/linux-elm/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/testing/linux-elm/APKBUILD-expected.json index 78b1733f628..8afa527234e 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/testing/linux-elm/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/testing/linux-elm/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-2.0", "declared_license": "GPL-2.0", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -65,8 +65,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/linux-elm@5.12.10-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/linux-elm@5.12.10-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/testing/linux-gru/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/testing/linux-gru/APKBUILD-expected.json index 4bde6be85ee..b9c68024533 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/testing/linux-gru/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/testing/linux-gru/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-2.0", "declared_license": "GPL-2.0", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -61,8 +61,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/linux-gru@5.12.10-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/linux-gru@5.12.10-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine13/community/abook/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine13/community/abook/APKBUILD-expected.json index 62aaa698189..628dfbb04ce 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine13/community/abook/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine13/community/abook/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-2.0-plus", "declared_license": "GPL-2.0-or-later", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -49,8 +49,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/abook@0.6.1-r5", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/abook@0.6.1-r5" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine13/community/darktable/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine13/community/darktable/APKBUILD-expected.json index e43f8f67c22..14c182ec776 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine13/community/darktable/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine13/community/darktable/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-3.0-plus", "declared_license": "GPL-3.0-or-later", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -65,8 +65,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/darktable@3.4.0-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/darktable@3.4.0-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine13/community/haxe/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine13/community/haxe/APKBUILD-expected.json index f631ec1f768..05cedbf0cf7 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine13/community/haxe/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine13/community/haxe/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-1.0-plus AND mit AND lgpl-2.0-plus", "declared_license": "GPL MIT LGPL", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -65,8 +65,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/haxe@3.4.7-r1", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/haxe@3.4.7-r1" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine13/main/linux-firmware/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine13/main/linux-firmware/APKBUILD-expected.json index 5651ed0a683..73b05e31b0d 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine13/main/linux-firmware/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine13/main/linux-firmware/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "unknown-license-reference", "declared_license": "custom:multiple", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -57,8 +57,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/linux-firmware@20201218-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/linux-firmware@20201218-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/2bwm/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/2bwm/APKBUILD-expected.json index 8b2fad4b0f0..3ed8d969548 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/2bwm/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/2bwm/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "isc", "declared_license": "ISC", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/2bwm@0.3-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/2bwm@0.3-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/acccheck/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/acccheck/APKBUILD-expected.json index 4fde3340326..be1f1be3f52 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/acccheck/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/acccheck/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-2.0", "declared_license": "GPL-2.0", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/acccheck@0.2.1-r1", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/acccheck@0.2.1-r1" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/accerciser/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/accerciser/APKBUILD-expected.json index d5714ce67f8..90f8e98e857 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/accerciser/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/accerciser/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "bsd-new", "declared_license": "BSD-3-Clause", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/accerciser@3.38.0-r1", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/accerciser@3.38.0-r1" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/alpine/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/alpine/APKBUILD-expected.json index b29e966d6d2..2c89e8fd8d4 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/alpine/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/alpine/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "apache-2.0", "declared_license": "Apache-2.0", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -49,8 +49,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/alpine@2.24-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/alpine@2.24-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/audacious-plugins/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/audacious-plugins/APKBUILD-expected.json index 2087fd054d8..781e901f975 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/audacious-plugins/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/audacious-plugins/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "bsd-simplified AND bsd-new AND isc AND gpl-2.0 AND gpl-2.0-plus AND gpl-3.0 AND gpl-3.0-plus", "declared_license": "BSD-2-Clause AND BSD-3-Clause AND ISC AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-only AND GPL-3.0-or-later", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/audacious-plugins@4.0.5-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/audacious-plugins@4.0.5-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/boost-build/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/boost-build/APKBUILD-expected.json index f9c94fb10c7..7c056ec7499 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/boost-build/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/boost-build/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "boost-1.0", "declared_license": "BSL-1.0", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/boost-build@1.76.0-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/boost-build@1.76.0-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/dircproxy/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/dircproxy/APKBUILD-expected.json index a4855008bcc..ce382fc0c02 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/dircproxy/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/dircproxy/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-2.0-plus", "declared_license": "GPL-2.0-or-later", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -73,8 +73,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/dircproxy@1.2.0_rc-r2", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/dircproxy@1.2.0_rc-r2" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/faac/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/faac/APKBUILD-expected.json index 6c9b32c68ee..191343b7207 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/faac/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/faac/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-3.0-plus", "declared_license": "GPL-3.0-or-later", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/faac@1.30-r1", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/faac@1.30-r1" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/feedbackd-device-themes/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/feedbackd-device-themes/APKBUILD-expected.json index 9b1327207ff..00e8580c250 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/feedbackd-device-themes/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/feedbackd-device-themes/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-3.0-plus", "declared_license": "GPL-3.0-or-later", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/feedbackd-device-themes@0_git20210126-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/feedbackd-device-themes@0_git20210126-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/gcc6/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/gcc6/APKBUILD-expected.json index 03eecc78deb..b9aacd7d3f3 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/gcc6/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/gcc6/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-1.0-plus AND lgpl-2.0-plus", "declared_license": "GPL LGPL", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -353,8 +353,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/gcc6@6.4.0-r12", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/gcc6@6.4.0-r12" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/hunspell-de-de/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/hunspell-de-de/APKBUILD-expected.json index e2dfb6a5a7e..4460c36f48f 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/hunspell-de-de/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/hunspell-de-de/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-3.0", "declared_license": "GPL-3.0-only", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/hunspell-de-de@20170112-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/hunspell-de-de@20170112-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/imagemagick/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/imagemagick/APKBUILD-expected.json index adcad0fe12f..d764c8cfb12 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/imagemagick/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/imagemagick/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "imagemagick", "declared_license": "ImageMagick", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -49,8 +49,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/imagemagick@7.0.11.13-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/imagemagick@7.0.11.13-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/imagemagick6/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/imagemagick6/APKBUILD-expected.json index d278cc7379a..3a5bf2a2de7 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/imagemagick6/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/imagemagick6/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "apache-2.0", "declared_license": "Apache-2.0", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/imagemagick6@6.9.11.55-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/imagemagick6@6.9.11.55-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/libluv/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/libluv/APKBUILD-expected.json index 90d51f3c718..88b0af2b55a 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/libluv/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/libluv/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "apache-2.0", "declared_license": "Apache-2.0", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -57,8 +57,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/libluv@1.36.0.0-r2", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/libluv@1.36.0.0-r2" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/nymphcast-client/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/nymphcast-client/APKBUILD-expected.json index e3b0180cb7e..def39482271 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/nymphcast-client/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/nymphcast-client/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "bsd-new", "declared_license": "BSD-3-Clause", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/nymphcast-client@0.1_alpha4-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/nymphcast-client@0.1_alpha4-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/openjdk10/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/openjdk10/APKBUILD-expected.json index 9a954a2acaa..61d71e96fc5 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/openjdk10/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/openjdk10/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "classpath-exception-2.0", "declared_license": "GPL-2.0-with-classpath-exception", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -137,8 +137,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/openjdk10@10.0.2_p13-r3", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/openjdk10@10.0.2_p13-r3" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/py3-cairosvg/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/py3-cairosvg/APKBUILD-expected.json index e025cd96621..f99a6dfcc98 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/py3-cairosvg/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/py3-cairosvg/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "lgpl-3.0-plus", "declared_license": "LGPL-3.0-or-later", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/py3-cairosvg@2.5.2-r1", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/py3-cairosvg@2.5.2-r1" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/qt6-qt3d/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/qt6-qt3d/APKBUILD-expected.json index 15df6da3934..62b9f8ed02e 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/qt6-qt3d/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/qt6-qt3d/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "lgpl-2.1 AND lgpl-3.0 AND gpl-3.0 AND qt-gpl-exception-1.0", "declared_license": "LGPL-2.1-only AND LGPL-3.0-only AND GPL-3.0-only AND Qt-GPL-exception-1.0", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/qt6-qt3d@6.1.1-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/qt6-qt3d@6.1.1-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/ruby-rspec/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/ruby-rspec/APKBUILD-expected.json index 792925386a7..6fa74c62d02 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/ruby-rspec/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/ruby-rspec/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "mit", "declared_license": "MIT", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -49,8 +49,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/ruby-rspec@3.10.0-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/ruby-rspec@3.10.0-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/unicode-character-database/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/unicode-character-database/APKBUILD-expected.json index 1c5dbbaaa38..c52da9bde94 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/unicode-character-database/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/unicode-character-database/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "unicode-dfs-2015", "declared_license": "Unicode-DFS-2015", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -73,8 +73,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/unicode-character-database@13.0.0-r1", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/unicode-character-database@13.0.0-r1" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/vtk/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/vtk/APKBUILD-expected.json index 0a09b155697..c7dd2ce356c 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/vtk/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/vtk/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "bsd-new", "declared_license": "BSD-3-Clause", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -65,8 +65,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/vtk@9.0.1-r5", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/vtk@9.0.1-r5" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/zsnes/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/zsnes/APKBUILD-expected.json index 75bc4b028fb..99e1a4c729d 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/zsnes/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/zsnes/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-2.0", "declared_license": "GPL-2.0", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -97,8 +97,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/zsnes@1.51-r11", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/zsnes@1.51-r11" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/main/gcc/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/main/gcc/APKBUILD-expected.json index c9077904205..fa7d5dbe409 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/main/gcc/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/main/gcc/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-2.0-plus AND lgpl-2.1-plus", "declared_license": "GPL-2.0-or-later LGPL-2.1-or-later", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -369,8 +369,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/gcc@10.3.1_git20210424-r1", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/gcc@10.3.1_git20210424-r1" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/main/icu/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/main/icu/APKBUILD-expected.json index 4c1202853ee..f8e57ababac 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/main/icu/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/main/icu/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "mit AND x11 AND unicode-tou", "declared_license": "MIT ICU Unicode-TOU", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/icu@67.1-r2", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/icu@67.1-r2" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/main/ruby/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/main/ruby/APKBUILD-expected.json index d3abd64304b..52d2b53490b 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/main/ruby/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/main/ruby/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "ruby AND bsd-simplified AND mit", "declared_license": "Ruby AND BSD-2-Clause AND MIT", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -73,8 +73,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/ruby@2.7.3-r1", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/ruby@2.7.3-r1" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/problems/nested_expand-dcontainers/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/problems/nested_expand-dcontainers/APKBUILD-expected.json index 715040768d4..977f95a8d0c 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/problems/nested_expand-dcontainers/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/problems/nested_expand-dcontainers/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "boost-1.0", "declared_license": "BSL-1.0", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/dcontainers@0.8.0_alpha19-r1", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/dcontainers@0.8.0_alpha19-r1" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/problems/nested_expand-linux-firmware/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/problems/nested_expand-linux-firmware/APKBUILD-expected.json index 0d6b339b307..11db484c683 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/problems/nested_expand-linux-firmware/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/problems/nested_expand-linux-firmware/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "unknown-license-reference", "declared_license": "custom:multiple", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -73,8 +73,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/linux-firmware@20210511-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/linux-firmware@20210511-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/problems/nested_expand-lua-lustache/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/problems/nested_expand-lua-lustache/APKBUILD-expected.json index 416dd0a599b..bac21c51226 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/problems/nested_expand-lua-lustache/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/problems/nested_expand-lua-lustache/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "mit", "declared_license": "MIT", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/lua-lustache@1.3.1-r3", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/lua-lustache@1.3.1-r3" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/problems/nested_expand-perl-socket-getaddrinfo/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/problems/nested_expand-perl-socket-getaddrinfo/APKBUILD-expected.json index 692b6b6e267..9c86c314c67 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/problems/nested_expand-perl-socket-getaddrinfo/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/problems/nested_expand-perl-socket-getaddrinfo/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-1.0-plus OR artistic-perl-1.0", "declared_license": "GPL-1.0-or-later OR Artistic-1.0-Perl", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/perl-socket-getaddrinfo@0.22-r3", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/perl-socket-getaddrinfo@0.22-r3" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/problems/nested_expand-stdx-allocator/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/problems/nested_expand-stdx-allocator/APKBUILD-expected.json index 9429ff13f07..ae241e73060 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/problems/nested_expand-stdx-allocator/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/problems/nested_expand-stdx-allocator/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "boost-1.0", "declared_license": "BSL-1.0", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/stdx-allocator@3.1.0_beta2-r1", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/stdx-allocator@3.1.0_beta2-r1" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/problems/nested_expand_in_python-py3-cssselect2/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/problems/nested_expand_in_python-py3-cssselect2/APKBUILD-expected.json index 45161f626a3..41d2791d558 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/problems/nested_expand_in_python-py3-cssselect2/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/problems/nested_expand_in_python-py3-cssselect2/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "bsd-new", "declared_license": "BSD-3-Clause", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/py3-cssselect2@0.4.1-r1", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/py3-cssselect2@0.4.1-r1" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/testing/gitlab-release-cli/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/testing/gitlab-release-cli/APKBUILD-expected.json index 011be66dd57..468df45affc 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/testing/gitlab-release-cli/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/testing/gitlab-release-cli/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "mit", "declared_license": "MIT", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/gitlab-release-cli@0.3.0-r1", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/gitlab-release-cli@0.3.0-r1" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/testing/gtksourceviewmm3/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/testing/gtksourceviewmm3/APKBUILD-expected.json index 611719df49d..f88c873fb41 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/testing/gtksourceviewmm3/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/testing/gtksourceviewmm3/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "lgpl-2.1-plus", "declared_license": "LGPL-2.1-or-later", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/gtksourceviewmm3@3.21.3-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/gtksourceviewmm3@3.21.3-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/testing/pnmixer/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/testing/pnmixer/APKBUILD-expected.json index 959921e8333..de649a69e52 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/testing/pnmixer/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/testing/pnmixer/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-1.0-plus", "declared_license": "GPL", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/pnmixer@0.7.2-r1", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/pnmixer@0.7.2-r1" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/testing/ubuntu-archive-keyring/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/testing/ubuntu-archive-keyring/APKBUILD-expected.json index ce7bad7c9b7..730f122c41e 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/testing/ubuntu-archive-keyring/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/testing/ubuntu-archive-keyring/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-1.0-plus", "declared_license": "GPL", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -41,8 +41,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/ubuntu-archive-keyring@2016.05.13.1-r1", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/ubuntu-archive-keyring@2016.05.13.1-r1" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/unmaintained/buildbot/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/unmaintained/buildbot/APKBUILD-expected.json index 1c8cae91c04..78de8d90b20 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/unmaintained/buildbot/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/unmaintained/buildbot/APKBUILD-expected.json @@ -24,8 +24,8 @@ "license_expression": "gpl-2.0", "declared_license": "GPL-2.0", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "sources": [ { @@ -57,8 +57,9 @@ ] }, "dependencies": [], - "purl": "pkg:alpine/buildbot@1.6.0-r0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "alpine_apkbuild", + "purl": "pkg:alpine/buildbot@1.6.0-r0" } \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/full-installed/installed-expected.json b/tests/packagedcode/data/alpine/full-installed/installed-expected.json index 6777753262e..3458e924c75 100644 --- a/tests/packagedcode/data/alpine/full-installed/installed-expected.json +++ b/tests/packagedcode/data/alpine/full-installed/installed-expected.json @@ -35,34 +35,36 @@ "license_expression": "mit", "declared_license": "MIT", "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:alpine/musl@1.1.24-r8" ], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:alpine/musl@1.1.24-r8?arch=x86_64", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null, - "installed_files": [ + "file_references": [ { "path": "lib/ld-musl-x86_64.so.1", "size": 0, - "sha1": "f1145b73e06675918af4a9dbad376aac37bdcef5", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "lib/libc.musl-x86_64.so.1", "size": 0, - "sha1": "ef2277245372a40e26c61249af4a2ee82cec2552", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} } - ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "alpine_installed_db", + "purl": "pkg:alpine/musl@1.1.24-r8?arch=x86_64" }, { "type": "alpine", @@ -100,74 +102,81 @@ "license_expression": "gpl-2.0", "declared_license": "GPL-2.0-only", "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:alpine/busybox@1.31.1-r16" ], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:alpine/busybox@1.31.1-r16?arch=x86_64", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null, - "installed_files": [ + "file_references": [ { "path": "bin/busybox", "size": 0, - "sha1": "c8813c5dfb67505c01515a074b9f1a9e967d7a72", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "bin/sh", "size": 0, - "sha1": "a5c7d37c33446cd290736b35b626bb75ad3933c4", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/securetty", "size": 0, - "sha1": "e150ec86058595eb836e9e23a9793e50d112eb94", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/udhcpd.conf", "size": 0, - "sha1": "50088f65c0c85b50a5473a1b7e081c090efb576f", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/logrotate.d/acpid", "size": 0, - "sha1": "4f29720883559a74be03f4de69de2f66113b064b", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/network/if-up.d/dad", "size": 0, - "sha1": "865c5ddea131ae2847f1b6310d0de2ed3b0cff8e", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "usr/share/udhcpc/default.script", "size": 0, - "sha1": "9c33c0dc1c78cd2452bc3397f14dd6366610ff81", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} } - ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "alpine_installed_db", + "purl": "pkg:alpine/busybox@1.31.1-r16?arch=x86_64" }, { "type": "alpine", @@ -205,234 +214,261 @@ "license_expression": "gpl-2.0", "declared_license": "GPL-2.0-only", "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:alpine/alpine-baselayout@3.2.0-r6" ], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:alpine/alpine-baselayout@3.2.0-r6?arch=x86_64", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null, - "installed_files": [ + "file_references": [ { "path": "etc/fstab", "size": 0, - "sha1": "d50ee135ef10a434b9df582ea8276b5c1ce803fa", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/group", "size": 0, - "sha1": "a09d7ac56b9d80a3ab5c812ab840f3945d8bb26e", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/hostname", "size": 0, - "sha1": "ea75706155cffed0a1bd43ddba4543da27d73a67", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/hosts", "size": 0, - "sha1": "043eb324a653456caa1a73e2e2d49f77792bb0c5", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/inittab", "size": 0, - "sha1": "4ecb616e15bb4335917b513f34ac133ae0f8a477", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/modules", "size": 0, - "sha1": "b68a208d48a91c670c8040a03c95fae12c144f53", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/motd", "size": 0, - "sha1": "5e676e555354447436ed3bd8a752ebe5332d15c0", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/mtab", "size": 0, - "sha1": "9229638575c7d4b950ae81ec1092243d98367a2c", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/passwd", "size": 0, - "sha1": "4dc86eb8b51fbabd22cef7d9419c6037f2c9841f", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/profile", "size": 0, - "sha1": "2a915bf249792efc175a56377b9f0536c8eb237e", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/protocols", "size": 0, - "sha1": "dc5a97527bee3a9303ac7ffaade871b98004137e", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/services", "size": 0, - "sha1": "0ba1c936042f2d6aade5563e9fb319275aec0ee6", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/shadow", "size": 0, - "sha1": "96dacf2005b6cc778389a8ec7b1d81766ab7baa0", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/shells", "size": 0, - "sha1": "a239b661da4227a07f6a9183699fd275bdb12640", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/sysctl.conf", "size": 0, - "sha1": "e2ea73ded7e7371664204b148569fb5e88b0f7a8", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/crontabs/root", "size": 0, - "sha1": "bdf9356a9516238c8b2468613517749098b17ef6", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/modprobe.d/aliases.conf", "size": 0, - "sha1": "5946e1e930583552bb7b863eb94bcbb3feef8aa9", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/modprobe.d/blacklist.conf", "size": 0, - "sha1": "c7160653a4ba4cb42f6fb7abbcfad65b0016a8c8", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/modprobe.d/i386.conf", "size": 0, - "sha1": "a676b2fe78e7ea897d702b2c2fb2a2659f1eb657", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/modprobe.d/kms.conf", "size": 0, - "sha1": "ca76cb9f71980e9bda8db6bf95da759e26b27a88", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/profile.d/color_prompt", "size": 0, - "sha1": "d302f6dc6b920957ee98c4606a469b508e84b129", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/profile.d/locale", "size": 0, - "sha1": "4786c81299cac71392ae59d9cbd0286b0a99e435", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "lib/sysctl.d/00-alpine.conf", "size": 0, - "sha1": "1e9125cd6d7112098a7c446d4f2ee8a269a7aba7", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "sbin/mkmntdirs", "size": 0, - "sha1": "61eb92982ee20db116aeeb0fcc0ff351017a6128", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "var/run", "size": 0, - "sha1": "d7f48d673ffc70ad9d48a2be709a55ad922e1784", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "var/spool/mail", "size": 0, - "sha1": "7736dd6b36190369d3cd2206dd8c8dc3b77826e7", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "var/spool/cron/crontabs", "size": 0, - "sha1": "38566df99329ee3d069f2d2ba922ae589caa6260", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} } - ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "alpine_installed_db", + "purl": "pkg:alpine/alpine-baselayout@3.2.0-r6?arch=x86_64" }, { "type": "alpine", @@ -470,178 +506,198 @@ "license_expression": "mit", "declared_license": "MIT", "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:alpine/alpine-keys@2.2-r0" ], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:alpine/alpine-keys@2.2-r0?arch=x86_64", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null, - "installed_files": [ + "file_references": [ { "path": "etc/apk/keys/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub", "size": 0, - "sha1": "3af08548ef78cfdedcf349880c2c6a1a48763a0e", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/apk/keys/alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub", "size": 0, - "sha1": "bfb616658cc05a872568b0c8e398c482e23b60dd", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/apk/keys/alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub", "size": 0, - "sha1": "3671ae0ec7503b1e193587c1dcdf7b78bc863e42", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub", "size": 0, - "sha1": "3af08548ef78cfdedcf349880c2c6a1a48763a0e", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub", "size": 0, - "sha1": "bfb616658cc05a872568b0c8e398c482e23b60dd", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub", "size": 0, - "sha1": "053a92f87fd4532850bb31f0881978efe0532ae5", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub", "size": 0, - "sha1": "3671ae0ec7503b1e193587c1dcdf7b78bc863e42", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-58199dcc.rsa.pub", "size": 0, - "sha1": "39ac5d72c6ba018a0f74b8b453894edc9db07b5f", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-58cbb476.rsa.pub", "size": 0, - "sha1": "c8fabeb2eeb992c368c77b9707e0d1ecfd7cf905", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-58e4f17d.rsa.pub", "size": 0, - "sha1": "329643357d0b78b1ef48ec155325e25f1d7534dd", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-5e69ca50.rsa.pub", "size": 0, - "sha1": "825090fde25bbc0e71a9cb3076316b5afe459e4d", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "usr/share/apk/keys/aarch64/alpine-devel@lists.alpinelinux.org-58199dcc.rsa.pub", "size": 0, - "sha1": "ee3f67589910fb07c8b95433205ae6159edf48e7", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "usr/share/apk/keys/armhf/alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub", "size": 0, - "sha1": "53d42db1d37ead867d661efa11f5f2d342591cc8", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "usr/share/apk/keys/mips64/alpine-devel@lists.alpinelinux.org-5e69ca50.rsa.pub", "size": 0, - "sha1": "84265d171f8bbf36cbb4fb3be778deefc8041014", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "usr/share/apk/keys/ppc64le/alpine-devel@lists.alpinelinux.org-58cbb476.rsa.pub", "size": 0, - "sha1": "b76d5d8422db4c99801d748278e32aff6bdf4a0a", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "usr/share/apk/keys/s390x/alpine-devel@lists.alpinelinux.org-58e4f17d.rsa.pub", "size": 0, - "sha1": "b236d5dabdb0d08876bf07730b826ae9423b70c4", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "usr/share/apk/keys/x86/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub", "size": 0, - "sha1": "222e758bb36b738b9fb75e0786aba0694a9d1fae", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "usr/share/apk/keys/x86/alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub", "size": 0, - "sha1": "638f5e571869bdfb5b437c8076f94b7dcacf2d35", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "usr/share/apk/keys/x86_64/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub", "size": 0, - "sha1": "222e758bb36b738b9fb75e0786aba0694a9d1fae", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "usr/share/apk/keys/x86_64/alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub", "size": 0, - "sha1": "014158f9fc1205372b61eb634fb347bda7eb4907", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} } - ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "alpine_installed_db", + "purl": "pkg:alpine/alpine-keys@2.2-r0?arch=x86_64" }, { "type": "alpine", @@ -679,114 +735,126 @@ "license_expression": "openssl-ssleay", "declared_license": "OpenSSL", "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:alpine/openssl@1.1.1g-r0" ], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:alpine/libcrypto1.1@1.1.1g-r0?arch=x86_64", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null, - "installed_files": [ + "file_references": [ { "path": "etc/ssl/ct_log_list.cnf", "size": 0, - "sha1": "a2587c4e97408b64274e5e052b74e3754892c13a", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/ssl/ct_log_list.cnf.dist", "size": 0, - "sha1": "a2587c4e97408b64274e5e052b74e3754892c13a", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/ssl/openssl.cnf", "size": 0, - "sha1": "c06bb154438af6218b8f58bc0f70520674fb3090", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/ssl/openssl.cnf.dist", "size": 0, - "sha1": "c06bb154438af6218b8f58bc0f70520674fb3090", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/ssl/misc/CA.pl", "size": 0, - "sha1": "20009ebca84af77198047a7de887b6ea3819d7bb", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/ssl/misc/tsget", "size": 0, - "sha1": "dcd5607ebedd414b86631babd2d35a947e842235", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/ssl/misc/tsget.pl", "size": 0, - "sha1": "c7d245bd0f6f3c5cc22de4ec0b594a6a86151008", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "lib/libcrypto.so.1.1", "size": 0, - "sha1": "f814fa3d26530a8baf1e66cfe8374dc96d445a81", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "usr/lib/libcrypto.so.1.1", "size": 0, - "sha1": "4f6b22f9ceedb3bb200f1418bdee01de2d43828d", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "usr/lib/engines-1.1/afalg.so", "size": 0, - "sha1": "4618d0e6fa10b3d5085a5189a12992827b7033d0", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "usr/lib/engines-1.1/capi.so", "size": 0, - "sha1": "106df609582d774d27549d6b5c661953f2ffe9f0", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "usr/lib/engines-1.1/padlock.so", "size": 0, - "sha1": "59400c9ae3240279c1123867a452063492ec2afc", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} } - ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "alpine_installed_db", + "purl": "pkg:alpine/libcrypto1.1@1.1.1g-r0?arch=x86_64" }, { "type": "alpine", @@ -824,34 +892,36 @@ "license_expression": "openssl-ssleay", "declared_license": "OpenSSL", "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:alpine/openssl@1.1.1g-r0" ], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:alpine/libssl1.1@1.1.1g-r0?arch=x86_64", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null, - "installed_files": [ + "file_references": [ { "path": "lib/libssl.so.1.1", "size": 0, - "sha1": "5b425f2461b6f7209899f894965a8c396ec5086c", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "usr/lib/libssl.so.1.1", "size": 0, - "sha1": "f23df9a5edf2a7a1ce80c8a1d709463f5fe69b67", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} } - ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "alpine_installed_db", + "purl": "pkg:alpine/libssl1.1@1.1.1g-r0?arch=x86_64" }, { "type": "alpine", @@ -889,34 +959,36 @@ "license_expression": "mpl-2.0 AND gpl-2.0-plus", "declared_license": "MPL-2.0 GPL-2.0-or-later", "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:alpine/ca-certificates@20191127-r2" ], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:alpine/ca-certificates-bundle@20191127-r2?arch=x86_64", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null, - "installed_files": [ + "file_references": [ { "path": "etc/ssl/cert.pem", "size": 0, - "sha1": "363ea04c17646694c55bfa1b2467697ef2b44ad0", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/ssl/certs/ca-certificates.crt", "size": 0, - "sha1": "fff5130cf90ce33d3c6583d187f30e9f4fdf836b", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} } - ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "alpine_installed_db", + "purl": "pkg:alpine/ca-certificates-bundle@20191127-r2?arch=x86_64" }, { "type": "alpine", @@ -946,10 +1018,29 @@ "license_expression": "isc", "declared_license": "ISC", "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:alpine/libtls-standalone@2.9.1-r1" ], + "file_references": [ + { + "path": "usr/lib/libtls-standalone.so.1", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/lib/libtls-standalone.so.1.0.0", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ], "extra_data": {}, "dependencies": [ { @@ -962,28 +1053,11 @@ "resolved_package": {} } ], - "purl": "pkg:alpine/libtls-standalone@2.9.1-r1?arch=x86_64", "repository_homepage_url": null, "repository_download_url": null, "api_data_url": null, - "installed_files": [ - { - "path": "usr/lib/libtls-standalone.so.1", - "size": 0, - "sha1": "31e3c927c02372ebdce71fbabe5177ca0268658c", - "md5": null, - "sha256": null, - "sha512": null - }, - { - "path": "usr/lib/libtls-standalone.so.1.0.0", - "size": 0, - "sha1": "914f370b123189e3076aed12e399c24f0b8a474a", - "md5": null, - "sha256": null, - "sha512": null - } - ] + "datasource_id": "alpine_installed_db", + "purl": "pkg:alpine/libtls-standalone@2.9.1-r1?arch=x86_64" }, { "type": "alpine", @@ -1021,26 +1095,27 @@ "license_expression": "gpl-2.0", "declared_license": "GPL-2.0-only", "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:alpine/busybox@1.31.1-r16" ], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:alpine/ssl_client@1.31.1-r16?arch=x86_64", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null, - "installed_files": [ + "file_references": [ { "path": "usr/bin/ssl_client", "size": 0, - "sha1": "ab7d14b4927427b4b12d018cea40b4892777c1a3", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} } - ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "alpine_installed_db", + "purl": "pkg:alpine/ssl_client@1.31.1-r16?arch=x86_64" }, { "type": "alpine", @@ -1078,34 +1153,36 @@ "license_expression": "zlib", "declared_license": "Zlib", "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:alpine/zlib@1.2.11-r3" ], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:alpine/zlib@1.2.11-r3?arch=x86_64", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null, - "installed_files": [ + "file_references": [ { "path": "lib/libz.so.1", "size": 0, - "sha1": "6b61fc84fdb8af208019ff1f9dcd4d85af482077", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "lib/libz.so.1.2.11", "size": 0, - "sha1": "ef4f4263bea9e33108894bf882cc8ff1d6af9578", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} } - ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "alpine_installed_db", + "purl": "pkg:alpine/zlib@1.2.11-r3?arch=x86_64" }, { "type": "alpine", @@ -1143,26 +1220,27 @@ "license_expression": "gpl-2.0", "declared_license": "GPL-2.0-only", "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:alpine/apk-tools@2.10.5-r1" ], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:alpine/apk-tools@2.10.5-r1?arch=x86_64", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null, - "installed_files": [ + "file_references": [ { "path": "sbin/apk", "size": 0, - "sha1": "1f928f5a65ffc8d0793060f6f6ab919899008937", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} } - ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "alpine_installed_db", + "purl": "pkg:alpine/apk-tools@2.10.5-r1?arch=x86_64" }, { "type": "alpine", @@ -1200,26 +1278,27 @@ "license_expression": "gpl-2.0", "declared_license": "GPL-2.0-only", "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:alpine/pax-utils@1.2.6-r0" ], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:alpine/scanelf@1.2.6-r0?arch=x86_64", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null, - "installed_files": [ + "file_references": [ { "path": "usr/bin/scanelf", "size": 0, - "sha1": "ca0742501204515725074431bf77d8732c434641", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} } - ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "alpine_installed_db", + "purl": "pkg:alpine/scanelf@1.2.6-r0?arch=x86_64" }, { "type": "alpine", @@ -1257,68 +1336,73 @@ "license_expression": "mit AND bsd-new AND gpl-2.0-plus", "declared_license": "MIT BSD GPL2+", "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:alpine/musl@1.1.24-r8" ], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:alpine/scanelf", - "extracted_requirement": null, - "scope": "depend", - "is_runtime": true, - "is_optional": false, - "is_resolved": false, - "resolved_package": {} - } - ], - "purl": "pkg:alpine/musl-utils@1.1.24-r8?arch=x86_64", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null, - "installed_files": [ + "file_references": [ { "path": "sbin/ldconfig", "size": 0, - "sha1": "2a36b6f8f3992b112450e66ac128c2ea499a103e", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "usr/bin/getconf", "size": 0, - "sha1": "503ba79c6c04fd06dde3435db403fe65640d8666", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "usr/bin/getent", "size": 0, - "sha1": "a5ba128d0f532063e8f0ffa457c0c743a6310b46", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "usr/bin/iconv", "size": 0, - "sha1": "b3868fc2e6729f540bf02dab5912069eb4c73289", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "usr/bin/ldd", "size": 0, - "sha1": "c850211a08262fb11181b200eca431c93cdfde4b", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} + } + ], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:alpine/scanelf", + "extracted_requirement": null, + "scope": "depend", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} } - ] + ], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "alpine_installed_db", + "purl": "pkg:alpine/musl-utils@1.1.24-r8?arch=x86_64" }, { "type": "alpine", @@ -1356,10 +1440,10 @@ "license_expression": "bsd-simplified AND bsd-new", "declared_license": "BSD-2-Clause AND BSD-3-Clause", "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:alpine/libc-dev@0.7.2-r3" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -1372,10 +1456,10 @@ "resolved_package": {} } ], - "purl": "pkg:alpine/libc-utils@0.7.2-r3?arch=x86_64", "repository_homepage_url": null, "repository_download_url": null, "api_data_url": null, - "installed_files": [] + "datasource_id": "alpine_installed_db", + "purl": "pkg:alpine/libc-utils@0.7.2-r3?arch=x86_64" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/single-installed/installed-expected.json b/tests/packagedcode/data/alpine/single-installed/installed-expected.json index 6bf03408acd..0ca555abcb5 100644 --- a/tests/packagedcode/data/alpine/single-installed/installed-expected.json +++ b/tests/packagedcode/data/alpine/single-installed/installed-expected.json @@ -35,73 +35,80 @@ "license_expression": "gpl-2.0", "declared_license": "GPL-2.0-only", "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:alpine/busybox@1.31.1-r9" ], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:alpine/busybox@1.31.1-r9?arch=x86_64", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null, - "installed_files": [ + "file_references": [ { "path": "bin/busybox", "size": 0, - "sha1": "593739e717ef3e8833034614576e03d189be30a1", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "bin/sh", "size": 0, - "sha1": "a5c7d37c33446cd290736b35b626bb75ad3933c4", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/securetty", "size": 0, - "sha1": "e150ec86058595eb836e9e23a9793e50d112eb94", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/udhcpd.conf", "size": 0, - "sha1": "50088f65c0c85b50a5473a1b7e081c090efb576f", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/logrotate.d/acpid", "size": 0, - "sha1": "4f29720883559a74be03f4de69de2f66113b064b", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/network/if-up.d/dad", "size": 0, - "sha1": "865c5ddea131ae2847f1b6310d0de2ed3b0cff8e", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "usr/share/udhcpc/default.script", "size": 0, - "sha1": "9c33c0dc1c78cd2452bc3397f14dd6366610ff81", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} } - ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "alpine_installed_db", + "purl": "pkg:alpine/busybox@1.31.1-r9?arch=x86_64" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/alpine/small-installed/installed-expected.json b/tests/packagedcode/data/alpine/small-installed/installed-expected.json index 2041d90ad9a..35112bb677a 100644 --- a/tests/packagedcode/data/alpine/small-installed/installed-expected.json +++ b/tests/packagedcode/data/alpine/small-installed/installed-expected.json @@ -35,34 +35,36 @@ "license_expression": "mit", "declared_license": "MIT", "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:alpine/musl@1.1.24-r0" ], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:alpine/musl@1.1.24-r0?arch=x86_64", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null, - "installed_files": [ + "file_references": [ { "path": "lib/libc.musl-x86_64.so.1", "size": 0, - "sha1": "ef2277245372a40e26c61249af4a2ee82cec2552", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "lib/ld-musl-x86_64.so.1", "size": 0, - "sha1": "b6ff0dbd9f21d0e8da52ed24eaccf1f01cc5024e", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} } - ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "alpine_installed_db", + "purl": "pkg:alpine/musl@1.1.24-r0?arch=x86_64" }, { "type": "alpine", @@ -100,74 +102,81 @@ "license_expression": "gpl-2.0", "declared_license": "GPL-2.0-only", "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:alpine/busybox@1.31.1-r9" ], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:alpine/busybox@1.31.1-r9?arch=x86_64", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null, - "installed_files": [ + "file_references": [ { "path": "bin/busybox", "size": 0, - "sha1": "593739e717ef3e8833034614576e03d189be30a1", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "bin/sh", "size": 0, - "sha1": "a5c7d37c33446cd290736b35b626bb75ad3933c4", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/securetty", "size": 0, - "sha1": "e150ec86058595eb836e9e23a9793e50d112eb94", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/udhcpd.conf", "size": 0, - "sha1": "50088f65c0c85b50a5473a1b7e081c090efb576f", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/logrotate.d/acpid", "size": 0, - "sha1": "4f29720883559a74be03f4de69de2f66113b064b", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/network/if-up.d/dad", "size": 0, - "sha1": "865c5ddea131ae2847f1b6310d0de2ed3b0cff8e", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "usr/share/udhcpc/default.script", "size": 0, - "sha1": "9c33c0dc1c78cd2452bc3397f14dd6366610ff81", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} } - ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "alpine_installed_db", + "purl": "pkg:alpine/busybox@1.31.1-r9?arch=x86_64" }, { "type": "alpine", @@ -205,234 +214,261 @@ "license_expression": "gpl-2.0", "declared_license": "GPL-2.0-only", "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:alpine/alpine-baselayout@3.2.0-r3" ], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:alpine/alpine-baselayout@3.2.0-r3?arch=x86_64", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null, - "installed_files": [ + "file_references": [ { "path": "etc/hosts", "size": 0, - "sha1": "043eb324a653456caa1a73e2e2d49f77792bb0c5", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/sysctl.conf", "size": 0, - "sha1": "e2ea73ded7e7371664204b148569fb5e88b0f7a8", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/group", "size": 0, - "sha1": "a09d7ac56b9d80a3ab5c812ab840f3945d8bb26e", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/protocols", "size": 0, - "sha1": "dc5a97527bee3a9303ac7ffaade871b98004137e", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/fstab", "size": 0, - "sha1": "d50ee135ef10a434b9df582ea8276b5c1ce803fa", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/mtab", "size": 0, - "sha1": "9229638575c7d4b950ae81ec1092243d98367a2c", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/profile", "size": 0, - "sha1": "2a915bf249792efc175a56377b9f0536c8eb237e", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/shells", "size": 0, - "sha1": "a239b661da4227a07f6a9183699fd275bdb12640", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/motd", "size": 0, - "sha1": "5e676e555354447436ed3bd8a752ebe5332d15c0", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/inittab", "size": 0, - "sha1": "4ecb616e15bb4335917b513f34ac133ae0f8a477", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/hostname", "size": 0, - "sha1": "ea75706155cffed0a1bd43ddba4543da27d73a67", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/modules", "size": 0, - "sha1": "b68a208d48a91c670c8040a03c95fae12c144f53", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/services", "size": 0, - "sha1": "3417b4aeb0bc1ccccd9957f8c9b48435cb1d7b2d", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/shadow", "size": 0, - "sha1": "96dacf2005b6cc778389a8ec7b1d81766ab7baa0", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/passwd", "size": 0, - "sha1": "4dc86eb8b51fbabd22cef7d9419c6037f2c9841f", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/profile.d/locale", "size": 0, - "sha1": "4786c81299cac71392ae59d9cbd0286b0a99e435", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/profile.d/color_prompt", "size": 0, - "sha1": "d302f6dc6b920957ee98c4606a469b508e84b129", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/sysctl.d/00-alpine.conf", "size": 0, - "sha1": "09932372e8a3560633070e64922fa848e1c62ba4", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/modprobe.d/i386.conf", "size": 0, - "sha1": "a676b2fe78e7ea897d702b2c2fb2a2659f1eb657", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/modprobe.d/blacklist.conf", "size": 0, - "sha1": "c7160653a4ba4cb42f6fb7abbcfad65b0016a8c8", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/modprobe.d/aliases.conf", "size": 0, - "sha1": "5946e1e930583552bb7b863eb94bcbb3feef8aa9", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/modprobe.d/kms.conf", "size": 0, - "sha1": "ca76cb9f71980e9bda8db6bf95da759e26b27a88", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/crontabs/root", "size": 0, - "sha1": "bdf9356a9516238c8b2468613517749098b17ef6", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "sbin/mkmntdirs", "size": 0, - "sha1": "a4bf16a4ce2cfe8301c597ab088c95846c08fdab", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "var/run", "size": 0, - "sha1": "d7f48d673ffc70ad9d48a2be709a55ad922e1784", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "var/spool/mail", "size": 0, - "sha1": "7736dd6b36190369d3cd2206dd8c8dc3b77826e7", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "var/spool/cron/crontabs", "size": 0, - "sha1": "38566df99329ee3d069f2d2ba922ae589caa6260", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} } - ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "alpine_installed_db", + "purl": "pkg:alpine/alpine-baselayout@3.2.0-r3?arch=x86_64" }, { "type": "alpine", @@ -470,162 +506,180 @@ "license_expression": "mit", "declared_license": "MIT", "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:alpine/alpine-keys@2.1-r2" ], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:alpine/alpine-keys@2.1-r2?arch=x86_64", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null, - "installed_files": [ + "file_references": [ { "path": "etc/apk/keys/alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub", "size": 0, - "sha1": "bfb616658cc05a872568b0c8e398c482e23b60dd", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/apk/keys/alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub", "size": 0, - "sha1": "3671ae0ec7503b1e193587c1dcdf7b78bc863e42", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/apk/keys/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub", "size": 0, - "sha1": "3af08548ef78cfdedcf349880c2c6a1a48763a0e", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub", "size": 0, - "sha1": "053a92f87fd4532850bb31f0881978efe0532ae5", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub", "size": 0, - "sha1": "bfb616658cc05a872568b0c8e398c482e23b60dd", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub", "size": 0, - "sha1": "3671ae0ec7503b1e193587c1dcdf7b78bc863e42", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-58cbb476.rsa.pub", "size": 0, - "sha1": "c8fabeb2eeb992c368c77b9707e0d1ecfd7cf905", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-58199dcc.rsa.pub", "size": 0, - "sha1": "39ac5d72c6ba018a0f74b8b453894edc9db07b5f", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub", "size": 0, - "sha1": "3af08548ef78cfdedcf349880c2c6a1a48763a0e", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-58e4f17d.rsa.pub", "size": 0, - "sha1": "329643357d0b78b1ef48ec155325e25f1d7534dd", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "usr/share/apk/keys/aarch64/alpine-devel@lists.alpinelinux.org-58199dcc.rsa.pub", "size": 0, - "sha1": "ee3f67589910fb07c8b95433205ae6159edf48e7", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "usr/share/apk/keys/ppc64le/alpine-devel@lists.alpinelinux.org-58cbb476.rsa.pub", "size": 0, - "sha1": "b76d5d8422db4c99801d748278e32aff6bdf4a0a", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "usr/share/apk/keys/x86/alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub", "size": 0, - "sha1": "638f5e571869bdfb5b437c8076f94b7dcacf2d35", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "usr/share/apk/keys/x86/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub", "size": 0, - "sha1": "222e758bb36b738b9fb75e0786aba0694a9d1fae", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "usr/share/apk/keys/s390x/alpine-devel@lists.alpinelinux.org-58e4f17d.rsa.pub", "size": 0, - "sha1": "b236d5dabdb0d08876bf07730b826ae9423b70c4", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "usr/share/apk/keys/armhf/alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub", "size": 0, - "sha1": "53d42db1d37ead867d661efa11f5f2d342591cc8", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "usr/share/apk/keys/x86_64/alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub", "size": 0, - "sha1": "014158f9fc1205372b61eb634fb347bda7eb4907", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "usr/share/apk/keys/x86_64/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub", "size": 0, - "sha1": "222e758bb36b738b9fb75e0786aba0694a9d1fae", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} } - ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "alpine_installed_db", + "purl": "pkg:alpine/alpine-keys@2.1-r2?arch=x86_64" }, { "type": "alpine", @@ -663,114 +717,126 @@ "license_expression": "openssl-ssleay", "declared_license": "OpenSSL", "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:alpine/openssl@1.1.1d-r3" ], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:alpine/libcrypto1.1@1.1.1d-r3?arch=x86_64", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null, - "installed_files": [ + "file_references": [ { "path": "etc/ssl/openssl.cnf.dist", "size": 0, - "sha1": "c06bb154438af6218b8f58bc0f70520674fb3090", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/ssl/ct_log_list.cnf", "size": 0, - "sha1": "a2587c4e97408b64274e5e052b74e3754892c13a", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/ssl/ct_log_list.cnf.dist", "size": 0, - "sha1": "a2587c4e97408b64274e5e052b74e3754892c13a", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/ssl/openssl.cnf", "size": 0, - "sha1": "c06bb154438af6218b8f58bc0f70520674fb3090", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/ssl/misc/CA.pl", "size": 0, - "sha1": "20009ebca84af77198047a7de887b6ea3819d7bb", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/ssl/misc/tsget.pl", "size": 0, - "sha1": "ae00254bfd037237f32e08755c646e65d771f1bc", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "etc/ssl/misc/tsget", "size": 0, - "sha1": "dcd5607ebedd414b86631babd2d35a947e842235", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "lib/libcrypto.so.1.1", "size": 0, - "sha1": "8d8e8d8a94207ff88aaab893128654ecfbebe514", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "usr/lib/libcrypto.so.1.1", "size": 0, - "sha1": "4f6b22f9ceedb3bb200f1418bdee01de2d43828d", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "usr/lib/engines-1.1/capi.so", "size": 0, - "sha1": "5b2a9ed00e4a06e23c170a9d68b9fde53c7a239e", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "usr/lib/engines-1.1/padlock.so", "size": 0, - "sha1": "db4967e857bb054634c001a186817f622361fdc1", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "usr/lib/engines-1.1/afalg.so", "size": 0, - "sha1": "d2708466ab71c394ac769afc1925fdaf2b36504e", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} } - ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "alpine_installed_db", + "purl": "pkg:alpine/libcrypto1.1@1.1.1d-r3?arch=x86_64" }, { "type": "alpine", @@ -808,34 +874,36 @@ "license_expression": "openssl-ssleay", "declared_license": "OpenSSL", "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:alpine/openssl@1.1.1d-r3" ], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:alpine/libssl1.1@1.1.1d-r3?arch=x86_64", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null, - "installed_files": [ + "file_references": [ { "path": "lib/libssl.so.1.1", "size": 0, - "sha1": "99f8e298c5e0aeebb199dcfe160e3b180937569d", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "usr/lib/libssl.so.1.1", "size": 0, - "sha1": "f23df9a5edf2a7a1ce80c8a1d709463f5fe69b67", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} } - ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "alpine_installed_db", + "purl": "pkg:alpine/libssl1.1@1.1.1d-r3?arch=x86_64" }, { "type": "alpine", @@ -873,26 +941,27 @@ "license_expression": "mpl-2.0 AND gpl-2.0-plus", "declared_license": "MPL-2.0 GPL-2.0-or-later", "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:alpine/ca-certificates@20191127-r0" ], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:alpine/ca-certificates-cacert@20191127-r0?arch=x86_64", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null, - "installed_files": [ + "file_references": [ { "path": "etc/ssl/cert.pem", "size": 0, - "sha1": "062fa758c7d5f4778b2fd9a0c885846fd8a1edb6", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} } - ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "alpine_installed_db", + "purl": "pkg:alpine/ca-certificates-cacert@20191127-r0?arch=x86_64" }, { "type": "alpine", @@ -922,10 +991,29 @@ "license_expression": "isc", "declared_license": "ISC", "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:alpine/libtls-standalone@2.9.1-r0" ], + "file_references": [ + { + "path": "usr/lib/libtls-standalone.so.1.0.0", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/lib/libtls-standalone.so.1", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ], "extra_data": {}, "dependencies": [ { @@ -938,28 +1026,11 @@ "resolved_package": {} } ], - "purl": "pkg:alpine/libtls-standalone@2.9.1-r0?arch=x86_64", "repository_homepage_url": null, "repository_download_url": null, "api_data_url": null, - "installed_files": [ - { - "path": "usr/lib/libtls-standalone.so.1.0.0", - "size": 0, - "sha1": "9a950143fb08c7764121aed774528aa9730c035c", - "md5": null, - "sha256": null, - "sha512": null - }, - { - "path": "usr/lib/libtls-standalone.so.1", - "size": 0, - "sha1": "31e3c927c02372ebdce71fbabe5177ca0268658c", - "md5": null, - "sha256": null, - "sha512": null - } - ] + "datasource_id": "alpine_installed_db", + "purl": "pkg:alpine/libtls-standalone@2.9.1-r0?arch=x86_64" }, { "type": "alpine", @@ -997,26 +1068,27 @@ "license_expression": "gpl-2.0", "declared_license": "GPL-2.0-only", "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:alpine/busybox@1.31.1-r9" ], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:alpine/ssl_client@1.31.1-r9?arch=x86_64", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null, - "installed_files": [ + "file_references": [ { "path": "usr/bin/ssl_client", "size": 0, - "sha1": "624b05e8cd2beb76d1ae4673606e0944a0ed4c1c", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} } - ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "alpine_installed_db", + "purl": "pkg:alpine/ssl_client@1.31.1-r9?arch=x86_64" }, { "type": "alpine", @@ -1054,34 +1126,36 @@ "license_expression": "zlib", "declared_license": "Zlib", "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:alpine/zlib@1.2.11-r3" ], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:alpine/zlib@1.2.11-r3?arch=x86_64", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null, - "installed_files": [ + "file_references": [ { "path": "lib/libz.so.1.2.11", "size": 0, - "sha1": "ad943ba0e05c2fe186aa8ad7b8bf8e973c8194e7", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "lib/libz.so.1", "size": 0, - "sha1": "6b61fc84fdb8af208019ff1f9dcd4d85af482077", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} } - ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "alpine_installed_db", + "purl": "pkg:alpine/zlib@1.2.11-r3?arch=x86_64" }, { "type": "alpine", @@ -1119,26 +1193,27 @@ "license_expression": "gpl-2.0", "declared_license": "GPL2", "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:alpine/apk-tools@2.10.4-r3" ], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:alpine/apk-tools@2.10.4-r3?arch=x86_64", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null, - "installed_files": [ + "file_references": [ { "path": "sbin/apk", "size": 0, - "sha1": "8672f3a1ee3315a0b7f43187a9e1a1ea4558e725", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} } - ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "alpine_installed_db", + "purl": "pkg:alpine/apk-tools@2.10.4-r3?arch=x86_64" }, { "type": "alpine", @@ -1176,26 +1251,27 @@ "license_expression": "gpl-2.0", "declared_license": "GPL-2.0-only", "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:alpine/pax-utils@1.2.4-r0" ], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:alpine/scanelf@1.2.4-r0?arch=x86_64", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null, - "installed_files": [ + "file_references": [ { "path": "usr/bin/scanelf", "size": 0, - "sha1": "6aa94ad77b1256c19aff82cfcfccaeaff704873b", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} } - ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "alpine_installed_db", + "purl": "pkg:alpine/scanelf@1.2.4-r0?arch=x86_64" }, { "type": "alpine", @@ -1233,68 +1309,73 @@ "license_expression": "mit AND bsd-new AND gpl-2.0-plus", "declared_license": "MIT BSD GPL2+", "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:alpine/musl@1.1.24-r0" ], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:alpine/scanelf", - "extracted_requirement": null, - "scope": "depend", - "is_runtime": true, - "is_optional": false, - "is_resolved": false, - "resolved_package": {} - } - ], - "purl": "pkg:alpine/musl-utils@1.1.24-r0?arch=x86_64", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null, - "installed_files": [ + "file_references": [ { "path": "sbin/ldconfig", "size": 0, - "sha1": "2a36b6f8f3992b112450e66ac128c2ea499a103e", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "usr/bin/iconv", "size": 0, - "sha1": "fb0c7e9f95216a2096952aecbc9df7e7465d8203", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "usr/bin/ldd", "size": 0, - "sha1": "c850211a08262fb11181b200eca431c93cdfde4b", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "usr/bin/getconf", "size": 0, - "sha1": "2b815fb9c37324b73cde901bc09c5c170ba1d7ad", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "usr/bin/getent", "size": 0, - "sha1": "8a2520dfc1b799404cbad685cd0b09436b43bc51", + "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} + } + ], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:alpine/scanelf", + "extracted_requirement": null, + "scope": "depend", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} } - ] + ], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "alpine_installed_db", + "purl": "pkg:alpine/musl-utils@1.1.24-r0?arch=x86_64" }, { "type": "alpine", @@ -1332,10 +1413,10 @@ "license_expression": "bsd-new", "declared_license": "BSD", "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:alpine/libc-dev@0.7.2-r0" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -1348,10 +1429,10 @@ "resolved_package": {} } ], - "purl": "pkg:alpine/libc-utils@0.7.2-r0?arch=x86_64", "repository_homepage_url": null, "repository_download_url": null, "api_data_url": null, - "installed_files": [] + "datasource_id": "alpine_installed_db", + "purl": "pkg:alpine/libc-utils@0.7.2-r0?arch=x86_64" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/bower/author-objects/expected.json b/tests/packagedcode/data/bower/author-objects/expected.json index 36c562bdb4d..315109afde0 100644 --- a/tests/packagedcode/data/bower/author-objects/expected.json +++ b/tests/packagedcode/data/bower/author-objects/expected.json @@ -48,8 +48,8 @@ "BSD-3-Clause" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -80,9 +80,10 @@ "resolved_package": {} } ], - "purl": "pkg:bower/John%20Doe", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "bower_json", + "purl": "pkg:bower/John%20Doe" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/bower/basic/expected.json b/tests/packagedcode/data/bower/basic/expected.json index b9f335b141d..db3a6bfa996 100644 --- a/tests/packagedcode/data/bower/basic/expected.json +++ b/tests/packagedcode/data/bower/basic/expected.json @@ -39,8 +39,8 @@ "MIT" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -71,9 +71,10 @@ "resolved_package": {} } ], - "purl": "pkg:bower/blue-leaf", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "bower_json", + "purl": "pkg:bower/blue-leaf" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/bower/list-of-licenses/expected.json b/tests/packagedcode/data/bower/list-of-licenses/expected.json index 2372bc48805..821cd069912 100644 --- a/tests/packagedcode/data/bower/list-of-licenses/expected.json +++ b/tests/packagedcode/data/bower/list-of-licenses/expected.json @@ -41,8 +41,8 @@ "BSD-3-Clause" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -73,9 +73,10 @@ "resolved_package": {} } ], - "purl": "pkg:bower/blue-leaf", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "bower_json", + "purl": "pkg:bower/blue-leaf" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/bower/scan-expected.json b/tests/packagedcode/data/bower/scan-expected.json new file mode 100644 index 00000000000..aa4bf94aac5 --- /dev/null +++ b/tests/packagedcode/data/bower/scan-expected.json @@ -0,0 +1,233 @@ +{ + "headers": [ + { + "tool_name": "scancode-toolkit", + "options": { + "input": "", + "--json-pp": "", + "--package": true + }, + "notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.", + "output_format_version": "2.0.0", + "message": null, + "errors": [], + "warnings": [], + "extra_data": { + "spdx_license_list_version": "3.16", + "files_count": 1 + } + } + ], + "dependencies": [ + { + "purl": "pkg:bower/get-size", + "extracted_requirement": "~1.2.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:bower/get-size?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:bower/John%20Doe?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/bower.json", + "datasource_id": "bower_json" + }, + { + "purl": "pkg:bower/eventEmitter", + "extracted_requirement": "~4.2.11", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:bower/eventEmitter?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:bower/John%20Doe?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/bower.json", + "datasource_id": "bower_json" + }, + { + "purl": "pkg:bower/qunit", + "extracted_requirement": "~1.16.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:bower/qunit?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:bower/John%20Doe?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/bower.json", + "datasource_id": "bower_json" + } + ], + "packages": [ + { + "type": "bower", + "namespace": null, + "name": "John Doe", + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": null, + "description": "Physics-like animations for pretty particles", + "release_date": null, + "parties": [ + { + "type": null, + "role": "author", + "name": "Betty Beta ", + "email": null, + "url": null + }, + { + "type": null, + "role": "author", + "name": "John Doe", + "email": "john@doe.com", + "url": "http://johndoe.com" + } + ], + "keywords": [ + "motion", + "physics", + "particles" + ], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": "mit AND apache-2.0 AND bsd-new", + "declared_license": [ + "MIT", + "Apache 2.0", + "BSD-3-Clause" + ], + "notice_text": null, + "source_packages": [], + "extra_data": {}, + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "package_uid": "pkg:bower/John%20Doe?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "scan/bower.json" + ], + "datasource_ids": [ + "bower_json" + ], + "purl": "pkg:bower/John%20Doe" + } + ], + "files": [ + { + "path": "scan", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "scan/bower.json", + "type": "file", + "package_data": [ + { + "type": "bower", + "namespace": null, + "name": "John Doe", + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": null, + "description": "Physics-like animations for pretty particles", + "release_date": null, + "parties": [ + { + "type": null, + "role": "author", + "name": "Betty Beta ", + "email": null, + "url": null + }, + { + "type": null, + "role": "author", + "name": "John Doe", + "email": "john@doe.com", + "url": "http://johndoe.com" + } + ], + "keywords": [ + "motion", + "physics", + "particles" + ], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": [ + "MIT", + "Apache 2.0", + "BSD-3-Clause" + ], + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:bower/get-size", + "extracted_requirement": "~1.2.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:bower/eventEmitter", + "extracted_requirement": "~4.2.11", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:bower/qunit", + "extracted_requirement": "~1.16.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + } + ], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "bower_json", + "purl": "pkg:bower/John%20Doe" + } + ], + "for_packages": [ + "pkg:bower/John%20Doe?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + } + ] +} \ No newline at end of file diff --git a/tests/packagedcode/data/bower/scan/bower.json b/tests/packagedcode/data/bower/scan/bower.json new file mode 100644 index 00000000000..ae4d7e23250 --- /dev/null +++ b/tests/packagedcode/data/bower/scan/bower.json @@ -0,0 +1,45 @@ +{ + "name": "blue-leaf", + "description": "Physics-like animations for pretty particles", + "main": [ + "js/motion.js", + "sass/motion.scss" + ], + "dependencies": { + "get-size": "~1.2.2", + "eventEmitter": "~4.2.11" + }, + "devDependencies": { + "qunit": "~1.16.0" + }, + "moduleType": [ + "amd", + "globals", + "node" + ], + "keywords": [ + "motion", + "physics", + "particles" + ], + "authors": [ + "Betty Beta ", + { + "name": "John Doe", + "email": "john@doe.com", + "homepage": "http://johndoe.com" + } + ], + "license": [ + "MIT", + "Apache 2.0", + "BSD-3-Clause" + ], + "ignore": [ + "**/.*", + "node_modules", + "bower_components", + "test", + "tests" + ] +} \ No newline at end of file diff --git a/tests/packagedcode/data/build/bazel/end2end-expected.json b/tests/packagedcode/data/build/bazel/end2end-expected.json index b58e9b5c7ba..6d5be4ec5b5 100644 --- a/tests/packagedcode/data/build/bazel/end2end-expected.json +++ b/tests/packagedcode/data/build/bazel/end2end-expected.json @@ -19,7 +19,88 @@ } ], "dependencies": [], - "packages": [], + "packages": [ + { + "type": "bazel", + "namespace": null, + "name": "end2end", + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": null, + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "extra_data": {}, + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "package_uid": "pkg:bazel/end2end?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "end2end/BUILD" + ], + "datasource_ids": [ + "bazel_build" + ], + "purl": "pkg:bazel/end2end" + }, + { + "type": "bazel", + "namespace": null, + "name": "subdir2", + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": null, + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "extra_data": {}, + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "package_uid": "pkg:bazel/subdir2?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "end2end/subdir2/BUILD" + ], + "datasource_ids": [ + "bazel_build" + ], + "purl": "pkg:bazel/subdir2" + } + ], "files": [ { "path": "end2end", @@ -55,55 +136,68 @@ "code_view_url": null, "vcs_url": null, "copyright": null, - "license_expression": "unknown", + "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:bazel/end2end", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "bazel_build", + "purl": "pkg:bazel/end2end" } ], - "for_packages": [], + "for_packages": [ + "pkg:bazel/end2end?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { "path": "end2end/subdir", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:bazel/end2end?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { "path": "end2end/subdir/dir", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:bazel/end2end?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { "path": "end2end/subdir/dir/file1", "type": "file", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:bazel/end2end?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { "path": "end2end/subdir/file1", "type": "file", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:bazel/end2end?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { "path": "end2end/subdir2", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:bazel/end2end?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { @@ -133,41 +227,50 @@ "code_view_url": null, "vcs_url": null, "copyright": null, - "license_expression": "unknown", + "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:bazel/subdir2", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "bazel_build", + "purl": "pkg:bazel/subdir2" } ], - "for_packages": [], + "for_packages": [ + "pkg:bazel/subdir2?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { "path": "end2end/subdir2/file2", "type": "file", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:bazel/subdir2?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { "path": "end2end/subdir2/subdir3", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:bazel/subdir2?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { "path": "end2end/subdir2/subdir3/file2", "type": "file", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:bazel/subdir2?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] } ] diff --git a/tests/packagedcode/data/build/buck/end2end-expected.json b/tests/packagedcode/data/build/buck/end2end-expected.json index 4e258672ce2..26b0633c0f7 100644 --- a/tests/packagedcode/data/build/buck/end2end-expected.json +++ b/tests/packagedcode/data/build/buck/end2end-expected.json @@ -19,7 +19,90 @@ } ], "dependencies": [], - "packages": [], + "packages": [ + { + "type": "buck", + "namespace": null, + "name": "end2end", + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": null, + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "extra_data": {}, + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "package_uid": "pkg:buck/end2end?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "end2end/BUCK" + ], + "datasource_ids": [ + "buck_file" + ], + "purl": "pkg:buck/end2end" + }, + { + "type": "buck", + "namespace": null, + "name": "bin", + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": null, + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": "apache-2.0", + "declared_license": [ + "LICENSE" + ], + "notice_text": null, + "source_packages": [], + "extra_data": {}, + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "package_uid": "pkg:buck/bin?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "end2end/subdir2/BUCK" + ], + "datasource_ids": [ + "buck_file" + ], + "purl": "pkg:buck/bin" + } + ], "files": [ { "path": "end2end", @@ -55,55 +138,68 @@ "code_view_url": null, "vcs_url": null, "copyright": null, - "license_expression": "unknown", + "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:buck/end2end", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "buck_file", + "purl": "pkg:buck/end2end" } ], - "for_packages": [], + "for_packages": [ + "pkg:buck/end2end?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { "path": "end2end/subdir", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:buck/end2end?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { "path": "end2end/subdir/dir", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:buck/end2end?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { "path": "end2end/subdir/dir/file1", "type": "file", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:buck/end2end?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { "path": "end2end/subdir/file1", "type": "file", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:buck/end2end?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { "path": "end2end/subdir2", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:buck/end2end?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { @@ -133,50 +229,61 @@ "code_view_url": null, "vcs_url": null, "copyright": null, - "license_expression": "apache-2.0", + "license_expression": null, "declared_license": [ "LICENSE" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:buck/bin", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "buck_file", + "purl": "pkg:buck/bin" } ], - "for_packages": [], + "for_packages": [ + "pkg:buck/bin?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { "path": "end2end/subdir2/LICENSE", "type": "file", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:buck/bin?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { "path": "end2end/subdir2/file2", "type": "file", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:buck/bin?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { "path": "end2end/subdir2/subdir3", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:buck/bin?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { "path": "end2end/subdir2/subdir3/file2", "type": "file", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:buck/bin?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] } ] diff --git a/tests/packagedcode/data/build_gradle/end2end-expected.json b/tests/packagedcode/data/build_gradle/end2end-expected.json index 81659476073..7423c2a03a8 100644 --- a/tests/packagedcode/data/build_gradle/end2end-expected.json +++ b/tests/packagedcode/data/build_gradle/end2end-expected.json @@ -20,52 +20,56 @@ ], "dependencies": [ { - "purl": "pkg:build.gradle/com.google/guava@1.0", + "purl": "pkg:maven/com.google/guava@1.0", "extracted_requirement": "1.0", "scope": "api", "is_runtime": true, "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:build.gradle/com.google/guava@1.0", - "for_package": null, - "lockfile": "build.gradle" + "dependency_uid": "pkg:maven/com.google/guava@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "build.gradle", + "datasource_id": "build_gradle" }, { - "purl": "pkg:build.gradle/org.apache/commons@1.0", + "purl": "pkg:maven/org.apache/commons@1.0", "extracted_requirement": "1.0", "scope": "usageDependencies", "is_runtime": true, "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:build.gradle/org.apache/commons@1.0", - "for_package": null, - "lockfile": "build.gradle" + "dependency_uid": "pkg:maven/org.apache/commons@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "build.gradle", + "datasource_id": "build_gradle" }, { - "purl": "pkg:build.gradle/org.jacoco.ant@0.7.4.201502262128", + "purl": "pkg:maven/org.jacoco.ant@0.7.4.201502262128", "extracted_requirement": "0.7.4.201502262128", "scope": "", "is_runtime": true, "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:build.gradle/org.jacoco.ant@0.7.4.201502262128", - "for_package": null, - "lockfile": "build.gradle" + "dependency_uid": "pkg:maven/org.jacoco.ant@0.7.4.201502262128?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "build.gradle", + "datasource_id": "build_gradle" }, { - "purl": "pkg:build.gradle/org.jacoco.agent@0.7.4.201502262128", + "purl": "pkg:maven/org.jacoco.agent@0.7.4.201502262128", "extracted_requirement": "0.7.4.201502262128", "scope": "", "is_runtime": true, "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:build.gradle/org.jacoco.agent@0.7.4.201502262128", - "for_package": null, - "lockfile": "build.gradle" + "dependency_uid": "pkg:maven/org.jacoco.agent@0.7.4.201502262128?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "build.gradle", + "datasource_id": "build_gradle" } ], "packages": [], @@ -75,7 +79,7 @@ "type": "file", "package_data": [ { - "type": "build.gradle", + "type": "maven", "namespace": null, "name": null, "version": null, @@ -100,12 +104,12 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { - "purl": "pkg:build.gradle/com.google/guava@1.0", + "purl": "pkg:maven/com.google/guava@1.0", "extracted_requirement": "1.0", "scope": "api", "is_runtime": true, @@ -114,7 +118,7 @@ "resolved_package": {} }, { - "purl": "pkg:build.gradle/org.apache/commons@1.0", + "purl": "pkg:maven/org.apache/commons@1.0", "extracted_requirement": "1.0", "scope": "usageDependencies", "is_runtime": true, @@ -123,7 +127,7 @@ "resolved_package": {} }, { - "purl": "pkg:build.gradle/org.jacoco.ant@0.7.4.201502262128", + "purl": "pkg:maven/org.jacoco.ant@0.7.4.201502262128", "extracted_requirement": "0.7.4.201502262128", "scope": "", "is_runtime": true, @@ -132,7 +136,7 @@ "resolved_package": {} }, { - "purl": "pkg:build.gradle/org.jacoco.agent@0.7.4.201502262128", + "purl": "pkg:maven/org.jacoco.agent@0.7.4.201502262128", "extracted_requirement": "0.7.4.201502262128", "scope": "", "is_runtime": true, @@ -141,10 +145,11 @@ "resolved_package": {} } ], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "build_gradle", + "purl": null } ], "for_packages": [], diff --git a/tests/packagedcode/data/cargo/cargo_lock/sample1/output.expected.json b/tests/packagedcode/data/cargo/cargo_lock/sample1/output.expected.json index 6575b12b78f..758e9385917 100644 --- a/tests/packagedcode/data/cargo/cargo_lock/sample1/output.expected.json +++ b/tests/packagedcode/data/cargo/cargo_lock/sample1/output.expected.json @@ -25,41 +25,42 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { - "purl": "pkg:crates/autocfg@1.0.0", + "purl": "pkg:cargo/autocfg@1.0.0", "extracted_requirement": "1.0.0", - "scope": "dependency", + "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": true, "resolved_package": {} }, { - "purl": "pkg:crates/cargo-lock@4.0.1", + "purl": "pkg:cargo/cargo-lock@4.0.1", "extracted_requirement": "4.0.1", - "scope": "dependency", + "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": true, "resolved_package": {} }, { - "purl": "pkg:crates/gumdrop@0.7.0", + "purl": "pkg:cargo/gumdrop@0.7.0", "extracted_requirement": "0.7.0", - "scope": "dependency", + "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": true, "resolved_package": {} } ], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "cargo_lock", + "purl": null } ] \ No newline at end of file diff --git a/tests/packagedcode/data/cargo/cargo_lock/sample2/output.expected.json b/tests/packagedcode/data/cargo/cargo_lock/sample2/output.expected.json index 504c0ae338c..8ba0edf9b5f 100644 --- a/tests/packagedcode/data/cargo/cargo_lock/sample2/output.expected.json +++ b/tests/packagedcode/data/cargo/cargo_lock/sample2/output.expected.json @@ -25,32 +25,33 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { - "purl": "pkg:crates/autocfg@1.0.0", + "purl": "pkg:cargo/autocfg@1.0.0", "extracted_requirement": "1.0.0", - "scope": "dependency", + "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": true, "resolved_package": {} }, { - "purl": "pkg:crates/fixedbitset@0.2.0", + "purl": "pkg:cargo/fixedbitset@0.2.0", "extracted_requirement": "0.2.0", - "scope": "dependency", + "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": true, "resolved_package": {} } ], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "cargo_lock", + "purl": null } ] \ No newline at end of file diff --git a/tests/packagedcode/data/cargo/cargo_lock/sample3/output.expected.json b/tests/packagedcode/data/cargo/cargo_lock/sample3/output.expected.json index 04e0b56228c..597ee6d24c8 100644 --- a/tests/packagedcode/data/cargo/cargo_lock/sample3/output.expected.json +++ b/tests/packagedcode/data/cargo/cargo_lock/sample3/output.expected.json @@ -25,32 +25,33 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { - "purl": "pkg:crates/gumdrop@0.7.0", + "purl": "pkg:cargo/gumdrop@0.7.0", "extracted_requirement": "0.7.0", - "scope": "dependency", + "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": true, "resolved_package": {} }, { - "purl": "pkg:crates/gumdrop_derive@0.7.0", + "purl": "pkg:cargo/gumdrop_derive@0.7.0", "extracted_requirement": "0.7.0", - "scope": "dependency", + "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": true, "resolved_package": {} } ], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "cargo_lock", + "purl": null } ] \ No newline at end of file diff --git a/tests/packagedcode/data/cargo/cargo_lock/sample4/output.expected.json b/tests/packagedcode/data/cargo/cargo_lock/sample4/output.expected.json index 3e49be89958..c2014a00fe2 100644 --- a/tests/packagedcode/data/cargo/cargo_lock/sample4/output.expected.json +++ b/tests/packagedcode/data/cargo/cargo_lock/sample4/output.expected.json @@ -25,50 +25,51 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { - "purl": "pkg:crates/idna@0.2.0", + "purl": "pkg:cargo/idna@0.2.0", "extracted_requirement": "0.2.0", - "scope": "dependency", + "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": true, "resolved_package": {} }, { - "purl": "pkg:crates/indexmap@1.3.2", + "purl": "pkg:cargo/indexmap@1.3.2", "extracted_requirement": "1.3.2", - "scope": "dependency", + "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": true, "resolved_package": {} }, { - "purl": "pkg:crates/matches@0.1.8", + "purl": "pkg:cargo/matches@0.1.8", "extracted_requirement": "0.1.8", - "scope": "dependency", + "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": true, "resolved_package": {} }, { - "purl": "pkg:crates/percent-encoding@2.1.0", + "purl": "pkg:cargo/percent-encoding@2.1.0", "extracted_requirement": "2.1.0", - "scope": "dependency", + "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": true, "resolved_package": {} } ], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "cargo_lock", + "purl": null } ] \ No newline at end of file diff --git a/tests/packagedcode/data/cargo/cargo_lock/sample5/output.expected.json b/tests/packagedcode/data/cargo/cargo_lock/sample5/output.expected.json index 5f0f0e087b1..ef5d67158e5 100644 --- a/tests/packagedcode/data/cargo/cargo_lock/sample5/output.expected.json +++ b/tests/packagedcode/data/cargo/cargo_lock/sample5/output.expected.json @@ -25,50 +25,51 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { - "purl": "pkg:crates/indexmap@1.3.2", + "purl": "pkg:cargo/indexmap@1.3.2", "extracted_requirement": "1.3.2", - "scope": "dependency", + "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": true, "resolved_package": {} }, { - "purl": "pkg:crates/matches@0.1.8", + "purl": "pkg:cargo/matches@0.1.8", "extracted_requirement": "0.1.8", - "scope": "dependency", + "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": true, "resolved_package": {} }, { - "purl": "pkg:crates/semver@0.10.0", + "purl": "pkg:cargo/semver@0.10.0", "extracted_requirement": "0.10.0", - "scope": "dependency", + "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": true, "resolved_package": {} }, { - "purl": "pkg:crates/semver-parser@0.7.0", + "purl": "pkg:cargo/semver-parser@0.7.0", "extracted_requirement": "0.7.0", - "scope": "dependency", + "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": true, "resolved_package": {} } ], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "cargo_lock", + "purl": null } ] \ No newline at end of file diff --git a/tests/packagedcode/data/cargo/cargo_toml/clap/Cargo.toml.expected b/tests/packagedcode/data/cargo/cargo_toml/clap/Cargo.toml.expected index 268de877d70..40c03b2cb21 100644 --- a/tests/packagedcode/data/cargo/cargo_toml/clap/Cargo.toml.expected +++ b/tests/packagedcode/data/cargo/cargo_toml/clap/Cargo.toml.expected @@ -19,7 +19,7 @@ } ], "keywords": [], - "homepage_url": null, + "homepage_url": "https://clap.rs/", "download_url": null, "size": null, "sha1": null, @@ -28,18 +28,19 @@ "sha512": null, "bug_tracking_url": null, "code_view_url": null, - "vcs_url": null, + "vcs_url": "https://github.com/clap-rs/clap", "copyright": null, "license_expression": "mit", "declared_license": "MIT", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:cargo/clap@2.32.0", "repository_homepage_url": "https://crates.io/crates/clap", "repository_download_url": "https://crates.io/api/v1/crates/clap/2.32.0/download", - "api_data_url": "https://crates.io/api/v1/crates/clap" + "api_data_url": "https://crates.io/api/v1/crates/clap", + "datasource_id": "cargo_toml", + "purl": "pkg:cargo/clap@2.32.0" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/cargo/cargo_toml/clippy/Cargo.toml.expected b/tests/packagedcode/data/cargo/cargo_toml/clippy/Cargo.toml.expected index bb34eaa62e5..4eacda6d15b 100644 --- a/tests/packagedcode/data/cargo/cargo_toml/clippy/Cargo.toml.expected +++ b/tests/packagedcode/data/cargo/cargo_toml/clippy/Cargo.toml.expected @@ -56,18 +56,19 @@ "sha512": null, "bug_tracking_url": null, "code_view_url": null, - "vcs_url": null, + "vcs_url": "https://github.com/rust-lang/rust-clippy", "copyright": null, "license_expression": "mit OR apache-2.0", "declared_license": "MIT/Apache-2.0", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:cargo/clippy@0.0.212", "repository_homepage_url": "https://crates.io/crates/clippy", "repository_download_url": "https://crates.io/api/v1/crates/clippy/0.0.212/download", - "api_data_url": "https://crates.io/api/v1/crates/clippy" + "api_data_url": "https://crates.io/api/v1/crates/clippy", + "datasource_id": "cargo_toml", + "purl": "pkg:cargo/clippy@0.0.212" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/cargo/cargo_toml/mdbook/Cargo.toml.expected b/tests/packagedcode/data/cargo/cargo_toml/mdbook/Cargo.toml.expected index ecac77aa4ff..c438faf3d50 100644 --- a/tests/packagedcode/data/cargo/cargo_toml/mdbook/Cargo.toml.expected +++ b/tests/packagedcode/data/cargo/cargo_toml/mdbook/Cargo.toml.expected @@ -42,18 +42,19 @@ "sha512": null, "bug_tracking_url": null, "code_view_url": null, - "vcs_url": null, + "vcs_url": "https://github.com/rust-lang-nursery/mdBook", "copyright": null, "license_expression": "mpl-2.0", "declared_license": "MPL-2.0", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:cargo/mdbook@0.2.4-alpha.0", "repository_homepage_url": "https://crates.io/crates/mdbook", "repository_download_url": "https://crates.io/api/v1/crates/mdbook/0.2.4-alpha.0/download", - "api_data_url": "https://crates.io/api/v1/crates/mdbook" + "api_data_url": "https://crates.io/api/v1/crates/mdbook", + "datasource_id": "cargo_toml", + "purl": "pkg:cargo/mdbook@0.2.4-alpha.0" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/cargo/cargo_toml/rustfmt/Cargo.toml.expected b/tests/packagedcode/data/cargo/cargo_toml/rustfmt/Cargo.toml.expected index 697d92952c4..c24f3f1f08b 100644 --- a/tests/packagedcode/data/cargo/cargo_toml/rustfmt/Cargo.toml.expected +++ b/tests/packagedcode/data/cargo/cargo_toml/rustfmt/Cargo.toml.expected @@ -35,18 +35,19 @@ "sha512": null, "bug_tracking_url": null, "code_view_url": null, - "vcs_url": null, + "vcs_url": "https://github.com/rust-lang/rustfmt", "copyright": null, "license_expression": "apache-2.0 OR mit", "declared_license": "Apache-2.0/MIT", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:cargo/rustfmt-nightly@1.0.3", "repository_homepage_url": "https://crates.io/crates/rustfmt-nightly", "repository_download_url": "https://crates.io/api/v1/crates/rustfmt-nightly/1.0.3/download", - "api_data_url": "https://crates.io/api/v1/crates/rustfmt-nightly" + "api_data_url": "https://crates.io/api/v1/crates/rustfmt-nightly", + "datasource_id": "cargo_toml", + "purl": "pkg:cargo/rustfmt-nightly@1.0.3" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/cargo/cargo_toml/rustup/Cargo.toml.1 b/tests/packagedcode/data/cargo/cargo_toml/rustup/Cargo.toml.1 deleted file mode 100644 index b5485de2283..00000000000 --- a/tests/packagedcode/data/cargo/cargo_toml/rustup/Cargo.toml.1 +++ /dev/null @@ -1,79 +0,0 @@ -[package] - -name = "rustup" -version = "1.17.0" -edition = "2018" -authors = [ "Diggory Blake " ] -description = "Manage multiple rust installations with ease" - -documentation = "http://rust-lang.github.io/rustup.rs/rustup/index.html" -homepage = "https://github.com/rust-lang/rustup.rs" -repository = "https://github.com/rust-lang/rustup.rs" - -readme = "README.md" - -keywords = ["rustup", "multirust", "install", "proxy"] - -license = "MIT OR Apache-2.0" - -build = "build.rs" - -[features] - -default = ["curl-backend", "reqwest-backend"] - -curl-backend = ["download/curl-backend"] -reqwest-backend = ["download/reqwest-backend"] -vendored-openssl = ['openssl/vendored'] - -# Include in the default set to disable self-update and uninstall. -no-self-update = [] - -[dependencies] -rustup-dist = { path = "src/rustup-dist" } -rustup-utils = { path = "src/rustup-utils" } -download = { path = "src/download" } -clap = "2.18.0" -error-chain = "0.12.0" -itertools = "0.7.6" -libc = "0.2.0" -markdown = "0.2" -rand = "0.5.2" -regex = "1.0.1" -remove_dir_all = "0.5.1" -same-file = "1.0" -scopeguard = "0.3" -sha2 = "0.7.0" -tempdir = "0.3.4" -term = "0.5.1" -time = "0.1.34" -toml = "0.4" -url = "1.1.0" -wait-timeout = "0.1.5" -openssl = { version = '0.10.15', optional = true } - -[target."cfg(windows)".dependencies] -winapi = { version = "0.3", features = ["jobapi", "jobapi2", "processthreadsapi", "psapi", "synchapi", "winuser"] } -winreg = "0.5.0" -gcc = "0.3.50" - -[dev-dependencies] -rustup-mock = { path = "src/rustup-mock", version = "1.1.0" } -lazy_static = "1.0.0" - -[workspace] -members = ["src/download"] - -[lib] -name = "rustup" -path = "src/rustup/lib.rs" -test = false # no unit tests - -[[bin]] -name = "rustup-init" -path = "src/rustup-cli/main.rs" -test = false # no unit tests - -[profile.release] -lto = true -codegen-units = 1 diff --git a/tests/packagedcode/data/cargo/cargo_toml/rustup/Cargo.toml.expected b/tests/packagedcode/data/cargo/cargo_toml/rustup/Cargo.toml.expected index 1ae70ee2b6a..2f4019ce2c5 100644 --- a/tests/packagedcode/data/cargo/cargo_toml/rustup/Cargo.toml.expected +++ b/tests/packagedcode/data/cargo/cargo_toml/rustup/Cargo.toml.expected @@ -19,7 +19,7 @@ } ], "keywords": [], - "homepage_url": null, + "homepage_url": "https://github.com/rust-lang/rustup.rs", "download_url": null, "size": null, "sha1": null, @@ -28,18 +28,19 @@ "sha512": null, "bug_tracking_url": null, "code_view_url": null, - "vcs_url": null, + "vcs_url": "https://github.com/rust-lang/rustup.rs", "copyright": null, "license_expression": "mit OR apache-2.0", "declared_license": "MIT OR Apache-2.0", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:cargo/rustup@1.17.0", "repository_homepage_url": "https://crates.io/crates/rustup", "repository_download_url": "https://crates.io/api/v1/crates/rustup/1.17.0/download", - "api_data_url": "https://crates.io/api/v1/crates/rustup" + "api_data_url": "https://crates.io/api/v1/crates/rustup", + "datasource_id": "cargo_toml", + "purl": "pkg:cargo/rustup@1.17.0" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/cargo/lowercase/cargo.lock b/tests/packagedcode/data/cargo/lowercase/cargo.lock new file mode 100644 index 00000000000..dc507a06aa1 --- /dev/null +++ b/tests/packagedcode/data/cargo/lowercase/cargo.lock @@ -0,0 +1,33 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "adler32" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d2e7343e7fc9de883d1b0341e0b13970f764c14101234857d2ddafa1cb1cac2" + +[[package]] +name = "aes" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54eb1d8fe354e5fc611daf4f2ea97dd45a765f4f1e4512306ec183ae2e8f20c9" +dependencies = [ + "aes-soft", + "aesni", + "block-cipher-trait", +] + +[[package]] +name = "zip" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6df134e83b8f0f8153a094c7b0fd79dfebe437f1d76e7715afa18ed95ebe2fd7" +dependencies = [ + "bzip2", + "crc32fast", + "flate2", + "podio", + "time", +] diff --git a/tests/packagedcode/data/cargo/lowercase/cargo.toml b/tests/packagedcode/data/cargo/lowercase/cargo.toml new file mode 100644 index 00000000000..5be9f8e00a9 --- /dev/null +++ b/tests/packagedcode/data/cargo/lowercase/cargo.toml @@ -0,0 +1,15 @@ +[package] +name = 'bkg-cli-log' +edition = '2021' +categories = ['command-line-utilities', 'development-tools::debugging'] +keywords = ['logging'] +description = 'Simple logger for command line applications' +license = 'Apache-2.0' +version = '0.2.0' +repository = 'https://github.com/kalkin/rust-bkg-cli-log' + +[lib] +name = 'cli_log' + +[dependencies] +log = '0.4' diff --git a/tests/packagedcode/data/cargo/scan.expected.json b/tests/packagedcode/data/cargo/scan.expected.json new file mode 100644 index 00000000000..73f806e9d46 --- /dev/null +++ b/tests/packagedcode/data/cargo/scan.expected.json @@ -0,0 +1,768 @@ +{ + "headers": [ + { + "tool_name": "scancode-toolkit", + "options": { + "input": "", + "--json": "", + "--package": true + }, + "notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.", + "output_format_version": "2.0.0", + "message": null, + "errors": [], + "warnings": [], + "extra_data": { + "spdx_license_list_version": "3.16", + "files_count": 3 + } + } + ], + "dependencies": [ + { + "purl": "pkg:cargo/ahash@0.7.4", + "extracted_requirement": "0.7.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "dependency_uid": "pkg:cargo/ahash@0.7.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/apple-xar@0.4.0-pre?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/Cargo.lock", + "datasource_id": "cargo_lock" + }, + { + "purl": "pkg:cargo/autocfg@1.0.1", + "extracted_requirement": "1.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "dependency_uid": "pkg:cargo/autocfg@1.0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/apple-xar@0.4.0-pre?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/Cargo.lock", + "datasource_id": "cargo_lock" + }, + { + "purl": "pkg:cargo/cfg-if@0.1.10", + "extracted_requirement": "0.1.10", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "dependency_uid": "pkg:cargo/cfg-if@0.1.10?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/apple-xar@0.4.0-pre?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/Cargo.lock", + "datasource_id": "cargo_lock" + }, + { + "purl": "pkg:cargo/cfg-if@1.0.0", + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "dependency_uid": "pkg:cargo/cfg-if@1.0.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/apple-xar@0.4.0-pre?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/Cargo.lock", + "datasource_id": "cargo_lock" + }, + { + "purl": "pkg:cargo/chrono@0.4.19", + "extracted_requirement": "0.4.19", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "dependency_uid": "pkg:cargo/chrono@0.4.19?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/apple-xar@0.4.0-pre?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/Cargo.lock", + "datasource_id": "cargo_lock" + }, + { + "purl": "pkg:cargo/getrandom@0.2.3", + "extracted_requirement": "0.2.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "dependency_uid": "pkg:cargo/getrandom@0.2.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/apple-xar@0.4.0-pre?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/Cargo.lock", + "datasource_id": "cargo_lock" + }, + { + "purl": "pkg:cargo/hashbrown@0.11.2", + "extracted_requirement": "0.11.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "dependency_uid": "pkg:cargo/hashbrown@0.11.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/apple-xar@0.4.0-pre?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/Cargo.lock", + "datasource_id": "cargo_lock" + }, + { + "purl": "pkg:cargo/libc@0.2.97", + "extracted_requirement": "0.2.97", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "dependency_uid": "pkg:cargo/libc@0.2.97?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/apple-xar@0.4.0-pre?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/Cargo.lock", + "datasource_id": "cargo_lock" + }, + { + "purl": "pkg:cargo/log@0.4.14", + "extracted_requirement": "0.4.14", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "dependency_uid": "pkg:cargo/log@0.4.14?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/apple-xar@0.4.0-pre?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/Cargo.lock", + "datasource_id": "cargo_lock" + }, + { + "purl": "pkg:cargo/memory_units@0.4.0", + "extracted_requirement": "0.4.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "dependency_uid": "pkg:cargo/memory_units@0.4.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/apple-xar@0.4.0-pre?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/Cargo.lock", + "datasource_id": "cargo_lock" + }, + { + "purl": "pkg:cargo/num-integer@0.1.44", + "extracted_requirement": "0.1.44", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "dependency_uid": "pkg:cargo/num-integer@0.1.44?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/apple-xar@0.4.0-pre?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/Cargo.lock", + "datasource_id": "cargo_lock" + }, + { + "purl": "pkg:cargo/num-traits@0.2.14", + "extracted_requirement": "0.2.14", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "dependency_uid": "pkg:cargo/num-traits@0.2.14?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/apple-xar@0.4.0-pre?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/Cargo.lock", + "datasource_id": "cargo_lock" + }, + { + "purl": "pkg:cargo/once_cell@1.8.0", + "extracted_requirement": "1.8.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "dependency_uid": "pkg:cargo/once_cell@1.8.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/apple-xar@0.4.0-pre?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/Cargo.lock", + "datasource_id": "cargo_lock" + }, + { + "purl": "pkg:cargo/proxy-wasm@0.1.4", + "extracted_requirement": "0.1.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "dependency_uid": "pkg:cargo/proxy-wasm@0.1.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/apple-xar@0.4.0-pre?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/Cargo.lock", + "datasource_id": "cargo_lock" + }, + { + "purl": "pkg:cargo/time@0.1.43", + "extracted_requirement": "0.1.43", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "dependency_uid": "pkg:cargo/time@0.1.43?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/apple-xar@0.4.0-pre?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/Cargo.lock", + "datasource_id": "cargo_lock" + }, + { + "purl": "pkg:cargo/version_check@0.9.3", + "extracted_requirement": "0.9.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "dependency_uid": "pkg:cargo/version_check@0.9.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/apple-xar@0.4.0-pre?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/Cargo.lock", + "datasource_id": "cargo_lock" + }, + { + "purl": "pkg:cargo/wasi@0.10.2%2Bwasi-snapshot-preview1", + "extracted_requirement": "0.10.2+wasi-snapshot-preview1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "dependency_uid": "pkg:cargo/wasi@0.10.2%2Bwasi-snapshot-preview1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/apple-xar@0.4.0-pre?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/Cargo.lock", + "datasource_id": "cargo_lock" + }, + { + "purl": "pkg:cargo/wee_alloc@0.4.5", + "extracted_requirement": "0.4.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "dependency_uid": "pkg:cargo/wee_alloc@0.4.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/apple-xar@0.4.0-pre?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/Cargo.lock", + "datasource_id": "cargo_lock" + }, + { + "purl": "pkg:cargo/winapi@0.3.9", + "extracted_requirement": "0.3.9", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "dependency_uid": "pkg:cargo/winapi@0.3.9?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/apple-xar@0.4.0-pre?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/Cargo.lock", + "datasource_id": "cargo_lock" + }, + { + "purl": "pkg:cargo/winapi-i686-pc-windows-gnu@0.4.0", + "extracted_requirement": "0.4.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "dependency_uid": "pkg:cargo/winapi-i686-pc-windows-gnu@0.4.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/apple-xar@0.4.0-pre?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/Cargo.lock", + "datasource_id": "cargo_lock" + }, + { + "purl": "pkg:cargo/winapi-x86_64-pc-windows-gnu@0.4.0", + "extracted_requirement": "0.4.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "dependency_uid": "pkg:cargo/winapi-x86_64-pc-windows-gnu@0.4.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/apple-xar@0.4.0-pre?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/Cargo.lock", + "datasource_id": "cargo_lock" + } + ], + "packages": [ + { + "type": "cargo", + "namespace": null, + "name": "apple-xar", + "version": "0.4.0-pre", + "qualifiers": {}, + "subpath": null, + "primary_language": "Rust", + "description": "XAR archive reading and writing", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Gregory Szorc", + "email": "gregory.szorc@gmail.com", + "url": null + } + ], + "keywords": [], + "homepage_url": "https://github.com/indygreg/PyOxidizer", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": "https://github.com/indygreg/PyOxidizer.git", + "copyright": null, + "license_expression": "mpl-2.0", + "declared_license": "MPL-2.0", + "notice_text": null, + "source_packages": [], + "extra_data": {}, + "repository_homepage_url": "https://crates.io/crates/apple-xar", + "repository_download_url": "https://crates.io/api/v1/crates/apple-xar/0.4.0-pre/download", + "api_data_url": "https://crates.io/api/v1/crates/apple-xar", + "package_uid": "pkg:cargo/apple-xar@0.4.0-pre?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "scan/Cargo.toml" + ], + "datasource_ids": [ + "cargo_toml" + ], + "purl": "pkg:cargo/apple-xar@0.4.0-pre" + }, + { + "type": "cargo", + "namespace": null, + "name": "daachorse", + "version": "0.4.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "Rust", + "description": "Daachorse: Double-Array Aho-Corasick", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Koichi Akabe", + "email": "vbkaisetsu@gmail.com", + "url": null + }, + { + "type": "person", + "role": "author", + "name": "Shunsuke Kanda", + "email": "shnsk.knd@gmail.com", + "url": null + } + ], + "keywords": [], + "homepage_url": "https://github.com/daac-tools/daachorse", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": "https://github.com/daac-tools/daachorse", + "copyright": null, + "license_expression": "mit OR apache-2.0", + "declared_license": "MIT OR Apache-2.0", + "notice_text": null, + "source_packages": [], + "extra_data": {}, + "repository_homepage_url": "https://crates.io/crates/daachorse", + "repository_download_url": "https://crates.io/api/v1/crates/daachorse/0.4.1/download", + "api_data_url": "https://crates.io/api/v1/crates/daachorse", + "package_uid": "pkg:cargo/daachorse@0.4.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "scan/dac/Cargo.toml" + ], + "datasource_ids": [ + "cargo_toml" + ], + "purl": "pkg:cargo/daachorse@0.4.1" + } + ], + "files": [ + { + "path": "scan", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "scan/Cargo.lock", + "type": "file", + "package_data": [ + { + "type": "cargo", + "namespace": null, + "name": null, + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": "Rust", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:cargo/ahash@0.7.4", + "extracted_requirement": "0.7.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {} + }, + { + "purl": "pkg:cargo/autocfg@1.0.1", + "extracted_requirement": "1.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {} + }, + { + "purl": "pkg:cargo/cfg-if@0.1.10", + "extracted_requirement": "0.1.10", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {} + }, + { + "purl": "pkg:cargo/cfg-if@1.0.0", + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {} + }, + { + "purl": "pkg:cargo/chrono@0.4.19", + "extracted_requirement": "0.4.19", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {} + }, + { + "purl": "pkg:cargo/getrandom@0.2.3", + "extracted_requirement": "0.2.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {} + }, + { + "purl": "pkg:cargo/hashbrown@0.11.2", + "extracted_requirement": "0.11.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {} + }, + { + "purl": "pkg:cargo/libc@0.2.97", + "extracted_requirement": "0.2.97", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {} + }, + { + "purl": "pkg:cargo/log@0.4.14", + "extracted_requirement": "0.4.14", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {} + }, + { + "purl": "pkg:cargo/memory_units@0.4.0", + "extracted_requirement": "0.4.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {} + }, + { + "purl": "pkg:cargo/num-integer@0.1.44", + "extracted_requirement": "0.1.44", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {} + }, + { + "purl": "pkg:cargo/num-traits@0.2.14", + "extracted_requirement": "0.2.14", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {} + }, + { + "purl": "pkg:cargo/once_cell@1.8.0", + "extracted_requirement": "1.8.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {} + }, + { + "purl": "pkg:cargo/proxy-wasm@0.1.4", + "extracted_requirement": "0.1.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {} + }, + { + "purl": "pkg:cargo/time@0.1.43", + "extracted_requirement": "0.1.43", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {} + }, + { + "purl": "pkg:cargo/version_check@0.9.3", + "extracted_requirement": "0.9.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {} + }, + { + "purl": "pkg:cargo/wasi@0.10.2%2Bwasi-snapshot-preview1", + "extracted_requirement": "0.10.2+wasi-snapshot-preview1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {} + }, + { + "purl": "pkg:cargo/wee_alloc@0.4.5", + "extracted_requirement": "0.4.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {} + }, + { + "purl": "pkg:cargo/winapi@0.3.9", + "extracted_requirement": "0.3.9", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {} + }, + { + "purl": "pkg:cargo/winapi-i686-pc-windows-gnu@0.4.0", + "extracted_requirement": "0.4.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {} + }, + { + "purl": "pkg:cargo/winapi-x86_64-pc-windows-gnu@0.4.0", + "extracted_requirement": "0.4.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {} + } + ], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cargo_lock", + "purl": null + } + ], + "for_packages": [ + "pkg:cargo/apple-xar@0.4.0-pre?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "scan/Cargo.toml", + "type": "file", + "package_data": [ + { + "type": "cargo", + "namespace": null, + "name": "apple-xar", + "version": "0.4.0-pre", + "qualifiers": {}, + "subpath": null, + "primary_language": "Rust", + "description": "XAR archive reading and writing", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Gregory Szorc", + "email": "gregory.szorc@gmail.com", + "url": null + } + ], + "keywords": [], + "homepage_url": "https://github.com/indygreg/PyOxidizer", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": "https://github.com/indygreg/PyOxidizer.git", + "copyright": null, + "license_expression": null, + "declared_license": "MPL-2.0", + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://crates.io/crates/apple-xar", + "repository_download_url": "https://crates.io/api/v1/crates/apple-xar/0.4.0-pre/download", + "api_data_url": "https://crates.io/api/v1/crates/apple-xar", + "datasource_id": "cargo_toml", + "purl": "pkg:cargo/apple-xar@0.4.0-pre" + } + ], + "for_packages": [ + "pkg:cargo/apple-xar@0.4.0-pre?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "scan/dac", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "scan/dac/Cargo.toml", + "type": "file", + "package_data": [ + { + "type": "cargo", + "namespace": null, + "name": "daachorse", + "version": "0.4.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "Rust", + "description": "Daachorse: Double-Array Aho-Corasick", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Koichi Akabe", + "email": "vbkaisetsu@gmail.com", + "url": null + }, + { + "type": "person", + "role": "author", + "name": "Shunsuke Kanda", + "email": "shnsk.knd@gmail.com", + "url": null + } + ], + "keywords": [], + "homepage_url": "https://github.com/daac-tools/daachorse", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": "https://github.com/daac-tools/daachorse", + "copyright": null, + "license_expression": null, + "declared_license": "MIT OR Apache-2.0", + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://crates.io/crates/daachorse", + "repository_download_url": "https://crates.io/api/v1/crates/daachorse/0.4.1/download", + "api_data_url": "https://crates.io/api/v1/crates/daachorse", + "datasource_id": "cargo_toml", + "purl": "pkg:cargo/daachorse@0.4.1" + } + ], + "for_packages": [ + "pkg:cargo/daachorse@0.4.1?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + } + ] +} \ No newline at end of file diff --git a/tests/packagedcode/data/cargo/scan/Cargo.lock b/tests/packagedcode/data/cargo/scan/Cargo.lock new file mode 100644 index 00000000000..dd8a6a2204b --- /dev/null +++ b/tests/packagedcode/data/cargo/scan/Cargo.lock @@ -0,0 +1,177 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +[[package]] +name = "ahash" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43bb833f0bf979d8475d38fbf09ed3b8a55e1885fe93ad3f93239fc6a4f17b98" +dependencies = [ + "getrandom", + "once_cell", + "version_check", +] + +[[package]] +name = "autocfg" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" + +[[package]] +name = "cfg-if" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "chrono" +version = "0.4.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73" +dependencies = [ + "libc", + "num-integer", + "num-traits", + "time", + "winapi", +] + +[[package]] +name = "getrandom" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753" +dependencies = [ + "cfg-if 1.0.0", + "libc", + "wasi", +] + +[[package]] +name = "hashbrown" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" +dependencies = [ + "ahash", +] + +[[package]] +name = "libc" +version = "0.2.97" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12b8adadd720df158f4d70dfe7ccc6adb0472d7c55ca83445f6a5ab3e36f8fb6" + +[[package]] +name = "log" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710" +dependencies = [ + "cfg-if 1.0.0", +] + +[[package]] +name = "memory_units" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8452105ba047068f40ff7093dd1d9da90898e63dd61736462e9cdda6a90ad3c3" + +[[package]] +name = "num-integer" +version = "0.1.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db" +dependencies = [ + "autocfg", + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290" +dependencies = [ + "autocfg", +] + +[[package]] +name = "once_cell" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56" + +[[package]] +name = "proxy-wasm" +version = "0.1.4" +dependencies = [ + "cfg-if 1.0.0", + "chrono", + "getrandom", + "hashbrown", + "log", + "wee_alloc", +] + +[[package]] +name = "time" +version = "0.1.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "version_check" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe" + +[[package]] +name = "wasi" +version = "0.10.2+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" + +[[package]] +name = "wee_alloc" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbb3b5a6b2bb17cb6ad44a2e68a43e8d2722c997da10e928665c72ec6c0a0b8e" +dependencies = [ + "cfg-if 0.1.10", + "libc", + "memory_units", + "winapi", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" diff --git a/tests/packagedcode/data/cargo/scan/Cargo.toml b/tests/packagedcode/data/cargo/scan/Cargo.toml new file mode 100644 index 00000000000..1bcb19cfab8 --- /dev/null +++ b/tests/packagedcode/data/cargo/scan/Cargo.toml @@ -0,0 +1,40 @@ +[package] +name = "apple-xar" +version = "0.4.0-pre" +authors = ["Gregory Szorc "] +edition = "2021" +license = "MPL-2.0" +description = "XAR archive reading and writing" +keywords = ["apple", "xar"] +homepage = "https://github.com/indygreg/PyOxidizer" +repository = "https://github.com/indygreg/PyOxidizer.git" +readme = "README.md" + +[dependencies] +base64 = "0.13" +bcder = "0.6" +bzip2 = "0.4" +chrono = { version = "0.4", features = ["serde"] } +digest = "0.10" +log = "0.4" +md-5 = "0.10" +flate2 = "1.0" +rand = "0.8" +reqwest = { version = "0.11", default-features = false } +scroll = { version = "0.11", features = ["derive"] } +serde-xml-rs = "0.5" +serde = { version = "1.0", features = ["derive"] } +sha1 = "0.10" +sha2 = "0.10" +thiserror = "1.0" +url = "2.2" +xml-rs = "0.8" +xz2 = "0.1" + +[dependencies.cryptographic-message-syntax] +path = "../cryptographic-message-syntax" +version = "0.15.0-pre" + +[dependencies.x509-certificate] +path = "../x509-certificate" +version = "0.13.0-pre" diff --git a/tests/packagedcode/data/cargo/scan/dac/Cargo.toml b/tests/packagedcode/data/cargo/scan/dac/Cargo.toml new file mode 100644 index 00000000000..1868d7e6214 --- /dev/null +++ b/tests/packagedcode/data/cargo/scan/dac/Cargo.toml @@ -0,0 +1,35 @@ +[package] +name = "daachorse" +version = "0.4.1" +edition = "2021" +authors = [ + "Koichi Akabe ", + "Shunsuke Kanda ", +] +description = "Daachorse: Double-Array Aho-Corasick" +license = "MIT OR Apache-2.0" +homepage = "https://github.com/daac-tools/daachorse" +repository = "https://github.com/daac-tools/daachorse" +readme = "README.md" +keywords = ["search", "text", "aho", "multi", "double-array"] +categories = ["text-processing", "algorithms", "data-structures", "no-std"] +exclude = [".*"] + +[dependencies] + +[dev-dependencies] + +[features] +default = ["std"] + +std = [] + +[package.metadata.docs.rs] +all-features = true +rustdoc-args = ["--cfg", "docsrs"] + +[workspace] +members = [ + "bench", + "daacfind", +] diff --git a/tests/packagedcode/data/chef/basic/metadata.json.expected b/tests/packagedcode/data/chef/basic/metadata.json.expected index 65ee33a87a9..c339a9a6081 100644 --- a/tests/packagedcode/data/chef/basic/metadata.json.expected +++ b/tests/packagedcode/data/chef/basic/metadata.json.expected @@ -33,8 +33,8 @@ "license_expression": "mit", "declared_license": "MIT", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -47,9 +47,10 @@ "resolved_package": {} } ], - "purl": "pkg:chef/301@0.1.0", - "repository_homepage_url": null, + "repository_homepage_url": "https://supermarket.chef.io/cookbooks/301/versions/0.1.0/", "repository_download_url": "https://supermarket.chef.io/cookbooks/301/versions/0.1.0/download", - "api_data_url": "https://supermarket.chef.io/api/v1/cookbooks/301/versions/0.1.0" + "api_data_url": "https://supermarket.chef.io/api/v1/cookbooks/301/versions/0.1.0", + "datasource_id": "chef_cookbook_metadata_json", + "purl": "pkg:chef/301@0.1.0" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/chef/basic/metadata.rb.expected b/tests/packagedcode/data/chef/basic/metadata.rb.expected index d1136bf6a2c..8128bea003f 100644 --- a/tests/packagedcode/data/chef/basic/metadata.rb.expected +++ b/tests/packagedcode/data/chef/basic/metadata.rb.expected @@ -33,8 +33,8 @@ "license_expression": "mit", "declared_license": "MIT", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -47,9 +47,10 @@ "resolved_package": {} } ], - "purl": "pkg:chef/301@0.1.0", - "repository_homepage_url": null, + "repository_homepage_url": "https://supermarket.chef.io/cookbooks/301/versions/0.1.0/", "repository_download_url": "https://supermarket.chef.io/cookbooks/301/versions/0.1.0/download", - "api_data_url": "https://supermarket.chef.io/api/v1/cookbooks/301/versions/0.1.0" + "api_data_url": "https://supermarket.chef.io/api/v1/cookbooks/301/versions/0.1.0", + "datasource_id": "chef_cookbook_metadata_rb", + "purl": "pkg:chef/301@0.1.0" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/chef/basic/test_package.json.expected b/tests/packagedcode/data/chef/basic/test_package.json.expected index d4486a5a23d..d339cbcaf8e 100644 --- a/tests/packagedcode/data/chef/basic/test_package.json.expected +++ b/tests/packagedcode/data/chef/basic/test_package.json.expected @@ -25,13 +25,14 @@ "license_expression": "public-domain", "declared_license": "public-domain", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:chef/test@0.01", - "repository_homepage_url": null, + "repository_homepage_url": "https://supermarket.chef.io/cookbooks/test/versions/0.01/", "repository_download_url": "https://supermarket.chef.io/cookbooks/test/versions/0.01/download", - "api_data_url": "https://supermarket.chef.io/api/v1/cookbooks/test/versions/0.01" + "api_data_url": "https://supermarket.chef.io/api/v1/cookbooks/test/versions/0.01", + "datasource_id": "chef_cookbook_metadata_rb", + "purl": "pkg:chef/test@0.01" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/chef/basic/test_package_code_view_url_and_bug_tracking_url.json.expected b/tests/packagedcode/data/chef/basic/test_package_code_view_url_and_bug_tracking_url.json.expected index a4c6c44dd27..ae66c10d50f 100644 --- a/tests/packagedcode/data/chef/basic/test_package_code_view_url_and_bug_tracking_url.json.expected +++ b/tests/packagedcode/data/chef/basic/test_package_code_view_url_and_bug_tracking_url.json.expected @@ -25,13 +25,14 @@ "license_expression": "public-domain", "declared_license": "public-domain", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:chef/test@0.01", - "repository_homepage_url": null, + "repository_homepage_url": "https://supermarket.chef.io/cookbooks/test/versions/0.01/", "repository_download_url": "https://supermarket.chef.io/cookbooks/test/versions/0.01/download", - "api_data_url": "https://supermarket.chef.io/api/v1/cookbooks/test/versions/0.01" + "api_data_url": "https://supermarket.chef.io/api/v1/cookbooks/test/versions/0.01", + "datasource_id": "chef_cookbook_metadata_rb", + "purl": "pkg:chef/test@0.01" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/chef/basic/test_package_dependencies.json.expected b/tests/packagedcode/data/chef/basic/test_package_dependencies.json.expected index 716d51495e1..76a0483a5f3 100644 --- a/tests/packagedcode/data/chef/basic/test_package_dependencies.json.expected +++ b/tests/packagedcode/data/chef/basic/test_package_dependencies.json.expected @@ -25,8 +25,8 @@ "license_expression": "public-domain", "declared_license": "public-domain", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -39,9 +39,10 @@ "resolved_package": {} } ], - "purl": "pkg:chef/test@0.01", - "repository_homepage_url": null, + "repository_homepage_url": "https://supermarket.chef.io/cookbooks/test/versions/0.01/", "repository_download_url": "https://supermarket.chef.io/cookbooks/test/versions/0.01/download", - "api_data_url": "https://supermarket.chef.io/api/v1/cookbooks/test/versions/0.01" + "api_data_url": "https://supermarket.chef.io/api/v1/cookbooks/test/versions/0.01", + "datasource_id": "chef_cookbook_metadata_rb", + "purl": "pkg:chef/test@0.01" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/chef/basic/test_package_parties.json.expected b/tests/packagedcode/data/chef/basic/test_package_parties.json.expected index 66941a52117..4a10a631180 100644 --- a/tests/packagedcode/data/chef/basic/test_package_parties.json.expected +++ b/tests/packagedcode/data/chef/basic/test_package_parties.json.expected @@ -33,13 +33,14 @@ "license_expression": "public-domain", "declared_license": "public-domain", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:chef/test@0.01", - "repository_homepage_url": null, + "repository_homepage_url": "https://supermarket.chef.io/cookbooks/test/versions/0.01/", "repository_download_url": "https://supermarket.chef.io/cookbooks/test/versions/0.01/download", - "api_data_url": "https://supermarket.chef.io/api/v1/cookbooks/test/versions/0.01" + "api_data_url": "https://supermarket.chef.io/api/v1/cookbooks/test/versions/0.01", + "datasource_id": "chef_cookbook_metadata_rb", + "purl": "pkg:chef/test@0.01" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/chef/dependencies/metadata.rb.expected b/tests/packagedcode/data/chef/dependencies/metadata.rb.expected index e1a16b41f6a..1f3881780fd 100644 --- a/tests/packagedcode/data/chef/dependencies/metadata.rb.expected +++ b/tests/packagedcode/data/chef/dependencies/metadata.rb.expected @@ -33,8 +33,8 @@ "license_expression": "apache-2.0", "declared_license": "Apache-2.0", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -56,9 +56,10 @@ "resolved_package": {} } ], - "purl": "pkg:chef/build-essential@8.2.1", - "repository_homepage_url": null, + "repository_homepage_url": "https://supermarket.chef.io/cookbooks/build-essential/versions/8.2.1/", "repository_download_url": "https://supermarket.chef.io/cookbooks/build-essential/versions/8.2.1/download", - "api_data_url": "https://supermarket.chef.io/api/v1/cookbooks/build-essential/versions/8.2.1" + "api_data_url": "https://supermarket.chef.io/api/v1/cookbooks/build-essential/versions/8.2.1", + "datasource_id": "chef_cookbook_metadata_rb", + "purl": "pkg:chef/build-essential@8.2.1" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/chef/package.scan.expected.json b/tests/packagedcode/data/chef/package.scan.expected.json new file mode 100644 index 00000000000..a15ee7eeaab --- /dev/null +++ b/tests/packagedcode/data/chef/package.scan.expected.json @@ -0,0 +1,236 @@ +{ + "headers": [ + { + "tool_name": "scancode-toolkit", + "options": { + "input": "", + "--json": "", + "--package": true + }, + "notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.", + "output_format_version": "2.0.0", + "message": null, + "errors": [], + "warnings": [], + "extra_data": { + "spdx_license_list_version": "3.16", + "files_count": 2 + } + } + ], + "dependencies": [ + { + "purl": "pkg:chef/nodejs", + "extracted_requirement": null, + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:chef/nodejs?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:chef/301@0.1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "package/metadata.rb", + "datasource_id": "chef_cookbook_metadata_rb" + }, + { + "purl": "pkg:chef/nodejs", + "extracted_requirement": ">= 0.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:chef/nodejs?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:chef/301@0.1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "package/metadata.json", + "datasource_id": "chef_cookbook_metadata_json" + } + ], + "packages": [ + { + "type": "chef", + "namespace": null, + "name": "301", + "version": "0.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "Ruby", + "description": "Installs/Configures 301", + "release_date": null, + "parties": [ + { + "type": null, + "role": "maintainer", + "name": "Mark Wilkerson", + "email": "mark@segfawlt.net", + "url": null + } + ], + "keywords": [], + "homepage_url": null, + "download_url": "https://supermarket.chef.io/cookbooks/301/versions/0.1.0/download", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": "mit", + "declared_license": "MIT", + "notice_text": null, + "source_packages": [], + "extra_data": {}, + "repository_homepage_url": "https://supermarket.chef.io/cookbooks/301/versions/0.1.0/", + "repository_download_url": "https://supermarket.chef.io/cookbooks/301/versions/0.1.0/download", + "api_data_url": "https://supermarket.chef.io/api/v1/cookbooks/301/versions/0.1.0", + "package_uid": "pkg:chef/301@0.1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "package/metadata.rb" + ], + "datasource_ids": [ + "chef_cookbook_metadata_rb" + ], + "purl": "pkg:chef/301@0.1.0" + } + ], + "files": [ + { + "path": "package", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "package/metadata.json", + "type": "file", + "package_data": [ + { + "type": "chef", + "namespace": null, + "name": "301", + "version": "0.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "Ruby", + "description": "Installs/Configures 301", + "release_date": null, + "parties": [ + { + "type": null, + "role": "maintainer", + "name": "Mark Wilkerson", + "email": "mark@segfawlt.net", + "url": null + } + ], + "keywords": [], + "homepage_url": null, + "download_url": "https://supermarket.chef.io/cookbooks/301/versions/0.1.0/download", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": "mit", + "declared_license": "MIT", + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:chef/nodejs", + "extracted_requirement": ">= 0.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + } + ], + "repository_homepage_url": "https://supermarket.chef.io/cookbooks/301/versions/0.1.0/", + "repository_download_url": "https://supermarket.chef.io/cookbooks/301/versions/0.1.0/download", + "api_data_url": "https://supermarket.chef.io/api/v1/cookbooks/301/versions/0.1.0", + "datasource_id": "chef_cookbook_metadata_json", + "purl": "pkg:chef/301@0.1.0" + } + ], + "for_packages": [ + "pkg:chef/301@0.1.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "package/metadata.rb", + "type": "file", + "package_data": [ + { + "type": "chef", + "namespace": null, + "name": "301", + "version": "0.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "Ruby", + "description": "Installs/Configures 301", + "release_date": null, + "parties": [ + { + "type": null, + "role": "maintainer", + "name": "Mark Wilkerson", + "email": "mark@segfawlt.net", + "url": null + } + ], + "keywords": [], + "homepage_url": null, + "download_url": "https://supermarket.chef.io/cookbooks/301/versions/0.1.0/download", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": "mit", + "declared_license": "MIT", + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:chef/nodejs", + "extracted_requirement": null, + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + } + ], + "repository_homepage_url": "https://supermarket.chef.io/cookbooks/301/versions/0.1.0/", + "repository_download_url": "https://supermarket.chef.io/cookbooks/301/versions/0.1.0/download", + "api_data_url": "https://supermarket.chef.io/api/v1/cookbooks/301/versions/0.1.0", + "datasource_id": "chef_cookbook_metadata_rb", + "purl": "pkg:chef/301@0.1.0" + } + ], + "for_packages": [ + "pkg:chef/301@0.1.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + } + ] +} \ No newline at end of file diff --git a/tests/packagedcode/data/cocoapods/assemble/many-podspecs-expected.json b/tests/packagedcode/data/cocoapods/assemble/many-podspecs-expected.json new file mode 100644 index 00000000000..a6f80eeda67 --- /dev/null +++ b/tests/packagedcode/data/cocoapods/assemble/many-podspecs-expected.json @@ -0,0 +1,922 @@ +{ + "headers": [ + { + "tool_name": "scancode-toolkit", + "options": { + "input": "", + "--json": "", + "--package": true + }, + "notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.", + "output_format_version": "2.0.0", + "message": null, + "errors": [], + "warnings": [], + "extra_data": { + "spdx_license_list_version": "3.16", + "files_count": 9 + } + } + ], + "dependencies": [ + { + "purl": "pkg:pods/AWSCore@2.27.0", + "extracted_requirement": "2.27.0", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": {}, + "dependency_uid": "pkg:pods/AWSCore@2.27.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:pods/CoreMLPredictionsPlugin@%24AMPLIFY_VERSION?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "many-podspecs/Podfile.lock", + "datasource_id": "cocoapods_podfile_lock" + }, + { + "purl": "pkg:pods/CwlCatchException@2.1.1", + "extracted_requirement": "2.1.1", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": {}, + "dependency_uid": "pkg:pods/CwlCatchException@2.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:pods/CoreMLPredictionsPlugin@%24AMPLIFY_VERSION?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "many-podspecs/Podfile.lock", + "datasource_id": "cocoapods_podfile_lock" + }, + { + "purl": "pkg:pods/CwlCatchExceptionSupport@2.1.1", + "extracted_requirement": "2.1.1", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": {}, + "dependency_uid": "pkg:pods/CwlCatchExceptionSupport@2.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:pods/CoreMLPredictionsPlugin@%24AMPLIFY_VERSION?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "many-podspecs/Podfile.lock", + "datasource_id": "cocoapods_podfile_lock" + }, + { + "purl": "pkg:pods/CwlMachBadInstructionHandler@2.1.0", + "extracted_requirement": "2.1.0", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": {}, + "dependency_uid": "pkg:pods/CwlMachBadInstructionHandler@2.1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:pods/CoreMLPredictionsPlugin@%24AMPLIFY_VERSION?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "many-podspecs/Podfile.lock", + "datasource_id": "cocoapods_podfile_lock" + }, + { + "purl": "pkg:pods/CwlPosixPreconditionTesting@2.1.0", + "extracted_requirement": "2.1.0", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": {}, + "dependency_uid": "pkg:pods/CwlPosixPreconditionTesting@2.1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:pods/CoreMLPredictionsPlugin@%24AMPLIFY_VERSION?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "many-podspecs/Podfile.lock", + "datasource_id": "cocoapods_podfile_lock" + }, + { + "purl": "pkg:pods/CwlPreconditionTesting@2.1.0", + "extracted_requirement": "2.1.0", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": {}, + "dependency_uid": "pkg:pods/CwlPreconditionTesting@2.1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:pods/CoreMLPredictionsPlugin@%24AMPLIFY_VERSION?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "many-podspecs/Podfile.lock", + "datasource_id": "cocoapods_podfile_lock" + }, + { + "purl": "pkg:pods/SwiftFormat/CLI@0.44.17", + "extracted_requirement": "0.44.17", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": {}, + "dependency_uid": "pkg:pods/SwiftFormat/CLI@0.44.17?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:pods/CoreMLPredictionsPlugin@%24AMPLIFY_VERSION?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "many-podspecs/Podfile.lock", + "datasource_id": "cocoapods_podfile_lock" + }, + { + "purl": "pkg:pods/SwiftLint@0.46.2", + "extracted_requirement": "0.46.2", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": {}, + "dependency_uid": "pkg:pods/SwiftLint@0.46.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:pods/CoreMLPredictionsPlugin@%24AMPLIFY_VERSION?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "many-podspecs/Podfile.lock", + "datasource_id": "cocoapods_podfile_lock" + } + ], + "packages": [ + { + "type": "pods", + "namespace": null, + "name": "CoreMLPredictionsPlugin", + "version": "$AMPLIFY_VERSION", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": "Amazon Web Services Amplify for iOS.\nAWS Amplify for iOS provides a declarative library for application development using cloud services", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Amazon Web Services ", + "email": "amazonwebservices", + "url": null + } + ], + "keywords": [], + "homepage_url": "https://github.com/aws-amplify/amplify-ios", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": "https://github.com/aws-amplify/amplify-ios/issues/", + "code_view_url": "https://github.com/aws-amplify/amplify-ios/tree/$AMPLIFY_VERSION", + "vcs_url": "https://github.com/aws-amplify/amplify-ios.git", + "copyright": null, + "license_expression": "apache-2.0", + "declared_license": "Apache License, Version 2.0", + "notice_text": null, + "source_packages": [], + "extra_data": {}, + "repository_homepage_url": "https://cocoapods.org/pods/CoreMLPredictionsPlugin", + "repository_download_url": "https://github.com/aws-amplify/amplify-ios/archive/refs/tags/$AMPLIFY_VERSION.zip", + "api_data_url": "https://raw.githubusercontent.com/CocoaPods/Specs/blob/master/Specs/b/1/e/CoreMLPredictionsPlugin/$AMPLIFY_VERSION/CoreMLPredictionsPlugin.podspec.json", + "package_uid": "pkg:pods/CoreMLPredictionsPlugin@%24AMPLIFY_VERSION?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "many-podspecs/CoreMLPredictionsPlugin.podspec" + ], + "datasource_ids": [ + "cocoapods_podspec" + ], + "purl": "pkg:pods/CoreMLPredictionsPlugin@%24AMPLIFY_VERSION" + }, + { + "type": "pods", + "namespace": null, + "name": "Amplify", + "version": "$AMPLIFY_VERSION", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": "Amazon Web Services Amplify for iOS.\nAWS Amplify for iOS provides a declarative library for application development using cloud services", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Amazon Web Services ", + "email": "amazonwebservices", + "url": null + } + ], + "keywords": [], + "homepage_url": "https://github.com/aws-amplify/amplify-ios", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": "https://github.com/aws-amplify/amplify-ios/issues/", + "code_view_url": "https://github.com/aws-amplify/amplify-ios/tree/$AMPLIFY_VERSION", + "vcs_url": "https://github.com/aws-amplify/amplify-ios.git", + "copyright": null, + "license_expression": "apache-2.0", + "declared_license": "Apache License, Version 2.0", + "notice_text": null, + "source_packages": [], + "extra_data": {}, + "repository_homepage_url": "https://cocoapods.org/pods/Amplify", + "repository_download_url": "https://github.com/aws-amplify/amplify-ios/archive/refs/tags/$AMPLIFY_VERSION.zip", + "api_data_url": "https://raw.githubusercontent.com/CocoaPods/Specs/blob/master/Specs/9/c/5/Amplify/$AMPLIFY_VERSION/Amplify.podspec.json", + "package_uid": "pkg:pods/Amplify@%24AMPLIFY_VERSION?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "many-podspecs/Amplify.podspec" + ], + "datasource_ids": [ + "cocoapods_podspec" + ], + "purl": "pkg:pods/Amplify@%24AMPLIFY_VERSION" + }, + { + "type": "pods", + "namespace": null, + "name": "AmplifyPlugins", + "version": "$AMPLIFY_VERSION", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": "Amazon Web Services Amplify for iOS.\nAWS Amplify for iOS provides a declarative library for application development using cloud services", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Amazon Web Services ", + "email": "amazonwebservices", + "url": null + } + ], + "keywords": [], + "homepage_url": "https://github.com/aws-amplify/amplify-ios", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": "https://github.com/aws-amplify/amplify-ios/issues/", + "code_view_url": "https://github.com/aws-amplify/amplify-ios/tree/$AMPLIFY_VERSION", + "vcs_url": "https://github.com/aws-amplify/amplify-ios.git", + "copyright": null, + "license_expression": "apache-2.0", + "declared_license": "Apache License, Version 2.0", + "notice_text": null, + "source_packages": [], + "extra_data": {}, + "repository_homepage_url": "https://cocoapods.org/pods/AmplifyPlugins", + "repository_download_url": "https://github.com/aws-amplify/amplify-ios/archive/refs/tags/$AMPLIFY_VERSION.zip", + "api_data_url": "https://raw.githubusercontent.com/CocoaPods/Specs/blob/master/Specs/5/1/8/AmplifyPlugins/$AMPLIFY_VERSION/AmplifyPlugins.podspec.json", + "package_uid": "pkg:pods/AmplifyPlugins@%24AMPLIFY_VERSION?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "many-podspecs/AmplifyPlugins.podspec" + ], + "datasource_ids": [ + "cocoapods_podspec" + ], + "purl": "pkg:pods/AmplifyPlugins@%24AMPLIFY_VERSION" + }, + { + "type": "pods", + "namespace": null, + "name": "AmplifyTestCommon", + "version": "$AMPLIFY_VERSION", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": "Test resources used by different targets\nProvides different test resources and mock methods", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Amazon Web Services ", + "email": "amazonwebservices", + "url": null + } + ], + "keywords": [], + "homepage_url": "hhttps://github.com/aws-amplify/amplify-ios", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": "https://github.com/aws-amplify/amplify-ios/issues/", + "code_view_url": "https://github.com/aws-amplify/amplify-ios/tree/$AMPLIFY_VERSION", + "vcs_url": "https://github.com/aws-amplify/amplify-ios.git", + "copyright": null, + "license_expression": "apache-2.0", + "declared_license": "Apache License, Version 2.0", + "notice_text": null, + "source_packages": [], + "extra_data": {}, + "repository_homepage_url": "https://cocoapods.org/pods/AmplifyTestCommon", + "repository_download_url": "https://github.com/aws-amplify/amplify-ios/archive/refs/tags/$AMPLIFY_VERSION.zip", + "api_data_url": "https://raw.githubusercontent.com/CocoaPods/Specs/blob/master/Specs/1/4/f/AmplifyTestCommon/$AMPLIFY_VERSION/AmplifyTestCommon.podspec.json", + "package_uid": "pkg:pods/AmplifyTestCommon@%24AMPLIFY_VERSION?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "many-podspecs/AmplifyTestCommon.podspec" + ], + "datasource_ids": [ + "cocoapods_podspec" + ], + "purl": "pkg:pods/AmplifyTestCommon@%24AMPLIFY_VERSION" + }, + { + "type": "pods", + "namespace": null, + "name": "AWSPluginsCore", + "version": "$AMPLIFY_VERSION", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": "Amazon Web Services Amplify for iOS.\nAWS Amplify for iOS provides a declarative library for application development using cloud services", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Amazon Web Services ", + "email": "amazonwebservices", + "url": null + } + ], + "keywords": [], + "homepage_url": "https://github.com/aws-amplify/amplify-ios", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": "https://github.com/aws-amplify/amplify-ios/issues/", + "code_view_url": "https://github.com/aws-amplify/amplify-ios/tree/$AMPLIFY_VERSION", + "vcs_url": "https://github.com/aws-amplify/amplify-ios.git", + "copyright": null, + "license_expression": "apache-2.0", + "declared_license": "Apache License, Version 2.0", + "notice_text": null, + "source_packages": [], + "extra_data": {}, + "repository_homepage_url": "https://cocoapods.org/pods/AWSPluginsCore", + "repository_download_url": "https://github.com/aws-amplify/amplify-ios/archive/refs/tags/$AMPLIFY_VERSION.zip", + "api_data_url": "https://raw.githubusercontent.com/CocoaPods/Specs/blob/master/Specs/c/7/7/AWSPluginsCore/$AMPLIFY_VERSION/AWSPluginsCore.podspec.json", + "package_uid": "pkg:pods/AWSPluginsCore@%24AMPLIFY_VERSION?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "many-podspecs/AWSPluginsCore.podspec" + ], + "datasource_ids": [ + "cocoapods_podspec" + ], + "purl": "pkg:pods/AWSPluginsCore@%24AMPLIFY_VERSION" + }, + { + "type": "pods", + "namespace": null, + "name": "AWSPredictionsPlugin", + "version": "$AMPLIFY_VERSION", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": "Amazon Web Services Amplify for iOS.\nAWS Amplify for iOS provides a declarative library for application development using cloud services", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Amazon Web Services ", + "email": "amazonwebservices", + "url": null + } + ], + "keywords": [], + "homepage_url": "https://github.com/aws-amplify/amplify-ios", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": "https://github.com/aws-amplify/amplify-ios/issues/", + "code_view_url": "https://github.com/aws-amplify/amplify-ios/tree/$AMPLIFY_VERSION", + "vcs_url": "https://github.com/aws-amplify/amplify-ios.git", + "copyright": null, + "license_expression": "apache-2.0", + "declared_license": "Apache License, Version 2.0", + "notice_text": null, + "source_packages": [], + "extra_data": {}, + "repository_homepage_url": "https://cocoapods.org/pods/AWSPredictionsPlugin", + "repository_download_url": "https://github.com/aws-amplify/amplify-ios/archive/refs/tags/$AMPLIFY_VERSION.zip", + "api_data_url": "https://raw.githubusercontent.com/CocoaPods/Specs/blob/master/Specs/5/6/0/AWSPredictionsPlugin/$AMPLIFY_VERSION/AWSPredictionsPlugin.podspec.json", + "package_uid": "pkg:pods/AWSPredictionsPlugin@%24AMPLIFY_VERSION?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "many-podspecs/AWSPredictionsPlugin.podspec" + ], + "datasource_ids": [ + "cocoapods_podspec" + ], + "purl": "pkg:pods/AWSPredictionsPlugin@%24AMPLIFY_VERSION" + } + ], + "files": [ + { + "path": "many-podspecs", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "many-podspecs/AWSPluginsCore.podspec", + "type": "file", + "package_data": [ + { + "type": "pods", + "namespace": null, + "name": "AWSPluginsCore", + "version": "$AMPLIFY_VERSION", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": "Amazon Web Services Amplify for iOS.\nAWS Amplify for iOS provides a declarative library for application development using cloud services", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Amazon Web Services ", + "email": "amazonwebservices", + "url": null + } + ], + "keywords": [], + "homepage_url": "https://github.com/aws-amplify/amplify-ios", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": "https://github.com/aws-amplify/amplify-ios/issues/", + "code_view_url": "https://github.com/aws-amplify/amplify-ios/tree/$AMPLIFY_VERSION", + "vcs_url": "https://github.com/aws-amplify/amplify-ios.git", + "copyright": null, + "license_expression": "apache-2.0", + "declared_license": "Apache License, Version 2.0", + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://cocoapods.org/pods/AWSPluginsCore", + "repository_download_url": "https://github.com/aws-amplify/amplify-ios/archive/refs/tags/$AMPLIFY_VERSION.zip", + "api_data_url": "https://raw.githubusercontent.com/CocoaPods/Specs/blob/master/Specs/c/7/7/AWSPluginsCore/$AMPLIFY_VERSION/AWSPluginsCore.podspec.json", + "datasource_id": "cocoapods_podspec", + "purl": "pkg:pods/AWSPluginsCore@%24AMPLIFY_VERSION" + } + ], + "for_packages": [ + "pkg:pods/AWSPluginsCore@%24AMPLIFY_VERSION?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "many-podspecs/AWSPredictionsPlugin.podspec", + "type": "file", + "package_data": [ + { + "type": "pods", + "namespace": null, + "name": "AWSPredictionsPlugin", + "version": "$AMPLIFY_VERSION", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": "Amazon Web Services Amplify for iOS.\nAWS Amplify for iOS provides a declarative library for application development using cloud services", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Amazon Web Services ", + "email": "amazonwebservices", + "url": null + } + ], + "keywords": [], + "homepage_url": "https://github.com/aws-amplify/amplify-ios", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": "https://github.com/aws-amplify/amplify-ios/issues/", + "code_view_url": "https://github.com/aws-amplify/amplify-ios/tree/$AMPLIFY_VERSION", + "vcs_url": "https://github.com/aws-amplify/amplify-ios.git", + "copyright": null, + "license_expression": "apache-2.0", + "declared_license": "Apache License, Version 2.0", + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://cocoapods.org/pods/AWSPredictionsPlugin", + "repository_download_url": "https://github.com/aws-amplify/amplify-ios/archive/refs/tags/$AMPLIFY_VERSION.zip", + "api_data_url": "https://raw.githubusercontent.com/CocoaPods/Specs/blob/master/Specs/5/6/0/AWSPredictionsPlugin/$AMPLIFY_VERSION/AWSPredictionsPlugin.podspec.json", + "datasource_id": "cocoapods_podspec", + "purl": "pkg:pods/AWSPredictionsPlugin@%24AMPLIFY_VERSION" + } + ], + "for_packages": [ + "pkg:pods/AWSPredictionsPlugin@%24AMPLIFY_VERSION?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "many-podspecs/Amplify.podspec", + "type": "file", + "package_data": [ + { + "type": "pods", + "namespace": null, + "name": "Amplify", + "version": "$AMPLIFY_VERSION", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": "Amazon Web Services Amplify for iOS.\nAWS Amplify for iOS provides a declarative library for application development using cloud services", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Amazon Web Services ", + "email": "amazonwebservices", + "url": null + } + ], + "keywords": [], + "homepage_url": "https://github.com/aws-amplify/amplify-ios", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": "https://github.com/aws-amplify/amplify-ios/issues/", + "code_view_url": "https://github.com/aws-amplify/amplify-ios/tree/$AMPLIFY_VERSION", + "vcs_url": "https://github.com/aws-amplify/amplify-ios.git", + "copyright": null, + "license_expression": "apache-2.0", + "declared_license": "Apache License, Version 2.0", + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://cocoapods.org/pods/Amplify", + "repository_download_url": "https://github.com/aws-amplify/amplify-ios/archive/refs/tags/$AMPLIFY_VERSION.zip", + "api_data_url": "https://raw.githubusercontent.com/CocoaPods/Specs/blob/master/Specs/9/c/5/Amplify/$AMPLIFY_VERSION/Amplify.podspec.json", + "datasource_id": "cocoapods_podspec", + "purl": "pkg:pods/Amplify@%24AMPLIFY_VERSION" + } + ], + "for_packages": [ + "pkg:pods/Amplify@%24AMPLIFY_VERSION?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "many-podspecs/AmplifyPlugins.podspec", + "type": "file", + "package_data": [ + { + "type": "pods", + "namespace": null, + "name": "AmplifyPlugins", + "version": "$AMPLIFY_VERSION", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": "Amazon Web Services Amplify for iOS.\nAWS Amplify for iOS provides a declarative library for application development using cloud services", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Amazon Web Services ", + "email": "amazonwebservices", + "url": null + } + ], + "keywords": [], + "homepage_url": "https://github.com/aws-amplify/amplify-ios", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": "https://github.com/aws-amplify/amplify-ios/issues/", + "code_view_url": "https://github.com/aws-amplify/amplify-ios/tree/$AMPLIFY_VERSION", + "vcs_url": "https://github.com/aws-amplify/amplify-ios.git", + "copyright": null, + "license_expression": "apache-2.0", + "declared_license": "Apache License, Version 2.0", + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://cocoapods.org/pods/AmplifyPlugins", + "repository_download_url": "https://github.com/aws-amplify/amplify-ios/archive/refs/tags/$AMPLIFY_VERSION.zip", + "api_data_url": "https://raw.githubusercontent.com/CocoaPods/Specs/blob/master/Specs/5/1/8/AmplifyPlugins/$AMPLIFY_VERSION/AmplifyPlugins.podspec.json", + "datasource_id": "cocoapods_podspec", + "purl": "pkg:pods/AmplifyPlugins@%24AMPLIFY_VERSION" + } + ], + "for_packages": [ + "pkg:pods/AmplifyPlugins@%24AMPLIFY_VERSION?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "many-podspecs/AmplifyTestCommon.podspec", + "type": "file", + "package_data": [ + { + "type": "pods", + "namespace": null, + "name": "AmplifyTestCommon", + "version": "$AMPLIFY_VERSION", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": "Test resources used by different targets\nProvides different test resources and mock methods", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Amazon Web Services ", + "email": "amazonwebservices", + "url": null + } + ], + "keywords": [], + "homepage_url": "hhttps://github.com/aws-amplify/amplify-ios", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": "https://github.com/aws-amplify/amplify-ios/issues/", + "code_view_url": "https://github.com/aws-amplify/amplify-ios/tree/$AMPLIFY_VERSION", + "vcs_url": "https://github.com/aws-amplify/amplify-ios.git", + "copyright": null, + "license_expression": "apache-2.0", + "declared_license": "Apache License, Version 2.0", + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://cocoapods.org/pods/AmplifyTestCommon", + "repository_download_url": "https://github.com/aws-amplify/amplify-ios/archive/refs/tags/$AMPLIFY_VERSION.zip", + "api_data_url": "https://raw.githubusercontent.com/CocoaPods/Specs/blob/master/Specs/1/4/f/AmplifyTestCommon/$AMPLIFY_VERSION/AmplifyTestCommon.podspec.json", + "datasource_id": "cocoapods_podspec", + "purl": "pkg:pods/AmplifyTestCommon@%24AMPLIFY_VERSION" + } + ], + "for_packages": [ + "pkg:pods/AmplifyTestCommon@%24AMPLIFY_VERSION?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "many-podspecs/CoreMLPredictionsPlugin.podspec", + "type": "file", + "package_data": [ + { + "type": "pods", + "namespace": null, + "name": "CoreMLPredictionsPlugin", + "version": "$AMPLIFY_VERSION", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": "Amazon Web Services Amplify for iOS.\nAWS Amplify for iOS provides a declarative library for application development using cloud services", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Amazon Web Services ", + "email": "amazonwebservices", + "url": null + } + ], + "keywords": [], + "homepage_url": "https://github.com/aws-amplify/amplify-ios", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": "https://github.com/aws-amplify/amplify-ios/issues/", + "code_view_url": "https://github.com/aws-amplify/amplify-ios/tree/$AMPLIFY_VERSION", + "vcs_url": "https://github.com/aws-amplify/amplify-ios.git", + "copyright": null, + "license_expression": "apache-2.0", + "declared_license": "Apache License, Version 2.0", + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://cocoapods.org/pods/CoreMLPredictionsPlugin", + "repository_download_url": "https://github.com/aws-amplify/amplify-ios/archive/refs/tags/$AMPLIFY_VERSION.zip", + "api_data_url": "https://raw.githubusercontent.com/CocoaPods/Specs/blob/master/Specs/b/1/e/CoreMLPredictionsPlugin/$AMPLIFY_VERSION/CoreMLPredictionsPlugin.podspec.json", + "datasource_id": "cocoapods_podspec", + "purl": "pkg:pods/CoreMLPredictionsPlugin@%24AMPLIFY_VERSION" + } + ], + "for_packages": [ + "pkg:pods/CoreMLPredictionsPlugin@%24AMPLIFY_VERSION?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "many-podspecs/Podfile", + "type": "file", + "package_data": [ + { + "type": "pods", + "namespace": null, + "name": null, + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": "", + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": "", + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile", + "purl": null + } + ], + "for_packages": [ + "pkg:pods/CoreMLPredictionsPlugin@%24AMPLIFY_VERSION?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "many-podspecs/Podfile.lock", + "type": "file", + "package_data": [ + { + "type": "pods", + "namespace": null, + "name": null, + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:pods/AWSCore@2.27.0", + "extracted_requirement": "2.27.0", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": {} + }, + { + "purl": "pkg:pods/CwlCatchException@2.1.1", + "extracted_requirement": "2.1.1", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": {} + }, + { + "purl": "pkg:pods/CwlCatchExceptionSupport@2.1.1", + "extracted_requirement": "2.1.1", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": {} + }, + { + "purl": "pkg:pods/CwlMachBadInstructionHandler@2.1.0", + "extracted_requirement": "2.1.0", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": {} + }, + { + "purl": "pkg:pods/CwlPosixPreconditionTesting@2.1.0", + "extracted_requirement": "2.1.0", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": {} + }, + { + "purl": "pkg:pods/CwlPreconditionTesting@2.1.0", + "extracted_requirement": "2.1.0", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": {} + }, + { + "purl": "pkg:pods/SwiftFormat/CLI@0.44.17", + "extracted_requirement": "0.44.17", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": {} + }, + { + "purl": "pkg:pods/SwiftLint@0.46.2", + "extracted_requirement": "0.46.2", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": {} + } + ], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock", + "purl": null + } + ], + "for_packages": [ + "pkg:pods/CoreMLPredictionsPlugin@%24AMPLIFY_VERSION?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "many-podspecs/amplify-ios.LICENSE", + "type": "file", + "package_data": [], + "for_packages": [], + "scan_errors": [] + } + ] +} \ No newline at end of file diff --git a/tests/packagedcode/data/cocoapods/assemble/many-podspecs.ABOUT b/tests/packagedcode/data/cocoapods/assemble/many-podspecs.ABOUT new file mode 100644 index 00000000000..0346ed144aa --- /dev/null +++ b/tests/packagedcode/data/cocoapods/assemble/many-podspecs.ABOUT @@ -0,0 +1,3 @@ +date: 2022-04-14 +vcs_tool: git +vcs_repository: https://github.com/aws-amplify/amplify-ios diff --git a/tests/packagedcode/data/cocoapods/assemble/many-podspecs/AWSPluginsCore.podspec b/tests/packagedcode/data/cocoapods/assemble/many-podspecs/AWSPluginsCore.podspec new file mode 100644 index 00000000000..8fcc6a72539 --- /dev/null +++ b/tests/packagedcode/data/cocoapods/assemble/many-podspecs/AWSPluginsCore.podspec @@ -0,0 +1,37 @@ +# +# Be sure to run `pod spec lint Amplify.podspec' to ensure this is a +# valid spec and to remove all comments including this before submitting the spec. +# +# To learn more about Podspec attributes see https://guides.cocoapods.org/syntax/podspec.html +# To see working Podspecs in the CocoaPods repo see https://github.com/CocoaPods/Specs/ +# + +# Version definitions +$AMPLIFY_VERSION = '1.23.0' +$AMPLIFY_RELEASE_TAG = "v#{$AMPLIFY_VERSION}" + +$AWS_SDK_VERSION = '2.27.0' +$OPTIMISTIC_AWS_SDK_VERSION = "~> #{$AWS_SDK_VERSION}" + +Pod::Spec.new do |s| + s.name = 'AWSPluginsCore' + + s.version = $AMPLIFY_VERSION + s.summary = 'Amazon Web Services Amplify for iOS.' + + s.description = 'AWS Amplify for iOS provides a declarative library for application development using cloud services' + + s.homepage = 'https://github.com/aws-amplify/amplify-ios' + s.license = 'Apache License, Version 2.0' + s.author = { 'Amazon Web Services' => 'amazonwebservices' } + s.source = { :git => 'https://github.com/aws-amplify/amplify-ios.git', :tag => $AMPLIFY_RELEASE_TAG } + + s.platform = :ios, '11.0' + s.swift_version = '5.0' + + s.source_files = 'AmplifyPlugins/Core/AWSPluginsCore/**/*.swift' + + s.dependency 'Amplify', $AMPLIFY_VERSION + s.dependency 'AWSCore', $OPTIMISTIC_AWS_SDK_VERSION + +end diff --git a/tests/packagedcode/data/cocoapods/assemble/many-podspecs/AWSPredictionsPlugin.podspec b/tests/packagedcode/data/cocoapods/assemble/many-podspecs/AWSPredictionsPlugin.podspec new file mode 100644 index 00000000000..bf0766c5cdc --- /dev/null +++ b/tests/packagedcode/data/cocoapods/assemble/many-podspecs/AWSPredictionsPlugin.podspec @@ -0,0 +1,39 @@ +# Version definitions +$AMPLIFY_VERSION = '1.23.0' +$AMPLIFY_RELEASE_TAG = "v#{$AMPLIFY_VERSION}" + +$AWS_SDK_VERSION = '2.27.0' +$OPTIMISTIC_AWS_SDK_VERSION = "~> #{$AWS_SDK_VERSION}" + +Pod::Spec.new do |s| + s.name = 'AWSPredictionsPlugin' + + s.version = $AMPLIFY_VERSION + s.summary = 'Amazon Web Services Amplify for iOS.' + + s.description = 'AWS Amplify for iOS provides a declarative library for application development using cloud services' + + s.homepage = 'https://github.com/aws-amplify/amplify-ios' + s.license = 'Apache License, Version 2.0' + s.author = { 'Amazon Web Services' => 'amazonwebservices' } + s.source = { :git => 'https://github.com/aws-amplify/amplify-ios.git', :tag => $AMPLIFY_RELEASE_TAG } + + s.platform = :ios, '13.0' + s.swift_version = '5.0' + + s.source_files = 'AmplifyPlugins/Predictions/AWSPredictionsPlugin/**/*.swift' + + s.dependency 'AWSComprehend', $OPTIMISTIC_AWS_SDK_VERSION + s.dependency 'AWSPluginsCore', $AMPLIFY_VERSION + s.dependency 'AWSPolly', $OPTIMISTIC_AWS_SDK_VERSION + s.dependency 'AWSRekognition', $OPTIMISTIC_AWS_SDK_VERSION + s.dependency 'AWSTextract', $OPTIMISTIC_AWS_SDK_VERSION + s.dependency 'AWSTranscribeStreaming', $OPTIMISTIC_AWS_SDK_VERSION + s.dependency 'AWSTranslate', $OPTIMISTIC_AWS_SDK_VERSION + s.dependency 'CoreMLPredictionsPlugin', $AMPLIFY_VERSION + + # This is technically redundant, but adding it here allows Xcode to find it + # during initial indexing and prevent build errors after a fresh install + s.dependency 'AWSCore', $OPTIMISTIC_AWS_SDK_VERSION + +end diff --git a/tests/packagedcode/data/cocoapods/assemble/many-podspecs/Amplify.podspec b/tests/packagedcode/data/cocoapods/assemble/many-podspecs/Amplify.podspec new file mode 100644 index 00000000000..1ba318f50c8 --- /dev/null +++ b/tests/packagedcode/data/cocoapods/assemble/many-podspecs/Amplify.podspec @@ -0,0 +1,55 @@ +# +# Be sure to run `pod spec lint Amplify.podspec' to ensure this is a +# valid spec and to remove all comments including this before submitting the spec. +# +# To learn more about Podspec attributes see https://guides.cocoapods.org/syntax/podspec.html +# To see working Podspecs in the CocoaPods repo see https://github.com/CocoaPods/Specs/ +# + +# Version definitions +$AMPLIFY_VERSION = '1.23.0' +$AMPLIFY_RELEASE_TAG = "v#{$AMPLIFY_VERSION}" + +Pod::Spec.new do |s| + s.name = 'Amplify' + s.version = $AMPLIFY_VERSION + s.summary = 'Amazon Web Services Amplify for iOS.' + + s.description = 'AWS Amplify for iOS provides a declarative library for application development using cloud services' + + s.homepage = 'https://github.com/aws-amplify/amplify-ios' + s.license = 'Apache License, Version 2.0' + s.author = { 'Amazon Web Services' => 'amazonwebservices' } + s.source = { :git => 'https://github.com/aws-amplify/amplify-ios.git', :tag => $AMPLIFY_RELEASE_TAG } + + s.platform = :ios, '11.0' + s.swift_version = '5.0' + + s.source_files = 'Amplify/**/*.swift' + s.default_subspec = 'Default' + + # There appears to be a bug in Xcode < 12 where SwiftUI isn't properly + # weak-linked even though system frameworks should be weak-linked by default. + # Explicitly weak link it here until we upgrade Amplify's platform support + # version to >= 13.0. https://github.com/aws-amplify/amplify-ios/issues/878 + s.weak_frameworks = 'SwiftUI' + + s.subspec 'Default' do |default| + default.preserve_path = 'AmplifyTools' + default.script_phase = { + :name => 'Default', + :script => 'echo "no-op"', + :execution_position => :before_compile + } + end + + s.subspec 'Tools' do |ss| + ss.preserve_path = 'AmplifyTools' + ss.script_phase = { + :name => 'AmplifyTools', + :script => 'mkdir -p "${PODS_ROOT}/AmplifyTools"; cp -vf "${PODS_TARGET_SRCROOT}/AmplifyTools/amplify-tools.sh" "${PODS_ROOT}/AmplifyTools/."', + :execution_position => :before_compile + } + end + +end diff --git a/tests/packagedcode/data/cocoapods/assemble/many-podspecs/AmplifyPlugins.podspec b/tests/packagedcode/data/cocoapods/assemble/many-podspecs/AmplifyPlugins.podspec new file mode 100644 index 00000000000..3f6f4483e5c --- /dev/null +++ b/tests/packagedcode/data/cocoapods/assemble/many-podspecs/AmplifyPlugins.podspec @@ -0,0 +1,73 @@ +# +# Be sure to run `pod spec lint AWSS3StoragePlugin.podspec' to ensure this is a +# valid spec and to remove all comments including this before submitting the spec. +# +# To learn more about Podspec attributes see https://guides.cocoapods.org/syntax/podspec.html +# To see working Podspecs in the CocoaPods repo see https://github.com/CocoaPods/Specs/ +# + +# Version definitions +$AMPLIFY_VERSION = '1.23.0' +$AMPLIFY_RELEASE_TAG = "v#{$AMPLIFY_VERSION}" + +$AWS_SDK_VERSION = '2.27.0' +$OPTIMISTIC_AWS_SDK_VERSION = "~> #{$AWS_SDK_VERSION}" + +Pod::Spec.new do |s| + s.name = 'AmplifyPlugins' + s.version = $AMPLIFY_VERSION + s.summary = 'Amazon Web Services Amplify for iOS.' + + s.description = 'AWS Amplify for iOS provides a declarative library for application development using cloud services' + + s.homepage = 'https://github.com/aws-amplify/amplify-ios' + s.license = 'Apache License, Version 2.0' + s.author = { 'Amazon Web Services' => 'amazonwebservices' } + s.source = { :git => 'https://github.com/aws-amplify/amplify-ios.git', :tag => $AMPLIFY_RELEASE_TAG } + + s.platform = :ios, '11.0' + s.swift_version = '5.0' + + s.dependency 'AWSPluginsCore', $AMPLIFY_VERSION + + # This is technically redundant, but adding it here allows Xcode to find it + # during initial indexing and prevent build errors after a fresh install + s.dependency 'AWSCore', $OPTIMISTIC_AWS_SDK_VERSION + + s.subspec 'AWSAPIPlugin' do |ss| + ss.source_files = 'AmplifyPlugins/API/AWSAPICategoryPlugin/**/*.swift' + ss.dependency 'AppSyncRealTimeClient', "~> 1.8" + end + + s.subspec 'AWSCognitoAuthPlugin' do |ss| + ss.source_files = 'AmplifyPlugins/Auth/AWSCognitoAuthPlugin/**/*.swift' + ss.dependency 'AWSMobileClient', $OPTIMISTIC_AWS_SDK_VERSION + + # This is technically redundant, but adding it here allows Xcode to find it + # during initial indexing and prevent build errors after a fresh install + ss.dependency 'AWSAuthCore', $OPTIMISTIC_AWS_SDK_VERSION + ss.dependency 'AWSCognitoIdentityProvider', $OPTIMISTIC_AWS_SDK_VERSION + ss.dependency 'AWSCognitoIdentityProviderASF', $OPTIMISTIC_AWS_SDK_VERSION + end + + s.subspec 'AWSDataStorePlugin' do |ss| + ss.source_files = 'AmplifyPlugins/DataStore/AWSDataStoreCategoryPlugin/**/*.swift' + ss.dependency 'SQLite.swift', '0.13.2' + end + + s.subspec 'AWSLocationGeoPlugin' do |ss| + ss.source_files = 'AmplifyPlugins/Geo/AWSLocationGeoPlugin/**/*.swift' + ss.dependency 'AWSLocation', $OPTIMISTIC_AWS_SDK_VERSION + end + + s.subspec 'AWSPinpointAnalyticsPlugin' do |ss| + ss.source_files = 'AmplifyPlugins/Analytics/AWSPinpointAnalyticsPlugin/**/*.swift' + ss.dependency 'AWSPinpoint', $OPTIMISTIC_AWS_SDK_VERSION + end + + s.subspec 'AWSS3StoragePlugin' do |ss| + ss.source_files = 'AmplifyPlugins/Storage/AWSS3StoragePlugin/**/*.swift' + ss.dependency 'AWSS3', $OPTIMISTIC_AWS_SDK_VERSION + end + +end diff --git a/tests/packagedcode/data/cocoapods/assemble/many-podspecs/AmplifyTestCommon.podspec b/tests/packagedcode/data/cocoapods/assemble/many-podspecs/AmplifyTestCommon.podspec new file mode 100644 index 00000000000..78a93daa4b1 --- /dev/null +++ b/tests/packagedcode/data/cocoapods/assemble/many-podspecs/AmplifyTestCommon.podspec @@ -0,0 +1,69 @@ +# +# Be sure to run `pod spec lint AmplifyTestCommon.podspec' to ensure this is a +# valid spec and to remove all comments including this before submitting the spec. +# +# To learn more about Podspec attributes see https://guides.cocoapods.org/syntax/podspec.html +# To see working Podspecs in the CocoaPods repo see https://github.com/CocoaPods/Specs/ +# + +# Version definitions +$AMPLIFY_VERSION = '1.23.0' +$AMPLIFY_RELEASE_TAG = "v#{$AMPLIFY_VERSION}" + +$AWS_SDK_VERSION = '2.27.0' +$OPTIMISTIC_AWS_SDK_VERSION = "~> #{$AWS_SDK_VERSION}" + +Pod::Spec.new do |s| + s.name = "AmplifyTestCommon" + s.version = $AMPLIFY_VERSION + s.summary = "Test resources used by different targets" + + s.description = "Provides different test resources and mock methods" + + s.homepage = "hhttps://github.com/aws-amplify/amplify-ios" + s.license = 'Apache License, Version 2.0' + s.author = { 'Amazon Web Services' => 'amazonwebservices' } + s.source = { :git => 'https://github.com/aws-amplify/amplify-ios.git', :tag => $AMPLIFY_RELEASE_TAG } + + s.platform = :ios, '11.0' + s.swift_version = '5.0' + + s.source_files = 'AmplifyTestCommon/**/*.swift' + + s.dependency 'Amplify', $AMPLIFY_VERSION + s.dependency 'CwlPreconditionTesting', "~> 2.0" + + s.pod_target_xcconfig = { + 'ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES' => 'YES', + 'ENABLE_TESTING_SEARCH_PATHS' => 'YES', + 'SYSTEM_FRAMEWORK_SEARCH_PATHS' => '$(CORRESPONDING_DEVICE_PLATFORM_DIR)/Developer/Library/Frameworks $(inherited)' + } + + s.script_phases = [ + { + :name => 'Copy Configuration folder', + :script => ' + TEMP_FILE=$HOME/.aws-amplify/amplify-ios/testconfiguration/. + DEST_PATH="${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/testconfiguration/" + + if [[ ! -d $TEMP_FILE ]] ; then + echo "${TEMP_FILE} does not exist. Using empty configuration." + exit 0 + fi + + if [[ -f $DEST_PATH ]] ; then + rm $DEST_PATH + fi + + cp -r $TEMP_FILE $DEST_PATH + ' + } + ] + s.subspec 'AWSPluginsTestCommon' do |ss| + ss.source_files = 'AmplifyPlugins/Core/AWSPluginsTestCommon/**/*.swift' + ss.dependency 'AWSPluginsCore', $AMPLIFY_VERSION + ss.dependency 'AWSMobileClient', $OPTIMISTIC_AWS_SDK_VERSION + ss.dependency 'AWSCore', $OPTIMISTIC_AWS_SDK_VERSION + end + +end diff --git a/tests/packagedcode/data/cocoapods/assemble/many-podspecs/CoreMLPredictionsPlugin.podspec b/tests/packagedcode/data/cocoapods/assemble/many-podspecs/CoreMLPredictionsPlugin.podspec new file mode 100644 index 00000000000..7dfdab5043d --- /dev/null +++ b/tests/packagedcode/data/cocoapods/assemble/many-podspecs/CoreMLPredictionsPlugin.podspec @@ -0,0 +1,25 @@ +# Version definitions +$AMPLIFY_VERSION = '1.23.0' +$AMPLIFY_RELEASE_TAG = "v#{$AMPLIFY_VERSION}" + +Pod::Spec.new do |s| + s.name = 'CoreMLPredictionsPlugin' + + s.version = $AMPLIFY_VERSION + s.summary = 'Amazon Web Services Amplify for iOS.' + + s.description = 'AWS Amplify for iOS provides a declarative library for application development using cloud services' + + s.homepage = 'https://github.com/aws-amplify/amplify-ios' + s.license = 'Apache License, Version 2.0' + s.author = { 'Amazon Web Services' => 'amazonwebservices' } + s.source = { :git => 'https://github.com/aws-amplify/amplify-ios.git', :tag => $AMPLIFY_RELEASE_TAG } + + s.platform = :ios, '13.0' + s.swift_version = '5.0' + + s.source_files = 'AmplifyPlugins/Predictions/CoreMLPredictionsPlugin/**/*.swift' + + s.dependency 'Amplify', $AMPLIFY_VERSION + +end diff --git a/tests/packagedcode/data/cocoapods/assemble/many-podspecs/Podfile b/tests/packagedcode/data/cocoapods/assemble/many-podspecs/Podfile new file mode 100644 index 00000000000..759f44cca8a --- /dev/null +++ b/tests/packagedcode/data/cocoapods/assemble/many-podspecs/Podfile @@ -0,0 +1,49 @@ +load 'build-support/dependencies.rb' + +platform :ios, "11.0" + +target "Amplify" do + # Comment the next line if you"re not using Swift and don"t want to use dynamic frameworks + use_frameworks! + + include_build_tools! + + abstract_target "AmplifyTestConfigs" do + include_test_utilities! + + target "AmplifyTestCommon" do + pod "AWSCore", $OPTIMISTIC_AWS_SDK_VERSION + end + + target "AmplifyTests" do + end + + target "AmplifyFunctionalTests" do + end + + end + + target "AWSPluginsCore" do + inherit! :complete + use_frameworks! + + pod "AWSCore", $OPTIMISTIC_AWS_SDK_VERSION + + abstract_target "AWSPluginsTestConfigs" do + include_test_utilities! + + target "AWSPluginsCoreTests" do + end + + target "AWSPluginsTestCommon" do + end + end + + end + +end + +target "AmplifyTestApp" do + use_frameworks! + include_test_utilities! +end diff --git a/tests/packagedcode/data/cocoapods/assemble/many-podspecs/Podfile.lock b/tests/packagedcode/data/cocoapods/assemble/many-podspecs/Podfile.lock new file mode 100644 index 00000000000..0072497205f --- /dev/null +++ b/tests/packagedcode/data/cocoapods/assemble/many-podspecs/Podfile.lock @@ -0,0 +1,53 @@ +PODS: + - AWSCore (2.27.0) + - CwlCatchException (2.1.1): + - CwlCatchExceptionSupport (~> 2.1.1) + - CwlCatchExceptionSupport (2.1.1) + - CwlMachBadInstructionHandler (2.1.0) + - CwlPosixPreconditionTesting (2.1.0) + - CwlPreconditionTesting (2.1.0): + - CwlCatchException (~> 2.1.1) + - CwlMachBadInstructionHandler (~> 2.1.0) + - CwlPosixPreconditionTesting (~> 2.1.0) + - SwiftFormat/CLI (0.44.17) + - SwiftLint (0.46.2) + +DEPENDENCIES: + - AWSCore (~> 2.27.0) + - CwlPreconditionTesting (from `https://github.com/mattgallagher/CwlPreconditionTesting.git`, tag `2.1.0`) + - SwiftFormat/CLI (= 0.44.17) + - SwiftLint + +SPEC REPOS: + trunk: + - AWSCore + - CwlCatchException + - CwlCatchExceptionSupport + - CwlMachBadInstructionHandler + - CwlPosixPreconditionTesting + - SwiftFormat + - SwiftLint + +EXTERNAL SOURCES: + CwlPreconditionTesting: + :git: https://github.com/mattgallagher/CwlPreconditionTesting.git + :tag: 2.1.0 + +CHECKOUT OPTIONS: + CwlPreconditionTesting: + :git: https://github.com/mattgallagher/CwlPreconditionTesting.git + :tag: 2.1.0 + +SPEC CHECKSUMS: + AWSCore: d605449939e5b40704f11ff9f91f905f7d978589 + CwlCatchException: 86760545af2a490a23e964d76d7c77442dbce79b + CwlCatchExceptionSupport: a004322095d7101b945442c86adc7cec0650f676 + CwlMachBadInstructionHandler: aa1fe9f2d08b29507c150d099434b2890247e7f8 + CwlPosixPreconditionTesting: 1ba4471964405941f79b3f06bbcf3c2be782950c + CwlPreconditionTesting: 73ae5de517a8761e5e40fb4136c6a26365af0440 + SwiftFormat: 3b5caa6389b2b9adbc00e133b3ccc8c6e687a6a4 + SwiftLint: 6bc52a21f0fd44cab9aa2dc8e534fb9f5e3ec507 + +PODFILE CHECKSUM: 5e20e56b8ef40444b018a3736b7b726ff9772f00 + +COCOAPODS: 1.11.3 diff --git a/tests/packagedcode/data/cocoapods/assemble/many-podspecs/amplify-ios.LICENSE b/tests/packagedcode/data/cocoapods/assemble/many-podspecs/amplify-ios.LICENSE new file mode 100644 index 00000000000..67db8588217 --- /dev/null +++ b/tests/packagedcode/data/cocoapods/assemble/many-podspecs/amplify-ios.LICENSE @@ -0,0 +1,175 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. diff --git a/tests/packagedcode/data/cocoapods/assemble/multiple-podspec-expected.json b/tests/packagedcode/data/cocoapods/assemble/multiple-podspec-expected.json new file mode 100644 index 00000000000..4bd5d92a047 --- /dev/null +++ b/tests/packagedcode/data/cocoapods/assemble/multiple-podspec-expected.json @@ -0,0 +1,397 @@ +{ + "headers": [ + { + "tool_name": "scancode-toolkit", + "options": { + "input": "", + "--json": "", + "--package": true + }, + "notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.", + "output_format_version": "2.0.0", + "message": null, + "errors": [], + "warnings": [], + "extra_data": { + "spdx_license_list_version": "3.16", + "files_count": 4 + } + } + ], + "dependencies": [ + { + "purl": "pkg:pods/boost@1.76.0", + "extracted_requirement": "1.76.0", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": {}, + "dependency_uid": "pkg:pods/boost@1.76.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:pods/RxDataSources@4.0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "multiple-podspec/Podfile.lock", + "datasource_id": "cocoapods_podfile_lock" + }, + { + "purl": "pkg:pods/Yoga@1.14.0", + "extracted_requirement": "1.14.0", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": {}, + "dependency_uid": "pkg:pods/Yoga@1.14.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:pods/RxDataSources@4.0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "multiple-podspec/Podfile.lock", + "datasource_id": "cocoapods_podfile_lock" + }, + { + "purl": "pkg:pods/YogaKit@1.18.1", + "extracted_requirement": "1.18.1", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": {}, + "dependency_uid": "pkg:pods/YogaKit@1.18.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:pods/RxDataSources@4.0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "multiple-podspec/Podfile.lock", + "datasource_id": "cocoapods_podfile_lock" + } + ], + "packages": [ + { + "type": "pods", + "namespace": null, + "name": "RxDataSources", + "version": "4.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": "This is a collection of reactive data sources for UITableView and UICollectionView.\n\nIt enables creation of animated data sources for table an collection views in just a couple of lines of code.\n\n```swift\nlet data: Observable
= ...\n\nlet dataSource = RxTableViewSectionedAnimatedDataSource
()\ndataSource.cellFactory = { (tv, ip, i) in\n let cell = tv.dequeueReusableCell(withIdentifier: \"Cell\") ?? UITableViewCell(style:.Default, reuseIdentifier: \"Cell\")\n cell.textLabel!.text = \"\\(i)\"\n return cell\n}\n\n// animated\ndata\n .bind(to: animatedTableView.rx.items(dataSource: dataSource))\n .disposed(by: disposeBag)\n\n// normal reload\ndata\n .bind(to: tableView.rx.items(dataSource: dataSource))\n .disposed(by: disposeBag)\n```", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Krunoslav Zaher ", + "email": "krunoslav.zaher@gmail.com", + "url": null + } + ], + "keywords": [], + "homepage_url": "https://github.com/RxSwiftCommunity/RxDataSources", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": "https://github.com/RxSwiftCommunity/RxDataSources/issues/", + "code_view_url": "https://github.com/RxSwiftCommunity/RxDataSources/tree/4.0.1", + "vcs_url": "https://github.com/RxSwiftCommunity/RxDataSources.git", + "copyright": null, + "license_expression": "mit", + "declared_license": "MIT", + "notice_text": null, + "source_packages": [], + "extra_data": {}, + "repository_homepage_url": "https://cocoapods.org/pods/RxDataSources", + "repository_download_url": "https://github.com/RxSwiftCommunity/RxDataSources/archive/refs/tags/4.0.1.zip", + "api_data_url": "https://raw.githubusercontent.com/CocoaPods/Specs/blob/master/Specs/9/a/4/RxDataSources/4.0.1/RxDataSources.podspec.json", + "package_uid": "pkg:pods/RxDataSources@4.0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "multiple-podspec/RxDataSources.podspec" + ], + "datasource_ids": [ + "cocoapods_podspec" + ], + "purl": "pkg:pods/RxDataSources@4.0.1" + }, + { + "type": "pods", + "namespace": null, + "name": "Differentiator", + "version": "4.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": "Diff algorithm for UITableView and UICollectionView.\n RxDataSources is powered by Differentiator.", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Krunoslav Zaher ", + "email": "krunoslav.zaher@gmail.com", + "url": null + } + ], + "keywords": [], + "homepage_url": "https://github.com/RxSwiftCommunity/RxDataSources", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": "https://github.com/RxSwiftCommunity/RxDataSources/issues/", + "code_view_url": "https://github.com/RxSwiftCommunity/RxDataSources/tree/4.0.1", + "vcs_url": "https://github.com/RxSwiftCommunity/RxDataSources.git", + "copyright": null, + "license_expression": "mit", + "declared_license": "MIT", + "notice_text": null, + "source_packages": [], + "extra_data": {}, + "repository_homepage_url": "https://cocoapods.org/pods/Differentiator", + "repository_download_url": "https://github.com/RxSwiftCommunity/RxDataSources/archive/refs/tags/4.0.1.zip", + "api_data_url": "https://raw.githubusercontent.com/CocoaPods/Specs/blob/master/Specs/5/9/8/Differentiator/4.0.1/Differentiator.podspec.json", + "package_uid": "pkg:pods/Differentiator@4.0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "multiple-podspec/Differentiator.podspec" + ], + "datasource_ids": [ + "cocoapods_podspec" + ], + "purl": "pkg:pods/Differentiator@4.0.1" + } + ], + "files": [ + { + "path": "multiple-podspec", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "multiple-podspec/Differentiator.podspec", + "type": "file", + "package_data": [ + { + "type": "pods", + "namespace": null, + "name": "Differentiator", + "version": "4.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": "Diff algorithm for UITableView and UICollectionView.\n RxDataSources is powered by Differentiator.", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Krunoslav Zaher ", + "email": "krunoslav.zaher@gmail.com", + "url": null + } + ], + "keywords": [], + "homepage_url": "https://github.com/RxSwiftCommunity/RxDataSources", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": "https://github.com/RxSwiftCommunity/RxDataSources/issues/", + "code_view_url": "https://github.com/RxSwiftCommunity/RxDataSources/tree/4.0.1", + "vcs_url": "https://github.com/RxSwiftCommunity/RxDataSources.git", + "copyright": null, + "license_expression": "mit", + "declared_license": "MIT", + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://cocoapods.org/pods/Differentiator", + "repository_download_url": "https://github.com/RxSwiftCommunity/RxDataSources/archive/refs/tags/4.0.1.zip", + "api_data_url": "https://raw.githubusercontent.com/CocoaPods/Specs/blob/master/Specs/5/9/8/Differentiator/4.0.1/Differentiator.podspec.json", + "datasource_id": "cocoapods_podspec", + "purl": "pkg:pods/Differentiator@4.0.1" + } + ], + "for_packages": [ + "pkg:pods/Differentiator@4.0.1?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "multiple-podspec/Podfile", + "type": "file", + "package_data": [ + { + "type": "pods", + "namespace": null, + "name": null, + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": "", + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": "", + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile", + "purl": null + } + ], + "for_packages": [ + "pkg:pods/RxDataSources@4.0.1?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "multiple-podspec/Podfile.lock", + "type": "file", + "package_data": [ + { + "type": "pods", + "namespace": null, + "name": null, + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:pods/boost@1.76.0", + "extracted_requirement": "1.76.0", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": {} + }, + { + "purl": "pkg:pods/Yoga@1.14.0", + "extracted_requirement": "1.14.0", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": {} + }, + { + "purl": "pkg:pods/YogaKit@1.18.1", + "extracted_requirement": "1.18.1", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": {} + } + ], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock", + "purl": null + } + ], + "for_packages": [ + "pkg:pods/RxDataSources@4.0.1?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "multiple-podspec/RxDataSources.podspec", + "type": "file", + "package_data": [ + { + "type": "pods", + "namespace": null, + "name": "RxDataSources", + "version": "4.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": "This is a collection of reactive data sources for UITableView and UICollectionView.\n\nIt enables creation of animated data sources for table an collection views in just a couple of lines of code.\n\n```swift\nlet data: Observable
= ...\n\nlet dataSource = RxTableViewSectionedAnimatedDataSource
()\ndataSource.cellFactory = { (tv, ip, i) in\n let cell = tv.dequeueReusableCell(withIdentifier: \"Cell\") ?? UITableViewCell(style:.Default, reuseIdentifier: \"Cell\")\n cell.textLabel!.text = \"\\(i)\"\n return cell\n}\n\n// animated\ndata\n .bind(to: animatedTableView.rx.items(dataSource: dataSource))\n .disposed(by: disposeBag)\n\n// normal reload\ndata\n .bind(to: tableView.rx.items(dataSource: dataSource))\n .disposed(by: disposeBag)\n```", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Krunoslav Zaher ", + "email": "krunoslav.zaher@gmail.com", + "url": null + } + ], + "keywords": [], + "homepage_url": "https://github.com/RxSwiftCommunity/RxDataSources", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": "https://github.com/RxSwiftCommunity/RxDataSources/issues/", + "code_view_url": "https://github.com/RxSwiftCommunity/RxDataSources/tree/4.0.1", + "vcs_url": "https://github.com/RxSwiftCommunity/RxDataSources.git", + "copyright": null, + "license_expression": "mit", + "declared_license": "MIT", + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://cocoapods.org/pods/RxDataSources", + "repository_download_url": "https://github.com/RxSwiftCommunity/RxDataSources/archive/refs/tags/4.0.1.zip", + "api_data_url": "https://raw.githubusercontent.com/CocoaPods/Specs/blob/master/Specs/9/a/4/RxDataSources/4.0.1/RxDataSources.podspec.json", + "datasource_id": "cocoapods_podspec", + "purl": "pkg:pods/RxDataSources@4.0.1" + } + ], + "for_packages": [ + "pkg:pods/RxDataSources@4.0.1?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + } + ] +} \ No newline at end of file diff --git a/tests/packagedcode/data/cocoapods/assemble/multiple-podspec/Differentiator.podspec b/tests/packagedcode/data/cocoapods/assemble/multiple-podspec/Differentiator.podspec new file mode 100644 index 00000000000..32849a825ec --- /dev/null +++ b/tests/packagedcode/data/cocoapods/assemble/multiple-podspec/Differentiator.podspec @@ -0,0 +1,23 @@ +Pod::Spec.new do |s| + s.name = "Differentiator" + s.version = "4.0.1" + s.summary = "Diff algorithm for UITableView and UICollectionView." + s.description = <<-DESC + Diff algorithm for UITableView and UICollectionView. + RxDataSources is powered by Differentiator. + DESC + + s.homepage = "https://github.com/RxSwiftCommunity/RxDataSources" + s.license = 'MIT' + s.author = { "Krunoslav Zaher" => "krunoslav.zaher@gmail.com" } + s.source = { :git => "https://github.com/RxSwiftCommunity/RxDataSources.git", :tag => s.version.to_s } + + s.requires_arc = true + s.swift_version = '5.0' + + s.source_files = 'Sources/Differentiator/**/*.swift' + + s.ios.deployment_target = '8.0' + s.tvos.deployment_target = '9.0' + +end diff --git a/tests/packagedcode/data/cocoapods/assemble/multiple-podspec/Podfile b/tests/packagedcode/data/cocoapods/assemble/multiple-podspec/Podfile new file mode 100644 index 00000000000..357a2f1c0b2 --- /dev/null +++ b/tests/packagedcode/data/cocoapods/assemble/multiple-podspec/Podfile @@ -0,0 +1,14 @@ +require_relative '../node_modules/react-native/scripts/react_native_pods' +require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules' + +platform :ios, '10.0' + +target 'TypeScriptAppNativeBase' do + config = use_native_modules! + + pod 'RNVectorIcons', :path => '../node_modules/react-native-vector-icons' + + pod 'react-native-pager-view', :path => '../node_modules/react-native-pager-view' + + pod 'RNFastImage', :path => '../node_modules/react-native-fast-image' +end \ No newline at end of file diff --git a/tests/packagedcode/data/cocoapods/assemble/multiple-podspec/Podfile.lock b/tests/packagedcode/data/cocoapods/assemble/multiple-podspec/Podfile.lock new file mode 100644 index 00000000000..f21bc3913b2 --- /dev/null +++ b/tests/packagedcode/data/cocoapods/assemble/multiple-podspec/Podfile.lock @@ -0,0 +1,26 @@ +PODS: + - boost (1.76.0) + - Yoga (1.14.0) + - YogaKit (1.18.1): + - Yoga (~> 1.14) + +DEPENDENCIES: + - boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`) + - Yoga (from `../node_modules/react-native/ReactCommon/yoga`) + +SPEC REPOS: + trunk: + - YogaKit + +EXTERNAL SOURCES: + boost: + :podspec: "../node_modules/react-native/third-party-podspecs/boost.podspec" + +SPEC CHECKSUMS: + boost: a7c83b31436843459a1961bfd74b96033dc77234 + + YogaKit: f782866e155069a2cca2517aafea43200b01fd5a + +PODFILE CHECKSUM: 54cfb5be72a5a243eacfea1f4dd52754968dbdac + +COCOAPODS: 1.11.2 diff --git a/tests/packagedcode/data/cocoapods/assemble/multiple-podspec/RxDataSources.podspec b/tests/packagedcode/data/cocoapods/assemble/multiple-podspec/RxDataSources.podspec new file mode 100644 index 00000000000..2115ffc8ab8 --- /dev/null +++ b/tests/packagedcode/data/cocoapods/assemble/multiple-podspec/RxDataSources.podspec @@ -0,0 +1,47 @@ +Pod::Spec.new do |s| + s.name = "RxDataSources" + s.version = "4.0.1" + s.summary = "This is a collection of reactive data sources for UITableView and UICollectionView." + s.description = <<-DESC +This is a collection of reactive data sources for UITableView and UICollectionView. + +It enables creation of animated data sources for table an collection views in just a couple of lines of code. + +```swift +let data: Observable
= ... + +let dataSource = RxTableViewSectionedAnimatedDataSource
() +dataSource.cellFactory = { (tv, ip, i) in + let cell = tv.dequeueReusableCell(withIdentifier: "Cell") ?? UITableViewCell(style:.Default, reuseIdentifier: "Cell") + cell.textLabel!.text = "\(i)" + return cell +} + +// animated +data + .bind(to: animatedTableView.rx.items(dataSource: dataSource)) + .disposed(by: disposeBag) + +// normal reload +data + .bind(to: tableView.rx.items(dataSource: dataSource)) + .disposed(by: disposeBag) +``` + DESC + s.homepage = "https://github.com/RxSwiftCommunity/RxDataSources" + s.license = 'MIT' + s.author = { "Krunoslav Zaher" => "krunoslav.zaher@gmail.com" } + s.source = { :git => "https://github.com/RxSwiftCommunity/RxDataSources.git", :tag => s.version.to_s } + + s.requires_arc = true + s.swift_version = '5.0' + + s.source_files = 'Sources/RxDataSources/**/*.swift' + s.dependency 'Differentiator', '~> 4.0' + s.dependency 'RxSwift', '~> 5.0' + s.dependency 'RxCocoa', '~> 5.0' + + s.ios.deployment_target = '8.0' + s.tvos.deployment_target = '9.0' + +end diff --git a/tests/packagedcode/data/cocoapods/assemble/single-podspec-expected.json b/tests/packagedcode/data/cocoapods/assemble/single-podspec-expected.json new file mode 100644 index 00000000000..9997864e1ec --- /dev/null +++ b/tests/packagedcode/data/cocoapods/assemble/single-podspec-expected.json @@ -0,0 +1,295 @@ +{ + "headers": [ + { + "tool_name": "scancode-toolkit", + "options": { + "input": "", + "--json": "", + "--package": true + }, + "notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.", + "output_format_version": "2.0.0", + "message": null, + "errors": [], + "warnings": [], + "extra_data": { + "spdx_license_list_version": "3.16", + "files_count": 3 + } + } + ], + "dependencies": [ + { + "purl": "pkg:pods/boost@1.76.0", + "extracted_requirement": "1.76.0", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": {}, + "dependency_uid": "pkg:pods/boost@1.76.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:pods/RxDataSources@4.0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "single-podspec/Podfile.lock", + "datasource_id": "cocoapods_podfile_lock" + }, + { + "purl": "pkg:pods/Yoga@1.14.0", + "extracted_requirement": "1.14.0", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": {}, + "dependency_uid": "pkg:pods/Yoga@1.14.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:pods/RxDataSources@4.0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "single-podspec/Podfile.lock", + "datasource_id": "cocoapods_podfile_lock" + }, + { + "purl": "pkg:pods/YogaKit@1.18.1", + "extracted_requirement": "1.18.1", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": {}, + "dependency_uid": "pkg:pods/YogaKit@1.18.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:pods/RxDataSources@4.0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "single-podspec/Podfile.lock", + "datasource_id": "cocoapods_podfile_lock" + } + ], + "packages": [ + { + "type": "pods", + "namespace": null, + "name": "RxDataSources", + "version": "4.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": "This is a collection of reactive data sources for UITableView and UICollectionView.\n\nIt enables creation of animated data sources for table an collection views in just a couple of lines of code.\n\n```swift\nlet data: Observable
= ...\n\nlet dataSource = RxTableViewSectionedAnimatedDataSource
()\ndataSource.cellFactory = { (tv, ip, i) in\n let cell = tv.dequeueReusableCell(withIdentifier: \"Cell\") ?? UITableViewCell(style:.Default, reuseIdentifier: \"Cell\")\n cell.textLabel!.text = \"\\(i)\"\n return cell\n}\n\n// animated\ndata\n .bind(to: animatedTableView.rx.items(dataSource: dataSource))\n .disposed(by: disposeBag)\n\n// normal reload\ndata\n .bind(to: tableView.rx.items(dataSource: dataSource))\n .disposed(by: disposeBag)\n```", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Krunoslav Zaher ", + "email": "krunoslav.zaher@gmail.com", + "url": null + } + ], + "keywords": [], + "homepage_url": "https://github.com/RxSwiftCommunity/RxDataSources", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": "https://github.com/RxSwiftCommunity/RxDataSources/issues/", + "code_view_url": "https://github.com/RxSwiftCommunity/RxDataSources/tree/4.0.1", + "vcs_url": "https://github.com/RxSwiftCommunity/RxDataSources.git", + "copyright": null, + "license_expression": "mit", + "declared_license": "MIT", + "notice_text": null, + "source_packages": [], + "extra_data": {}, + "repository_homepage_url": "https://cocoapods.org/pods/RxDataSources", + "repository_download_url": "https://github.com/RxSwiftCommunity/RxDataSources/archive/refs/tags/4.0.1.zip", + "api_data_url": "https://raw.githubusercontent.com/CocoaPods/Specs/blob/master/Specs/9/a/4/RxDataSources/4.0.1/RxDataSources.podspec.json", + "package_uid": "pkg:pods/RxDataSources@4.0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "single-podspec/RxDataSources.podspec" + ], + "datasource_ids": [ + "cocoapods_podspec" + ], + "purl": "pkg:pods/RxDataSources@4.0.1" + } + ], + "files": [ + { + "path": "single-podspec", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "single-podspec/Podfile", + "type": "file", + "package_data": [ + { + "type": "pods", + "namespace": null, + "name": null, + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": "", + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": "", + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile", + "purl": null + } + ], + "for_packages": [ + "pkg:pods/RxDataSources@4.0.1?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "single-podspec/Podfile.lock", + "type": "file", + "package_data": [ + { + "type": "pods", + "namespace": null, + "name": null, + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:pods/boost@1.76.0", + "extracted_requirement": "1.76.0", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": {} + }, + { + "purl": "pkg:pods/Yoga@1.14.0", + "extracted_requirement": "1.14.0", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": {} + }, + { + "purl": "pkg:pods/YogaKit@1.18.1", + "extracted_requirement": "1.18.1", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": {} + } + ], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock", + "purl": null + } + ], + "for_packages": [ + "pkg:pods/RxDataSources@4.0.1?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "single-podspec/RxDataSources.podspec", + "type": "file", + "package_data": [ + { + "type": "pods", + "namespace": null, + "name": "RxDataSources", + "version": "4.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": "This is a collection of reactive data sources for UITableView and UICollectionView.\n\nIt enables creation of animated data sources for table an collection views in just a couple of lines of code.\n\n```swift\nlet data: Observable
= ...\n\nlet dataSource = RxTableViewSectionedAnimatedDataSource
()\ndataSource.cellFactory = { (tv, ip, i) in\n let cell = tv.dequeueReusableCell(withIdentifier: \"Cell\") ?? UITableViewCell(style:.Default, reuseIdentifier: \"Cell\")\n cell.textLabel!.text = \"\\(i)\"\n return cell\n}\n\n// animated\ndata\n .bind(to: animatedTableView.rx.items(dataSource: dataSource))\n .disposed(by: disposeBag)\n\n// normal reload\ndata\n .bind(to: tableView.rx.items(dataSource: dataSource))\n .disposed(by: disposeBag)\n```", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Krunoslav Zaher ", + "email": "krunoslav.zaher@gmail.com", + "url": null + } + ], + "keywords": [], + "homepage_url": "https://github.com/RxSwiftCommunity/RxDataSources", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": "https://github.com/RxSwiftCommunity/RxDataSources/issues/", + "code_view_url": "https://github.com/RxSwiftCommunity/RxDataSources/tree/4.0.1", + "vcs_url": "https://github.com/RxSwiftCommunity/RxDataSources.git", + "copyright": null, + "license_expression": "mit", + "declared_license": "MIT", + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://cocoapods.org/pods/RxDataSources", + "repository_download_url": "https://github.com/RxSwiftCommunity/RxDataSources/archive/refs/tags/4.0.1.zip", + "api_data_url": "https://raw.githubusercontent.com/CocoaPods/Specs/blob/master/Specs/9/a/4/RxDataSources/4.0.1/RxDataSources.podspec.json", + "datasource_id": "cocoapods_podspec", + "purl": "pkg:pods/RxDataSources@4.0.1" + } + ], + "for_packages": [ + "pkg:pods/RxDataSources@4.0.1?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + } + ] +} \ No newline at end of file diff --git a/tests/packagedcode/data/cocoapods/assemble/single-podspec/Podfile b/tests/packagedcode/data/cocoapods/assemble/single-podspec/Podfile new file mode 100644 index 00000000000..357a2f1c0b2 --- /dev/null +++ b/tests/packagedcode/data/cocoapods/assemble/single-podspec/Podfile @@ -0,0 +1,14 @@ +require_relative '../node_modules/react-native/scripts/react_native_pods' +require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules' + +platform :ios, '10.0' + +target 'TypeScriptAppNativeBase' do + config = use_native_modules! + + pod 'RNVectorIcons', :path => '../node_modules/react-native-vector-icons' + + pod 'react-native-pager-view', :path => '../node_modules/react-native-pager-view' + + pod 'RNFastImage', :path => '../node_modules/react-native-fast-image' +end \ No newline at end of file diff --git a/tests/packagedcode/data/cocoapods/assemble/single-podspec/Podfile.lock b/tests/packagedcode/data/cocoapods/assemble/single-podspec/Podfile.lock new file mode 100644 index 00000000000..f21bc3913b2 --- /dev/null +++ b/tests/packagedcode/data/cocoapods/assemble/single-podspec/Podfile.lock @@ -0,0 +1,26 @@ +PODS: + - boost (1.76.0) + - Yoga (1.14.0) + - YogaKit (1.18.1): + - Yoga (~> 1.14) + +DEPENDENCIES: + - boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`) + - Yoga (from `../node_modules/react-native/ReactCommon/yoga`) + +SPEC REPOS: + trunk: + - YogaKit + +EXTERNAL SOURCES: + boost: + :podspec: "../node_modules/react-native/third-party-podspecs/boost.podspec" + +SPEC CHECKSUMS: + boost: a7c83b31436843459a1961bfd74b96033dc77234 + + YogaKit: f782866e155069a2cca2517aafea43200b01fd5a + +PODFILE CHECKSUM: 54cfb5be72a5a243eacfea1f4dd52754968dbdac + +COCOAPODS: 1.11.2 diff --git a/tests/packagedcode/data/cocoapods/assemble/single-podspec/RxDataSources.podspec b/tests/packagedcode/data/cocoapods/assemble/single-podspec/RxDataSources.podspec new file mode 100644 index 00000000000..2115ffc8ab8 --- /dev/null +++ b/tests/packagedcode/data/cocoapods/assemble/single-podspec/RxDataSources.podspec @@ -0,0 +1,47 @@ +Pod::Spec.new do |s| + s.name = "RxDataSources" + s.version = "4.0.1" + s.summary = "This is a collection of reactive data sources for UITableView and UICollectionView." + s.description = <<-DESC +This is a collection of reactive data sources for UITableView and UICollectionView. + +It enables creation of animated data sources for table an collection views in just a couple of lines of code. + +```swift +let data: Observable
= ... + +let dataSource = RxTableViewSectionedAnimatedDataSource
() +dataSource.cellFactory = { (tv, ip, i) in + let cell = tv.dequeueReusableCell(withIdentifier: "Cell") ?? UITableViewCell(style:.Default, reuseIdentifier: "Cell") + cell.textLabel!.text = "\(i)" + return cell +} + +// animated +data + .bind(to: animatedTableView.rx.items(dataSource: dataSource)) + .disposed(by: disposeBag) + +// normal reload +data + .bind(to: tableView.rx.items(dataSource: dataSource)) + .disposed(by: disposeBag) +``` + DESC + s.homepage = "https://github.com/RxSwiftCommunity/RxDataSources" + s.license = 'MIT' + s.author = { "Krunoslav Zaher" => "krunoslav.zaher@gmail.com" } + s.source = { :git => "https://github.com/RxSwiftCommunity/RxDataSources.git", :tag => s.version.to_s } + + s.requires_arc = true + s.swift_version = '5.0' + + s.source_files = 'Sources/RxDataSources/**/*.swift' + s.dependency 'Differentiator', '~> 4.0' + s.dependency 'RxSwift', '~> 5.0' + s.dependency 'RxCocoa', '~> 5.0' + + s.ios.deployment_target = '8.0' + s.tvos.deployment_target = '9.0' + +end diff --git a/tests/packagedcode/data/cocoapods/assemble/solo/Podfile b/tests/packagedcode/data/cocoapods/assemble/solo/Podfile new file mode 100644 index 00000000000..357a2f1c0b2 --- /dev/null +++ b/tests/packagedcode/data/cocoapods/assemble/solo/Podfile @@ -0,0 +1,14 @@ +require_relative '../node_modules/react-native/scripts/react_native_pods' +require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules' + +platform :ios, '10.0' + +target 'TypeScriptAppNativeBase' do + config = use_native_modules! + + pod 'RNVectorIcons', :path => '../node_modules/react-native-vector-icons' + + pod 'react-native-pager-view', :path => '../node_modules/react-native-pager-view' + + pod 'RNFastImage', :path => '../node_modules/react-native-fast-image' +end \ No newline at end of file diff --git a/tests/packagedcode/data/cocoapods/assemble/solo/Podfile-expected.json b/tests/packagedcode/data/cocoapods/assemble/solo/Podfile-expected.json new file mode 100644 index 00000000000..c42808e1c00 --- /dev/null +++ b/tests/packagedcode/data/cocoapods/assemble/solo/Podfile-expected.json @@ -0,0 +1,69 @@ +{ + "headers": [ + { + "tool_name": "scancode-toolkit", + "options": { + "input": "", + "--json": "", + "--package": true + }, + "notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.", + "output_format_version": "2.0.0", + "message": null, + "errors": [], + "warnings": [], + "extra_data": { + "spdx_license_list_version": "3.16", + "files_count": 1 + } + } + ], + "dependencies": [], + "packages": [], + "files": [ + { + "path": "Podfile", + "type": "file", + "package_data": [ + { + "type": "pods", + "namespace": null, + "name": null, + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": "", + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": "", + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile", + "purl": null + } + ], + "for_packages": [], + "scan_errors": [] + } + ] +} \ No newline at end of file diff --git a/tests/packagedcode/data/cocoapods/assemble/solo/Podfile.lock b/tests/packagedcode/data/cocoapods/assemble/solo/Podfile.lock new file mode 100644 index 00000000000..f21bc3913b2 --- /dev/null +++ b/tests/packagedcode/data/cocoapods/assemble/solo/Podfile.lock @@ -0,0 +1,26 @@ +PODS: + - boost (1.76.0) + - Yoga (1.14.0) + - YogaKit (1.18.1): + - Yoga (~> 1.14) + +DEPENDENCIES: + - boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`) + - Yoga (from `../node_modules/react-native/ReactCommon/yoga`) + +SPEC REPOS: + trunk: + - YogaKit + +EXTERNAL SOURCES: + boost: + :podspec: "../node_modules/react-native/third-party-podspecs/boost.podspec" + +SPEC CHECKSUMS: + boost: a7c83b31436843459a1961bfd74b96033dc77234 + + YogaKit: f782866e155069a2cca2517aafea43200b01fd5a + +PODFILE CHECKSUM: 54cfb5be72a5a243eacfea1f4dd52754968dbdac + +COCOAPODS: 1.11.2 diff --git a/tests/packagedcode/data/cocoapods/assemble/solo/Podfile.lock-expected.json b/tests/packagedcode/data/cocoapods/assemble/solo/Podfile.lock-expected.json new file mode 100644 index 00000000000..8397b296d5c --- /dev/null +++ b/tests/packagedcode/data/cocoapods/assemble/solo/Podfile.lock-expected.json @@ -0,0 +1,137 @@ +{ + "headers": [ + { + "tool_name": "scancode-toolkit", + "options": { + "input": "", + "--json": "", + "--package": true + }, + "notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.", + "output_format_version": "2.0.0", + "message": null, + "errors": [], + "warnings": [], + "extra_data": { + "spdx_license_list_version": "3.16", + "files_count": 1 + } + } + ], + "dependencies": [ + { + "purl": "pkg:pods/boost@1.76.0", + "extracted_requirement": "1.76.0", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": {}, + "dependency_uid": "pkg:pods/boost@1.76.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "Podfile.lock", + "datasource_id": "cocoapods_podfile_lock" + }, + { + "purl": "pkg:pods/Yoga@1.14.0", + "extracted_requirement": "1.14.0", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": {}, + "dependency_uid": "pkg:pods/Yoga@1.14.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "Podfile.lock", + "datasource_id": "cocoapods_podfile_lock" + }, + { + "purl": "pkg:pods/YogaKit@1.18.1", + "extracted_requirement": "1.18.1", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": {}, + "dependency_uid": "pkg:pods/YogaKit@1.18.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "Podfile.lock", + "datasource_id": "cocoapods_podfile_lock" + } + ], + "packages": [], + "files": [ + { + "path": "Podfile.lock", + "type": "file", + "package_data": [ + { + "type": "pods", + "namespace": null, + "name": null, + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:pods/boost@1.76.0", + "extracted_requirement": "1.76.0", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": {} + }, + { + "purl": "pkg:pods/Yoga@1.14.0", + "extracted_requirement": "1.14.0", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": {} + }, + { + "purl": "pkg:pods/YogaKit@1.18.1", + "extracted_requirement": "1.18.1", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": {} + } + ], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock", + "purl": null + } + ], + "for_packages": [], + "scan_errors": [] + } + ] +} \ No newline at end of file diff --git a/tests/packagedcode/data/cocoapods/assemble/solo/RxDataSources.podspec b/tests/packagedcode/data/cocoapods/assemble/solo/RxDataSources.podspec new file mode 100644 index 00000000000..2115ffc8ab8 --- /dev/null +++ b/tests/packagedcode/data/cocoapods/assemble/solo/RxDataSources.podspec @@ -0,0 +1,47 @@ +Pod::Spec.new do |s| + s.name = "RxDataSources" + s.version = "4.0.1" + s.summary = "This is a collection of reactive data sources for UITableView and UICollectionView." + s.description = <<-DESC +This is a collection of reactive data sources for UITableView and UICollectionView. + +It enables creation of animated data sources for table an collection views in just a couple of lines of code. + +```swift +let data: Observable
= ... + +let dataSource = RxTableViewSectionedAnimatedDataSource
() +dataSource.cellFactory = { (tv, ip, i) in + let cell = tv.dequeueReusableCell(withIdentifier: "Cell") ?? UITableViewCell(style:.Default, reuseIdentifier: "Cell") + cell.textLabel!.text = "\(i)" + return cell +} + +// animated +data + .bind(to: animatedTableView.rx.items(dataSource: dataSource)) + .disposed(by: disposeBag) + +// normal reload +data + .bind(to: tableView.rx.items(dataSource: dataSource)) + .disposed(by: disposeBag) +``` + DESC + s.homepage = "https://github.com/RxSwiftCommunity/RxDataSources" + s.license = 'MIT' + s.author = { "Krunoslav Zaher" => "krunoslav.zaher@gmail.com" } + s.source = { :git => "https://github.com/RxSwiftCommunity/RxDataSources.git", :tag => s.version.to_s } + + s.requires_arc = true + s.swift_version = '5.0' + + s.source_files = 'Sources/RxDataSources/**/*.swift' + s.dependency 'Differentiator', '~> 4.0' + s.dependency 'RxSwift', '~> 5.0' + s.dependency 'RxCocoa', '~> 5.0' + + s.ios.deployment_target = '8.0' + s.tvos.deployment_target = '9.0' + +end diff --git a/tests/packagedcode/data/cocoapods/assemble/solo/RxDataSources.podspec-expected.json b/tests/packagedcode/data/cocoapods/assemble/solo/RxDataSources.podspec-expected.json new file mode 100644 index 00000000000..5bc826b40b2 --- /dev/null +++ b/tests/packagedcode/data/cocoapods/assemble/solo/RxDataSources.podspec-expected.json @@ -0,0 +1,128 @@ +{ + "headers": [ + { + "tool_name": "scancode-toolkit", + "options": { + "input": "", + "--json": "", + "--package": true + }, + "notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.", + "output_format_version": "2.0.0", + "message": null, + "errors": [], + "warnings": [], + "extra_data": { + "spdx_license_list_version": "3.16", + "files_count": 1 + } + } + ], + "dependencies": [], + "packages": [ + { + "type": "pods", + "namespace": null, + "name": "RxDataSources", + "version": "4.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": "This is a collection of reactive data sources for UITableView and UICollectionView.\n\nIt enables creation of animated data sources for table an collection views in just a couple of lines of code.\n\n```swift\nlet data: Observable
= ...\n\nlet dataSource = RxTableViewSectionedAnimatedDataSource
()\ndataSource.cellFactory = { (tv, ip, i) in\n let cell = tv.dequeueReusableCell(withIdentifier: \"Cell\") ?? UITableViewCell(style:.Default, reuseIdentifier: \"Cell\")\n cell.textLabel!.text = \"\\(i)\"\n return cell\n}\n\n// animated\ndata\n .bind(to: animatedTableView.rx.items(dataSource: dataSource))\n .disposed(by: disposeBag)\n\n// normal reload\ndata\n .bind(to: tableView.rx.items(dataSource: dataSource))\n .disposed(by: disposeBag)\n```", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Krunoslav Zaher ", + "email": "krunoslav.zaher@gmail.com", + "url": null + } + ], + "keywords": [], + "homepage_url": "https://github.com/RxSwiftCommunity/RxDataSources", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": "https://github.com/RxSwiftCommunity/RxDataSources/issues/", + "code_view_url": "https://github.com/RxSwiftCommunity/RxDataSources/tree/4.0.1", + "vcs_url": "https://github.com/RxSwiftCommunity/RxDataSources.git", + "copyright": null, + "license_expression": "mit", + "declared_license": "MIT", + "notice_text": null, + "source_packages": [], + "extra_data": {}, + "repository_homepage_url": "https://cocoapods.org/pods/RxDataSources", + "repository_download_url": "https://github.com/RxSwiftCommunity/RxDataSources/archive/refs/tags/4.0.1.zip", + "api_data_url": "https://raw.githubusercontent.com/CocoaPods/Specs/blob/master/Specs/9/a/4/RxDataSources/4.0.1/RxDataSources.podspec.json", + "package_uid": "pkg:pods/RxDataSources@4.0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "RxDataSources.podspec" + ], + "datasource_ids": [ + "cocoapods_podspec" + ], + "purl": "pkg:pods/RxDataSources@4.0.1" + } + ], + "files": [ + { + "path": "RxDataSources.podspec", + "type": "file", + "package_data": [ + { + "type": "pods", + "namespace": null, + "name": "RxDataSources", + "version": "4.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": "This is a collection of reactive data sources for UITableView and UICollectionView.\n\nIt enables creation of animated data sources for table an collection views in just a couple of lines of code.\n\n```swift\nlet data: Observable
= ...\n\nlet dataSource = RxTableViewSectionedAnimatedDataSource
()\ndataSource.cellFactory = { (tv, ip, i) in\n let cell = tv.dequeueReusableCell(withIdentifier: \"Cell\") ?? UITableViewCell(style:.Default, reuseIdentifier: \"Cell\")\n cell.textLabel!.text = \"\\(i)\"\n return cell\n}\n\n// animated\ndata\n .bind(to: animatedTableView.rx.items(dataSource: dataSource))\n .disposed(by: disposeBag)\n\n// normal reload\ndata\n .bind(to: tableView.rx.items(dataSource: dataSource))\n .disposed(by: disposeBag)\n```", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Krunoslav Zaher ", + "email": "krunoslav.zaher@gmail.com", + "url": null + } + ], + "keywords": [], + "homepage_url": "https://github.com/RxSwiftCommunity/RxDataSources", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": "https://github.com/RxSwiftCommunity/RxDataSources/issues/", + "code_view_url": "https://github.com/RxSwiftCommunity/RxDataSources/tree/4.0.1", + "vcs_url": "https://github.com/RxSwiftCommunity/RxDataSources.git", + "copyright": null, + "license_expression": "mit", + "declared_license": "MIT", + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://cocoapods.org/pods/RxDataSources", + "repository_download_url": "https://github.com/RxSwiftCommunity/RxDataSources/archive/refs/tags/4.0.1.zip", + "api_data_url": "https://raw.githubusercontent.com/CocoaPods/Specs/blob/master/Specs/9/a/4/RxDataSources/4.0.1/RxDataSources.podspec.json", + "datasource_id": "cocoapods_podspec", + "purl": "pkg:pods/RxDataSources@4.0.1" + } + ], + "for_packages": [ + "pkg:pods/RxDataSources@4.0.1?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + } + ] +} \ No newline at end of file diff --git a/tests/packagedcode/data/cocoapods/podfle.lock/braintree_ios_Podfile.lock b/tests/packagedcode/data/cocoapods/podfile.lock/braintree_ios_Podfile.lock similarity index 100% rename from tests/packagedcode/data/cocoapods/podfle.lock/braintree_ios_Podfile.lock rename to tests/packagedcode/data/cocoapods/podfile.lock/braintree_ios_Podfile.lock diff --git a/tests/packagedcode/data/cocoapods/podfle.lock/braintree_ios_Podfile.lock.expected.json b/tests/packagedcode/data/cocoapods/podfile.lock/braintree_ios_Podfile.lock.expected.json similarity index 88% rename from tests/packagedcode/data/cocoapods/podfle.lock/braintree_ios_Podfile.lock.expected.json rename to tests/packagedcode/data/cocoapods/podfile.lock/braintree_ios_Podfile.lock.expected.json index b94d98544b8..80932289b8b 100644 --- a/tests/packagedcode/data/cocoapods/podfle.lock/braintree_ios_Podfile.lock.expected.json +++ b/tests/packagedcode/data/cocoapods/podfile.lock/braintree_ios_Podfile.lock.expected.json @@ -25,14 +25,14 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { "purl": "pkg:pods/Expecta@1.0.6", "extracted_requirement": "1.0.6", - "scope": "requires-dev", + "scope": "requires", "is_runtime": false, "is_optional": true, "is_resolved": true, @@ -41,7 +41,7 @@ { "purl": "pkg:pods/InAppSettingsKit@3.1.4", "extracted_requirement": "3.1.4", - "scope": "requires-dev", + "scope": "requires", "is_runtime": false, "is_optional": true, "is_resolved": true, @@ -50,7 +50,7 @@ { "purl": "pkg:pods/OCMock@3.7.1", "extracted_requirement": "3.7.1", - "scope": "requires-dev", + "scope": "requires", "is_runtime": false, "is_optional": true, "is_resolved": true, @@ -59,7 +59,7 @@ { "purl": "pkg:pods/OHHTTPStubs@9.0.0", "extracted_requirement": "9.0.0", - "scope": "requires-dev", + "scope": "requires", "is_runtime": false, "is_optional": true, "is_resolved": true, @@ -68,7 +68,7 @@ { "purl": "pkg:pods/OHHTTPStubs/Core@9.0.0", "extracted_requirement": "9.0.0", - "scope": "requires-dev", + "scope": "requires", "is_runtime": false, "is_optional": true, "is_resolved": true, @@ -77,7 +77,7 @@ { "purl": "pkg:pods/OHHTTPStubs/Default@9.0.0", "extracted_requirement": "9.0.0", - "scope": "requires-dev", + "scope": "requires", "is_runtime": false, "is_optional": true, "is_resolved": true, @@ -86,7 +86,7 @@ { "purl": "pkg:pods/OHHTTPStubs/JSON@9.0.0", "extracted_requirement": "9.0.0", - "scope": "requires-dev", + "scope": "requires", "is_runtime": false, "is_optional": true, "is_resolved": true, @@ -95,7 +95,7 @@ { "purl": "pkg:pods/OHHTTPStubs/NSURLSession@9.0.0", "extracted_requirement": "9.0.0", - "scope": "requires-dev", + "scope": "requires", "is_runtime": false, "is_optional": true, "is_resolved": true, @@ -104,7 +104,7 @@ { "purl": "pkg:pods/OHHTTPStubs/OHPathHelpers@9.0.0", "extracted_requirement": "9.0.0", - "scope": "requires-dev", + "scope": "requires", "is_runtime": false, "is_optional": true, "is_resolved": true, @@ -113,7 +113,7 @@ { "purl": "pkg:pods/Specta@1.0.7", "extracted_requirement": "1.0.7", - "scope": "requires-dev", + "scope": "requires", "is_runtime": false, "is_optional": true, "is_resolved": true, @@ -122,16 +122,17 @@ { "purl": "pkg:pods/xcbeautify@0.8.1", "extracted_requirement": "0.8.1", - "scope": "requires-dev", + "scope": "requires", "is_runtime": false, "is_optional": true, "is_resolved": true, "resolved_package": {} } ], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock", + "purl": null } ] \ No newline at end of file diff --git a/tests/packagedcode/data/cocoapods/podfile/Podfile b/tests/packagedcode/data/cocoapods/podfile/Podfile new file mode 100644 index 00000000000..c58fa041a11 --- /dev/null +++ b/tests/packagedcode/data/cocoapods/podfile/Podfile @@ -0,0 +1,35 @@ +require_relative '../node_modules/react-native/scripts/react_native_pods' +require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules' + +platform :ios, '10.0' + +target 'TypeScriptAppNativeBase' do + config = use_native_modules! + + use_react_native!( + :path => config[:reactNativePath], + # to enable hermes on iOS, change `false` to `true` and then install pods + :hermes_enabled => false + ) + + pod 'RNVectorIcons', :path => '../node_modules/react-native-vector-icons' + + pod 'react-native-pager-view', :path => '../node_modules/react-native-pager-view' + + pod 'RNFastImage', :path => '../node_modules/react-native-fast-image' + + target 'TypeScriptAppNativeBaseTests' do + inherit! :complete + # Pods for testing + end + + # Enables Flipper. + # + # Note that if you have use_frameworks! enabled, Flipper will not work and + # you should disable the next line. + use_flipper!() + + post_install do |installer| + react_native_post_install(installer) + end +end \ No newline at end of file diff --git a/tests/packagedcode/data/cocoapods/podfile/origin.ABOUT b/tests/packagedcode/data/cocoapods/podfile/origin.ABOUT new file mode 100644 index 00000000000..10a493b2d08 --- /dev/null +++ b/tests/packagedcode/data/cocoapods/podfile/origin.ABOUT @@ -0,0 +1,2 @@ +date: 2022-04-01 +download_url: https://raw.githubusercontent.com/Leo2018Wu/BeYoung/f9a1fdd70d073956263829c62804ad4a596ec76d/ios/Podfile diff --git a/tests/packagedcode/data/cocoapods/podspec.json/FirebaseAnalytics.podspec.json.expected.json b/tests/packagedcode/data/cocoapods/podspec.json/FirebaseAnalytics.podspec.json.expected.json index 23533fdb4c9..76d4ab58c3a 100644 --- a/tests/packagedcode/data/cocoapods/podspec.json/FirebaseAnalytics.podspec.json.expected.json +++ b/tests/packagedcode/data/cocoapods/podspec.json/FirebaseAnalytics.podspec.json.expected.json @@ -28,20 +28,19 @@ "sha512": null, "bug_tracking_url": null, "code_view_url": null, - "vcs_url": { - "http": "https://dl.google.com/firebase/ios/analytics/19ed8dba01e90708/FirebaseAnalytics-8.1.1.tar.gz" - }, + "vcs_url": null, "copyright": null, "license_expression": "unknown", "declared_license": "Copyright 2021 Google Copyright", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:pods/FirebaseAnalytics@8.1.1", "repository_homepage_url": "https://cocoapods.org/pods/FirebaseAnalytics", "repository_download_url": "https://firebase.google.com/features/analytics//archive/8.1.1.zip", - "api_data_url": "https://raw.githubusercontent.com/CocoaPods/Specs/blob/master/Specs/e/2/1/FirebaseAnalytics/8.1.1/FirebaseAnalytics.podspec.json" + "api_data_url": "https://raw.githubusercontent.com/CocoaPods/Specs/blob/master/Specs/e/2/1/FirebaseAnalytics/8.1.1/FirebaseAnalytics.podspec.json", + "datasource_id": "cocoapods_podspec_json", + "purl": "pkg:pods/FirebaseAnalytics@8.1.1" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/cocoapods/podspec/BadgeHub.podspec.expected.json b/tests/packagedcode/data/cocoapods/podspec/BadgeHub.podspec.expected.json index 756916e73f1..c6ca7213439 100644 --- a/tests/packagedcode/data/cocoapods/podspec/BadgeHub.podspec.expected.json +++ b/tests/packagedcode/data/cocoapods/podspec/BadgeHub.podspec.expected.json @@ -7,20 +7,13 @@ "qualifiers": {}, "subpath": null, "primary_language": "Objective-C", - "description": "A way to quickly add a notification bedge icon to any view.\n Make any UIView a full fledged animated notification center. It is a way to quickly add a notification badge icon to a UIView. It make very easy to add badge to any view.", + "description": "A way to quickly add a notification bedge icon to any view.\nMake any UIView a full fledged animated notification center. It is a way to quickly add a notification badge icon to a UIView. It make very easy to add badge to any view.", "release_date": null, "parties": [ { "type": "person", "role": "author", - "name": "jogendra", - "email": null, - "url": null - }, - { - "type": "person", - "role": "email", - "name": null, + "name": "jogendra ", "email": "imjog24@gmail.com", "url": null } @@ -33,22 +26,21 @@ "md5": null, "sha256": null, "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, + "bug_tracking_url": "https://github.com/jogendra/BadgeHub/issues/", + "code_view_url": "https://github.com/jogendra/BadgeHub/tree/0.1.1", "vcs_url": "https://github.com/jogendra/BadgeHub.git", "copyright": null, "license_expression": "mit AND unknown", - "declared_license": ":type => MIT, :file => LICENSE", + "declared_license": ":type = MIT, :file = LICENSE", "notice_text": null, - "contains_source_code": null, - "source_packages": [ - "https://github.com/jogendra/BadgeHub.git" - ], + "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:pods/BadgeHub@0.1.1", "repository_homepage_url": "https://cocoapods.org/pods/BadgeHub", - "repository_download_url": "https://github.com/jogendra/BadgeHub/archive/0.1.1.zip", - "api_data_url": null + "repository_download_url": "https://github.com/jogendra/BadgeHub/archive/refs/tags/0.1.1.zip", + "api_data_url": "https://raw.githubusercontent.com/CocoaPods/Specs/blob/master/Specs/7/b/b/BadgeHub/0.1.1/BadgeHub.podspec.json", + "datasource_id": "cocoapods_podspec", + "purl": "pkg:pods/BadgeHub@0.1.1" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/cocoapods/podspec/LoadingShimmer.podspec.expected.json b/tests/packagedcode/data/cocoapods/podspec/LoadingShimmer.podspec.expected.json index 1673b69e5c1..c9ad61ec04c 100644 --- a/tests/packagedcode/data/cocoapods/podspec/LoadingShimmer.podspec.expected.json +++ b/tests/packagedcode/data/cocoapods/podspec/LoadingShimmer.podspec.expected.json @@ -7,20 +7,13 @@ "qualifiers": {}, "subpath": null, "primary_language": "Objective-C", - "description": "An easy way to add a shimmering effect to any view with just one line of code. It is useful as an unobtrusive loading indicator.\n An easy way to add a shimmering effect to any view with just single line of code. It is useful as an unobtrusive loading indicator. This is a network request waiting for the framework, the framework to increase the dynamic effect, convenient and fast, a line of code can be used.", + "description": "An easy way to add a shimmering effect to any view with just one line of code. It is useful as an unobtrusive loading indicator.\nAn easy way to add a shimmering effect to any view with just single line of code. It is useful as an unobtrusive loading indicator. This is a network request waiting for the framework, the framework to increase the dynamic effect, convenient and fast, a line of code can be used.", "release_date": null, "parties": [ { "type": "person", "role": "author", - "name": "jogendra", - "email": null, - "url": null - }, - { - "type": "person", - "role": "email", - "name": null, + "name": "jogendra ", "email": "jogendrafx@gmail.com", "url": null } @@ -33,22 +26,21 @@ "md5": null, "sha256": null, "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, + "bug_tracking_url": "https://github.com/jogendra/LoadingShimmer/issues/", + "code_view_url": "https://github.com/jogendra/LoadingShimmer/tree/1.0.3", "vcs_url": "https://github.com/jogendra/LoadingShimmer.git", "copyright": null, "license_expression": "mit AND unknown", - "declared_license": ":type => MIT, :file => LICENSE", + "declared_license": ":type = MIT, :file = LICENSE", "notice_text": null, - "contains_source_code": null, - "source_packages": [ - "https://github.com/jogendra/LoadingShimmer.git" - ], + "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:pods/LoadingShimmer@1.0.3", "repository_homepage_url": "https://cocoapods.org/pods/LoadingShimmer", - "repository_download_url": "https://github.com/jogendra/LoadingShimmer/archive/1.0.3.zip", - "api_data_url": null + "repository_download_url": "https://github.com/jogendra/LoadingShimmer/archive/refs/tags/1.0.3.zip", + "api_data_url": "https://raw.githubusercontent.com/CocoaPods/Specs/blob/master/Specs/7/6/8/LoadingShimmer/1.0.3/LoadingShimmer.podspec.json", + "datasource_id": "cocoapods_podspec", + "purl": "pkg:pods/LoadingShimmer@1.0.3" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/cocoapods/podspec/PayTabsSDK.podspec b/tests/packagedcode/data/cocoapods/podspec/PayTabsSDK.podspec new file mode 100644 index 00000000000..6dad99a3918 --- /dev/null +++ b/tests/packagedcode/data/cocoapods/podspec/PayTabsSDK.podspec @@ -0,0 +1,15 @@ +Pod::Spec.new do |s| + s.name = "PayTabsSDK" + s.version = "6.1.18" + s.summary = "PayTabs is an online payment gateway." + s.ios.deployment_target = '10.0' + s.homepage = "https://github.com/paytabscom/paytabs-ios-library-sample/tree/master" + s.license = "MIT" + s.author = { "PayTabs" => "m.adly@paytabs.com" } + s.source = { :git => 'https://github.com/paytabscom/paytabs-ios-library-sample.git', :tag => s.version.to_s } + s.frameworks = 'Foundation', 'CoreTelephony', 'WebKit', 'PassKit', 'SystemConfiguration', 'CoreLocation' + s.swift_version = '5.0' + s.ios.vendored_frameworks = 'sources/PaymentSDK.xcframework' + s.xcconfig = { 'FRAMEWORK_SEARCH_PATHS' => "'${PODS_ROOT}'/sources/**", 'SWIFT_INCLUDE_PATHS' => "'${PODS_TARGET_SRCROOT}'/sources/**"} + +end diff --git a/tests/packagedcode/data/cocoapods/podspec/PayTabsSDK.podspec.expected.json b/tests/packagedcode/data/cocoapods/podspec/PayTabsSDK.podspec.expected.json new file mode 100644 index 00000000000..606b26813ae --- /dev/null +++ b/tests/packagedcode/data/cocoapods/podspec/PayTabsSDK.podspec.expected.json @@ -0,0 +1,46 @@ +[ + { + "type": "pods", + "namespace": null, + "name": "PayTabsSDK", + "version": "6.1.18", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": "PayTabs is an online payment gateway.", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "PayTabs ", + "email": "m.adly@paytabs.com", + "url": null + } + ], + "keywords": [], + "homepage_url": "https://github.com/paytabscom/paytabs-ios-library-sample/tree/master", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": "https://github.com/paytabscom/paytabs-ios-library-sample/issues/", + "code_view_url": "https://github.com/paytabscom/paytabs-ios-library-sample/tree/6.1.18", + "vcs_url": "https://github.com/paytabscom/paytabs-ios-library-sample.git", + "copyright": null, + "license_expression": "mit", + "declared_license": "MIT", + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://cocoapods.org/pods/PayTabsSDK", + "repository_download_url": "https://github.com/paytabscom/paytabs-ios-library-sample/archive/refs/tags/6.1.18.zip", + "api_data_url": "https://raw.githubusercontent.com/CocoaPods/Specs/blob/master/Specs/b/5/f/PayTabsSDK/6.1.18/PayTabsSDK.podspec.json", + "datasource_id": "cocoapods_podspec", + "purl": "pkg:pods/PayTabsSDK@6.1.18" + } +] \ No newline at end of file diff --git a/tests/packagedcode/data/cocoapods/podspec/RxDataSources.podspec b/tests/packagedcode/data/cocoapods/podspec/RxDataSources.podspec new file mode 100644 index 00000000000..2115ffc8ab8 --- /dev/null +++ b/tests/packagedcode/data/cocoapods/podspec/RxDataSources.podspec @@ -0,0 +1,47 @@ +Pod::Spec.new do |s| + s.name = "RxDataSources" + s.version = "4.0.1" + s.summary = "This is a collection of reactive data sources for UITableView and UICollectionView." + s.description = <<-DESC +This is a collection of reactive data sources for UITableView and UICollectionView. + +It enables creation of animated data sources for table an collection views in just a couple of lines of code. + +```swift +let data: Observable
= ... + +let dataSource = RxTableViewSectionedAnimatedDataSource
() +dataSource.cellFactory = { (tv, ip, i) in + let cell = tv.dequeueReusableCell(withIdentifier: "Cell") ?? UITableViewCell(style:.Default, reuseIdentifier: "Cell") + cell.textLabel!.text = "\(i)" + return cell +} + +// animated +data + .bind(to: animatedTableView.rx.items(dataSource: dataSource)) + .disposed(by: disposeBag) + +// normal reload +data + .bind(to: tableView.rx.items(dataSource: dataSource)) + .disposed(by: disposeBag) +``` + DESC + s.homepage = "https://github.com/RxSwiftCommunity/RxDataSources" + s.license = 'MIT' + s.author = { "Krunoslav Zaher" => "krunoslav.zaher@gmail.com" } + s.source = { :git => "https://github.com/RxSwiftCommunity/RxDataSources.git", :tag => s.version.to_s } + + s.requires_arc = true + s.swift_version = '5.0' + + s.source_files = 'Sources/RxDataSources/**/*.swift' + s.dependency 'Differentiator', '~> 4.0' + s.dependency 'RxSwift', '~> 5.0' + s.dependency 'RxCocoa', '~> 5.0' + + s.ios.deployment_target = '8.0' + s.tvos.deployment_target = '9.0' + +end diff --git a/tests/packagedcode/data/cocoapods/podspec/RxDataSources.podspec.expected.json b/tests/packagedcode/data/cocoapods/podspec/RxDataSources.podspec.expected.json new file mode 100644 index 00000000000..09ba749d667 --- /dev/null +++ b/tests/packagedcode/data/cocoapods/podspec/RxDataSources.podspec.expected.json @@ -0,0 +1,46 @@ +[ + { + "type": "pods", + "namespace": null, + "name": "RxDataSources", + "version": "4.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": "This is a collection of reactive data sources for UITableView and UICollectionView.\n\nIt enables creation of animated data sources for table an collection views in just a couple of lines of code.\n\n```swift\nlet data: Observable
= ...\n\nlet dataSource = RxTableViewSectionedAnimatedDataSource
()\ndataSource.cellFactory = { (tv, ip, i) in\n let cell = tv.dequeueReusableCell(withIdentifier: \"Cell\") ?? UITableViewCell(style:.Default, reuseIdentifier: \"Cell\")\n cell.textLabel!.text = \"\\(i)\"\n return cell\n}\n\n// animated\ndata\n .bind(to: animatedTableView.rx.items(dataSource: dataSource))\n .disposed(by: disposeBag)\n\n// normal reload\ndata\n .bind(to: tableView.rx.items(dataSource: dataSource))\n .disposed(by: disposeBag)\n```", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Krunoslav Zaher ", + "email": "krunoslav.zaher@gmail.com", + "url": null + } + ], + "keywords": [], + "homepage_url": "https://github.com/RxSwiftCommunity/RxDataSources", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": "https://github.com/RxSwiftCommunity/RxDataSources/issues/", + "code_view_url": "https://github.com/RxSwiftCommunity/RxDataSources/tree/4.0.1", + "vcs_url": "https://github.com/RxSwiftCommunity/RxDataSources.git", + "copyright": null, + "license_expression": "mit", + "declared_license": "MIT", + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://cocoapods.org/pods/RxDataSources", + "repository_download_url": "https://github.com/RxSwiftCommunity/RxDataSources/archive/refs/tags/4.0.1.zip", + "api_data_url": "https://raw.githubusercontent.com/CocoaPods/Specs/blob/master/Specs/9/a/4/RxDataSources/4.0.1/RxDataSources.podspec.json", + "datasource_id": "cocoapods_podspec", + "purl": "pkg:pods/RxDataSources@4.0.1" + } +] \ No newline at end of file diff --git a/tests/packagedcode/data/cocoapods/podspec/Starscream.podspec.expected.json b/tests/packagedcode/data/cocoapods/podspec/Starscream.podspec.expected.json index 4aa31e6575e..3009b84faec 100644 --- a/tests/packagedcode/data/cocoapods/podspec/Starscream.podspec.expected.json +++ b/tests/packagedcode/data/cocoapods/podspec/Starscream.podspec.expected.json @@ -13,28 +13,14 @@ { "type": "person", "role": "author", - "name": "Dalton Cherry", - "email": null, - "url": null - }, - { - "type": "person", - "role": "author", - "name": "Austin Cherry", - "email": null, - "url": null - }, - { - "type": "person", - "role": "email", - "name": null, + "name": "Dalton Cherry ", "email": "http://daltoniam.com", "url": null }, { "type": "person", - "role": "email", - "name": null, + "role": "author", + "name": " Austin Cherry ", "email": "http://austincherry.me", "url": null } @@ -47,22 +33,21 @@ "md5": null, "sha256": null, "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, + "bug_tracking_url": "https://github.com/daltoniam/Starscream/issues/", + "code_view_url": "https://github.com/daltoniam/Starscream/tree/4.0.3", "vcs_url": "https://github.com/daltoniam/Starscream.git", "copyright": null, "license_expression": "apache-2.0", "declared_license": "Apache License, Version 2.0", "notice_text": null, - "contains_source_code": null, - "source_packages": [ - "https://github.com/daltoniam/Starscream.git" - ], + "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:pods/Starscream@4.0.3", "repository_homepage_url": "https://cocoapods.org/pods/Starscream", - "repository_download_url": "https://github.com/daltoniam/Starscream/archive/4.0.3.zip", - "api_data_url": null + "repository_download_url": "https://github.com/daltoniam/Starscream/archive/refs/tags/4.0.3.zip", + "api_data_url": "https://raw.githubusercontent.com/CocoaPods/Specs/blob/master/Specs/2/2/f/Starscream/4.0.3/Starscream.podspec.json", + "datasource_id": "cocoapods_podspec", + "purl": "pkg:pods/Starscream@4.0.3" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/cocoapods/podspec/SwiftLib.podspec.expected.json b/tests/packagedcode/data/cocoapods/podspec/SwiftLib.podspec.expected.json index a6404cbfc41..9397bdf2a34 100644 --- a/tests/packagedcode/data/cocoapods/podspec/SwiftLib.podspec.expected.json +++ b/tests/packagedcode/data/cocoapods/podspec/SwiftLib.podspec.expected.json @@ -7,20 +7,13 @@ "qualifiers": {}, "subpath": null, "primary_language": "Objective-C", - "description": "A CocoaPods library written in Swift\n This CocoaPods library helps you perform calculation.", + "description": "A CocoaPods library written in Swift\nThis CocoaPods library helps you perform calculation.", "release_date": null, "parties": [ { "type": "person", "role": "author", - "name": "alizainprasla", - "email": null, - "url": null - }, - { - "type": "person", - "role": "email", - "name": null, + "name": "alizainprasla ", "email": "alizainprasla@gmail.com", "url": null } @@ -33,22 +26,21 @@ "md5": null, "sha256": null, "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, + "bug_tracking_url": "https://github.com/alizainprasla/swiftlib/issues/", + "code_view_url": "https://github.com/alizainprasla/swiftlib/tree/0.0.1", "vcs_url": "https://github.com/alizainprasla/swiftlib.git", "copyright": null, "license_expression": "mit AND unknown", - "declared_license": ":type => MIT, :file => LICENSE", + "declared_license": ":type = MIT, :file = LICENSE", "notice_text": null, - "contains_source_code": null, - "source_packages": [ - "https://github.com/alizainprasla/swiftlib.git" - ], + "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:pods/SwiftLib@0.0.1", "repository_homepage_url": "https://cocoapods.org/pods/SwiftLib", - "repository_download_url": "https://github.com/alizainprasla/swiftlib/archive/0.0.1.zip", - "api_data_url": null + "repository_download_url": "https://github.com/alizainprasla/swiftlib/archive/refs/tags/0.0.1.zip", + "api_data_url": "https://raw.githubusercontent.com/CocoaPods/Specs/blob/master/Specs/c/9/1/SwiftLib/0.0.1/SwiftLib.podspec.json", + "datasource_id": "cocoapods_podspec", + "purl": "pkg:pods/SwiftLib@0.0.1" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/cocoapods/podspec/flutter_paytabs_bridge.podspec b/tests/packagedcode/data/cocoapods/podspec/flutter_paytabs_bridge.podspec new file mode 100644 index 00000000000..452c41df59d --- /dev/null +++ b/tests/packagedcode/data/cocoapods/podspec/flutter_paytabs_bridge.podspec @@ -0,0 +1,24 @@ +# +# To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html. +# Run pod lib lint flutter_paytabs_bridge.podspec' to validate before publishing. +# +Pod::Spec.new do |s| + s.name = 'flutter_paytabs_bridge' + s.version = '2.2.5' + s.summary = 'A new flutter plugin project.' + s.description = <<-DESC +A new flutter plugin project. + DESC + s.homepage = 'http://example.com' + s.license = { :file => '../LICENSE' } + s.author = { 'Your Company' => 'email@example.com' } + s.source = { :path => '.' } + s.source_files = 'Classes/**/*' + s.dependency 'Flutter' + s.platform = :ios, '10.0' + s.dependency "PayTabsSDK", "6.1.18" + s.static_framework = true + # Flutter.framework does not contain a i386 slice. + s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES', 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'i386' } + s.swift_version = '5.0' +end diff --git a/tests/packagedcode/data/cocoapods/podspec/flutter_paytabs_bridge.podspec.expected.json b/tests/packagedcode/data/cocoapods/podspec/flutter_paytabs_bridge.podspec.expected.json new file mode 100644 index 00000000000..1b131e24698 --- /dev/null +++ b/tests/packagedcode/data/cocoapods/podspec/flutter_paytabs_bridge.podspec.expected.json @@ -0,0 +1,46 @@ +[ + { + "type": "pods", + "namespace": null, + "name": "flutter_paytabs_bridge", + "version": "2.2.5", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": "A new flutter plugin project.", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Your Company ", + "email": "email@example.com", + "url": null + } + ], + "keywords": [], + "homepage_url": "http://example.com", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": "./issues/", + "code_view_url": "./tree/2.2.5", + "vcs_url": ".", + "copyright": null, + "license_expression": "unknown", + "declared_license": ":file = ../LICENSE", + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://cocoapods.org/pods/flutter_paytabs_bridge", + "repository_download_url": "./archive/refs/tags/2.2.5.zip", + "api_data_url": "https://raw.githubusercontent.com/CocoaPods/Specs/blob/master/Specs/5/1/4/flutter_paytabs_bridge/2.2.5/flutter_paytabs_bridge.podspec.json", + "datasource_id": "cocoapods_podspec", + "purl": "pkg:pods/flutter_paytabs_bridge@2.2.5" + } +] \ No newline at end of file diff --git a/tests/packagedcode/data/cocoapods/podspec/kmmWebSocket.podspec b/tests/packagedcode/data/cocoapods/podspec/kmmWebSocket.podspec new file mode 100644 index 00000000000..5486b64dd2e --- /dev/null +++ b/tests/packagedcode/data/cocoapods/podspec/kmmWebSocket.podspec @@ -0,0 +1,16 @@ +Pod::Spec.new do |spec| + spec.name = 'kmmWebSocket' + spec.version = '1.0.1' + spec.homepage = 'https://www.cocoapods.org' + spec.source = { :git => "Not Published", :tag => "#{spec.version}" } + spec.authors = 'Ahmed Ibrahim' + spec.license = { :type => "MIT", :file => "LICENSE" } + spec.summary = 'A Kotlin Multiplatform WebSocket Library' + spec.static_framework = true + spec.vendored_frameworks = "kmmWebSocket.xcframework" + spec.libraries = "c++" + spec.module_name = "#{spec.name}_umbrella" + spec.ios.deployment_target = '11.0' +end + +# path -> build/XCFrameworks/release \ No newline at end of file diff --git a/tests/packagedcode/data/cocoapods/podspec/kmmWebSocket.podspec.expected.json b/tests/packagedcode/data/cocoapods/podspec/kmmWebSocket.podspec.expected.json new file mode 100644 index 00000000000..930c5be1eac --- /dev/null +++ b/tests/packagedcode/data/cocoapods/podspec/kmmWebSocket.podspec.expected.json @@ -0,0 +1,46 @@ +[ + { + "type": "pods", + "namespace": null, + "name": "kmmWebSocket", + "version": "1.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": "A Kotlin Multiplatform WebSocket Library", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Ahmed Ibrahim", + "email": null, + "url": null + } + ], + "keywords": [], + "homepage_url": "https://www.cocoapods.org", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": "Not Published/issues/", + "code_view_url": "Not Published/tree/1.0.1", + "vcs_url": "Not Published", + "copyright": null, + "license_expression": "mit AND unknown", + "declared_license": ":type = MIT, :file = LICENSE", + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://cocoapods.org/pods/kmmWebSocket", + "repository_download_url": "Not Published/archive/refs/tags/1.0.1.zip", + "api_data_url": "https://raw.githubusercontent.com/CocoaPods/Specs/blob/master/Specs/2/3/c/kmmWebSocket/1.0.1/kmmWebSocket.podspec.json", + "datasource_id": "cocoapods_podspec", + "purl": "pkg:pods/kmmWebSocket@1.0.1" + } +] \ No newline at end of file diff --git a/tests/packagedcode/data/cocoapods/podspec/nanopb.podspec.expected.json b/tests/packagedcode/data/cocoapods/podspec/nanopb.podspec.expected.json index e12d726cbaf..dd512dbb66f 100644 --- a/tests/packagedcode/data/cocoapods/podspec/nanopb.podspec.expected.json +++ b/tests/packagedcode/data/cocoapods/podspec/nanopb.podspec.expected.json @@ -7,20 +7,13 @@ "qualifiers": {}, "subpath": null, "primary_language": "Objective-C", - "description": "Protocol buffers with small code size.\n Nanopb is a small code-size Protocol Buffers implementation Nanopb is a small code-size Protocol Buffers implementation in ansi C. It is especially suitable for use in Nanopb is a small code-size Protocol Buffers implementation Nanopb is a small code-size Protocol Buffers implementation in ansi C. It is especially suitable for use in microcontrollers, but fits any memory restricted system.", + "description": "Protocol buffers with small code size.\nNanopb is a small code-size Protocol Buffers implementation\n in ansi C. It is especially suitable for use in\n microcontrollers, but fits any memory restricted system.", "release_date": null, "parties": [ { "type": "person", "role": "author", - "name": "Petteri Aimonen", - "email": null, - "url": null - }, - { - "type": "person", - "role": "email", - "name": null, + "name": "Petteri Aimonen ", "email": "jpa@nanopb.mail.kapsi.fi", "url": null } @@ -33,22 +26,21 @@ "md5": null, "sha256": null, "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, + "bug_tracking_url": "https://github.com/nanopb/nanopb/issues/", + "code_view_url": "https://github.com/nanopb/nanopb/tree/1.30905.0", "vcs_url": "https://github.com/nanopb/nanopb.git", "copyright": null, "license_expression": "unknown", - "declared_license": ":type => zlib, :file => LICENSE.txt", + "declared_license": ":type = zlib, :file = LICENSE.txt", "notice_text": null, - "contains_source_code": null, - "source_packages": [ - "https://github.com/nanopb/nanopb.git" - ], + "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:pods/nanopb@1.30905.0", "repository_homepage_url": "https://cocoapods.org/pods/nanopb", - "repository_download_url": "https://github.com/nanopb/nanopb/archive/1.30905.0.zip", - "api_data_url": null + "repository_download_url": "https://github.com/nanopb/nanopb/archive/refs/tags/1.30905.0.zip", + "api_data_url": "https://raw.githubusercontent.com/CocoaPods/Specs/blob/master/Specs/6/1/e/nanopb/1.30905.0/nanopb.podspec.json", + "datasource_id": "cocoapods_podspec", + "purl": "pkg:pods/nanopb@1.30905.0" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/conda/meta.yaml.expected.json b/tests/packagedcode/data/conda/meta.yaml.expected.json index ac502093af1..9965e1fb620 100644 --- a/tests/packagedcode/data/conda/meta.yaml.expected.json +++ b/tests/packagedcode/data/conda/meta.yaml.expected.json @@ -25,14 +25,32 @@ "license_expression": "unknown", "declared_license": "Apache Software", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ + { + "purl": "pkg:conda/pip", + "extracted_requirement": "", + "scope": "host", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:conda/python", + "extracted_requirement": "", + "scope": "host", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, { "purl": "pkg:conda/mccortex", "extracted_requirement": "==1.0", - "scope": "dependencies", + "scope": "run", "is_runtime": true, "is_optional": false, "is_resolved": false, @@ -41,7 +59,7 @@ { "purl": "pkg:conda/nextflow", "extracted_requirement": "==19.01.0", - "scope": "dependencies", + "scope": "run", "is_runtime": true, "is_optional": false, "is_resolved": false, @@ -50,7 +68,7 @@ { "purl": "pkg:conda/cortexpy", "extracted_requirement": "==0.45.7", - "scope": "dependencies", + "scope": "run", "is_runtime": true, "is_optional": false, "is_resolved": false, @@ -59,7 +77,7 @@ { "purl": "pkg:conda/kallisto", "extracted_requirement": "==0.44.0", - "scope": "dependencies", + "scope": "run", "is_runtime": true, "is_optional": false, "is_resolved": false, @@ -67,8 +85,8 @@ }, { "purl": "pkg:conda/bwa", - "extracted_requirement": null, - "scope": "dependencies", + "extracted_requirement": "", + "scope": "run", "is_runtime": true, "is_optional": false, "is_resolved": false, @@ -76,8 +94,8 @@ }, { "purl": "pkg:conda/pandas", - "extracted_requirement": null, - "scope": "dependencies", + "extracted_requirement": "", + "scope": "run", "is_runtime": true, "is_optional": false, "is_resolved": false, @@ -85,8 +103,8 @@ }, { "purl": "pkg:conda/progressbar2", - "extracted_requirement": null, - "scope": "dependencies", + "extracted_requirement": "", + "scope": "run", "is_runtime": true, "is_optional": false, "is_resolved": false, @@ -95,16 +113,17 @@ { "purl": "pkg:conda/python", "extracted_requirement": ">=3.6", - "scope": "dependencies", + "scope": "run", "is_runtime": true, "is_optional": false, "is_resolved": false, "resolved_package": {} } ], - "purl": "pkg:conda/abeona@0.45.0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "conda_meta_yaml", + "purl": "pkg:conda/abeona@0.45.0" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/cran/codetools/package.json.expected b/tests/packagedcode/data/cran/codetools/package.json.expected index 056e0c74361..58ba4deeecd 100644 --- a/tests/packagedcode/data/cran/codetools/package.json.expected +++ b/tests/packagedcode/data/cran/codetools/package.json.expected @@ -40,8 +40,8 @@ "license_expression": "gpl-1.0-plus", "declared_license": "GPL", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -54,9 +54,10 @@ "resolved_package": {} } ], - "purl": "pkg:cran/codetools@0.2-16", "repository_homepage_url": "https://cran.r-project.org/package=codetools", "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "cran_description", + "purl": "pkg:cran/codetools@0.2-16" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/cran/geometry/package.json.expected b/tests/packagedcode/data/cran/geometry/package.json.expected index f9b72afc06a..1d323775e7f 100644 --- a/tests/packagedcode/data/cran/geometry/package.json.expected +++ b/tests/packagedcode/data/cran/geometry/package.json.expected @@ -82,8 +82,8 @@ "license_expression": "gpl-3.0", "declared_license": "GPL (>= 3)", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -96,9 +96,10 @@ "resolved_package": {} } ], - "purl": "pkg:cran/geometry@0.4.2", "repository_homepage_url": "https://cran.r-project.org/package=geometry", "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "cran_description", + "purl": "pkg:cran/geometry@0.4.2" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/debian/basic-rootfs-expected.json b/tests/packagedcode/data/debian/basic-rootfs-expected.json index 46878f8cb91..27487b89244 100644 --- a/tests/packagedcode/data/debian/basic-rootfs-expected.json +++ b/tests/packagedcode/data/debian/basic-rootfs-expected.json @@ -1,164 +1,636 @@ -[ - { - "type": "deb", - "namespace": "debian", - "name": "libncurses5", - "version": "6.1-1ubuntu1.18.04", - "qualifiers": { - "arch": "amd64" - }, - "subpath": null, - "primary_language": null, - "description": "shared libraries for terminal handling\n The ncurses library routines are a terminal-independent method of\n updating character screens with reasonable optimization.\n .\n This package contains the shared libraries necessary to run programs\n compiled with ncurses.", - "release_date": null, - "parties": [ - { - "type": null, - "role": "maintainer", - "name": "Ubuntu Developers ", - "email": null, - "url": null - } - ], - "keywords": [ - "libs" - ], - "homepage_url": "https://invisible-island.net/ncurses/", - "download_url": null, - "size": "283", - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [ - "pkg:deb/debian/ncurses" - ], - "installed_files": [ - { - "path": "/lib/x86_64-linux-gnu/libncurses.so.5.9", - "size": 0, - "sha1": null, - "md5": "23c8a935fa4fc7290d55cc5df3ef56b1", - "sha256": null, - "sha512": null +{ + "headers": [ + { + "tool_name": "scancode-toolkit", + "options": { + "input": "", + "--json-pp": "", + "--package": true }, - { - "path": "/usr/lib/x86_64-linux-gnu/libform.so.5.9", - "size": 0, - "sha1": null, - "md5": "98b70f283324e89db5787a018a54adf4", - "sha256": null, - "sha512": null + "notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.", + "output_format_version": "2.0.0", + "message": null, + "errors": [], + "warnings": [], + "extra_data": { + "spdx_license_list_version": "3.16", + "files_count": 5 + } + } + ], + "dependencies": [], + "packages": [ + { + "type": "deb", + "namespace": null, + "name": "libncurses5", + "version": "6.1-1ubuntu1.18.04", + "qualifiers": { + "architecture": "amd64" }, - { - "path": "/usr/lib/x86_64-linux-gnu/libmenu.so.5.9", - "size": 0, - "sha1": null, - "md5": "e3a0f5154928da2da234920343ac14b2", - "sha256": null, - "sha512": null + "subpath": null, + "primary_language": null, + "description": "shared libraries for terminal handling\n The ncurses library routines are a terminal-independent method of\n updating character screens with reasonable optimization.\n .\n This package contains the shared libraries necessary to run programs\n compiled with ncurses.", + "release_date": null, + "parties": [ + { + "type": null, + "role": "maintainer", + "name": "Ubuntu Developers ", + "email": null, + "url": null + } + ], + "keywords": [ + "libs" + ], + "homepage_url": "https://invisible-island.net/ncurses/", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [ + "pkg:deb/ncurses" + ], + "extra_data": { + "multi_arch": "same", + "missing_file_references": [ + { + "path": "lib/x86_64-linux-gnu/libncurses.so.5.9", + "size": 0, + "sha1": null, + "md5": "23c8a935fa4fc7290d55cc5df3ef56b1", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/lib/x86_64-linux-gnu/libform.so.5.9", + "size": 0, + "sha1": null, + "md5": "98b70f283324e89db5787a018a54adf4", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/lib/x86_64-linux-gnu/libmenu.so.5.9", + "size": 0, + "sha1": null, + "md5": "e3a0f5154928da2da234920343ac14b2", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/lib/x86_64-linux-gnu/libpanel.so.5.9", + "size": 0, + "sha1": null, + "md5": "a927e7d76753bb85f5a784b653d337d2", + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] }, - { - "path": "/usr/lib/x86_64-linux-gnu/libpanel.so.5.9", - "size": 0, - "sha1": null, - "md5": "a927e7d76753bb85f5a784b653d337d2", - "sha256": null, - "sha512": null - } - ], - "extra_data": { - "multi_arch": "same" - }, - "dependencies": [], - "purl": "pkg:deb/debian/libncurses5@6.1-1ubuntu1.18.04?arch=amd64", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null - }, - { - "type": "deb", - "namespace": "debian", - "name": "libndp0", - "version": "1.4-2ubuntu0.16.04.1", - "qualifiers": { - "arch": "amd64" + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "package_uid": "pkg:deb/libncurses5@6.1-1ubuntu1.18.04?architecture=amd64&uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "basic-rootfs.tar.gz/var/lib/dpkg/status" + ], + "datasource_ids": [ + "debian_installed_status_db" + ], + "purl": "pkg:deb/libncurses5@6.1-1ubuntu1.18.04?architecture=amd64" }, - "subpath": null, - "primary_language": null, - "description": "Library for Neighbor Discovery Protocol\n libndp is a library for the IPv6 Neighbor Discovery Protocol (NDP). It\n contains functions for building and parsing NDP messages, and provides\n a high-level interface for sending and receiving NDP messages on a\n network interface.", - "release_date": null, - "parties": [ - { - "type": null, - "role": "maintainer", - "name": "Ubuntu Developers ", - "email": null, - "url": null - } - ], - "keywords": [ - "libs" - ], - "homepage_url": "http://libndp.org", - "download_url": null, - "size": "41", - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [ - "pkg:deb/debian/libndp" - ], - "installed_files": [ - { - "path": "/usr/lib/x86_64-linux-gnu/libndp.so.0.0.2", - "size": 0, - "sha1": null, - "md5": "5d26434efecc08048ab72357af804ef7", - "sha256": null, - "sha512": null + { + "type": "deb", + "namespace": null, + "name": "libndp0", + "version": "1.4-2ubuntu0.16.04.1", + "qualifiers": { + "architecture": "amd64" }, - { - "path": "/usr/share/doc/libndp0/changelog.Debian.gz", - "size": 0, - "sha1": null, - "md5": "60d977e0c9a9fb07c1f8ae3090ea6f48", - "sha256": null, - "sha512": null + "subpath": null, + "primary_language": null, + "description": "Library for Neighbor Discovery Protocol\n libndp is a library for the IPv6 Neighbor Discovery Protocol (NDP). It\n contains functions for building and parsing NDP messages, and provides\n a high-level interface for sending and receiving NDP messages on a\n network interface.", + "release_date": null, + "parties": [ + { + "type": null, + "role": "maintainer", + "name": "Ubuntu Developers ", + "email": null, + "url": null + } + ], + "keywords": [ + "libs" + ], + "homepage_url": "http://libndp.org", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [ + "pkg:deb/libndp" + ], + "extra_data": { + "multi_arch": "same", + "missing_file_references": [ + { + "path": "usr/lib/x86_64-linux-gnu/libndp.so.0.0.2", + "size": 0, + "sha1": null, + "md5": "5d26434efecc08048ab72357af804ef7", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/doc/libndp0/changelog.Debian.gz", + "size": 0, + "sha1": null, + "md5": "60d977e0c9a9fb07c1f8ae3090ea6f48", + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] }, - { - "path": "/usr/share/doc/libndp0/copyright", - "size": 0, - "sha1": null, - "md5": "3f4ecdd67d5b9427cdc66847bdd11cf4", - "sha256": null, - "sha512": null - } - ], - "extra_data": { - "multi_arch": "same" + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "package_uid": "pkg:deb/libndp0@1.4-2ubuntu0.16.04.1?architecture=amd64&uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "basic-rootfs.tar.gz/var/lib/dpkg/status" + ], + "datasource_ids": [ + "debian_installed_status_db" + ], + "purl": "pkg:deb/libndp0@1.4-2ubuntu0.16.04.1?architecture=amd64" + } + ], + "files": [ + { + "path": "basic-rootfs.tar.gz", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "basic-rootfs.tar.gz/usr", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "basic-rootfs.tar.gz/usr/share", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "basic-rootfs.tar.gz/usr/share/doc", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "basic-rootfs.tar.gz/usr/share/doc/libncurses5", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "basic-rootfs.tar.gz/usr/share/doc/libncurses5/copyright", + "type": "file", + "package_data": [ + { + "type": "deb", + "namespace": null, + "name": "libncurses5", + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": null, + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": "Copyright (c) 1998-2016 Free Software Foundation, Inc.\nCopyright (c) 2001 by Pradeep Padala\nCopyright (c) 1994 X Consortium\nCopyright (c) 1980, 1991, 1992, 1993 The Regents of the University of California\nCopyright 1996-2007 by Thomas E. Dickey", + "license_expression": "x11-fsf AND x11-xconsortium AND bsd-new AND x11-fsf", + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "debian_copyright_in_package", + "purl": "pkg:deb/libncurses5" + } + ], + "for_packages": [ + "pkg:deb/libncurses5@6.1-1ubuntu1.18.04?architecture=amd64&uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "basic-rootfs.tar.gz/usr/share/doc/libndp0", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "basic-rootfs.tar.gz/usr/share/doc/libndp0/copyright", + "type": "file", + "package_data": [ + { + "type": "deb", + "namespace": null, + "name": "libndp0", + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": null, + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": "Copyright 2013 Jiri Pirko \nCopyright 2014 Andrew Ayer ", + "license_expression": "(lgpl-2.1-plus AND lgpl-2.1-plus AND lgpl-2.1) AND (lgpl-2.1-plus AND lgpl-2.1-plus AND lgpl-2.1)", + "declared_license": [ + "LGPL-2.1+", + "LGPL-2.1+", + "LGPL-2.1+" + ], + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "debian_copyright_in_package", + "purl": "pkg:deb/libndp0" + } + ], + "for_packages": [ + "pkg:deb/libndp0@1.4-2ubuntu0.16.04.1?architecture=amd64&uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:deb/libndp0@1.4-2ubuntu0.16.04.1?architecture=amd64&uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "basic-rootfs.tar.gz/var", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "basic-rootfs.tar.gz/var/lib", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "basic-rootfs.tar.gz/var/lib/dpkg", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "basic-rootfs.tar.gz/var/lib/dpkg/info", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "basic-rootfs.tar.gz/var/lib/dpkg/info/libncurses5:amd64.md5sums", + "type": "file", + "package_data": [ + { + "type": "deb", + "namespace": null, + "name": "libncurses5", + "version": null, + "qualifiers": { + "arch": "amd64" + }, + "subpath": null, + "primary_language": null, + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + { + "path": "lib/x86_64-linux-gnu/libncurses.so.5.9", + "size": 0, + "sha1": null, + "md5": "23c8a935fa4fc7290d55cc5df3ef56b1", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/lib/x86_64-linux-gnu/libform.so.5.9", + "size": 0, + "sha1": null, + "md5": "98b70f283324e89db5787a018a54adf4", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/lib/x86_64-linux-gnu/libmenu.so.5.9", + "size": 0, + "sha1": null, + "md5": "e3a0f5154928da2da234920343ac14b2", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/lib/x86_64-linux-gnu/libpanel.so.5.9", + "size": 0, + "sha1": null, + "md5": "a927e7d76753bb85f5a784b653d337d2", + "sha256": null, + "sha512": null, + "extra_data": {} + } + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "debian_installed_md5sums", + "purl": "pkg:deb/libncurses5?arch=amd64" + } + ], + "for_packages": [ + "pkg:deb/libncurses5@6.1-1ubuntu1.18.04?architecture=amd64&uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "basic-rootfs.tar.gz/var/lib/dpkg/info/libndp0:amd64.md5sums", + "type": "file", + "package_data": [ + { + "type": "deb", + "namespace": null, + "name": "libndp0", + "version": null, + "qualifiers": { + "arch": "amd64" + }, + "subpath": null, + "primary_language": null, + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + { + "path": "usr/lib/x86_64-linux-gnu/libndp.so.0.0.2", + "size": 0, + "sha1": null, + "md5": "5d26434efecc08048ab72357af804ef7", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/doc/libndp0/changelog.Debian.gz", + "size": 0, + "sha1": null, + "md5": "60d977e0c9a9fb07c1f8ae3090ea6f48", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/doc/libndp0/copyright", + "size": 0, + "sha1": null, + "md5": "3f4ecdd67d5b9427cdc66847bdd11cf4", + "sha256": null, + "sha512": null, + "extra_data": {} + } + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "debian_installed_md5sums", + "purl": "pkg:deb/libndp0?arch=amd64" + } + ], + "for_packages": [ + "pkg:deb/libndp0@1.4-2ubuntu0.16.04.1?architecture=amd64&uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] }, - "dependencies": [], - "purl": "pkg:deb/debian/libndp0@1.4-2ubuntu0.16.04.1?arch=amd64", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null - } -] \ No newline at end of file + { + "path": "basic-rootfs.tar.gz/var/lib/dpkg/status", + "type": "file", + "package_data": [ + { + "type": "deb", + "namespace": null, + "name": "libncurses5", + "version": "6.1-1ubuntu1.18.04", + "qualifiers": { + "architecture": "amd64" + }, + "subpath": null, + "primary_language": null, + "description": "shared libraries for terminal handling\n The ncurses library routines are a terminal-independent method of\n updating character screens with reasonable optimization.\n .\n This package contains the shared libraries necessary to run programs\n compiled with ncurses.", + "release_date": null, + "parties": [ + { + "type": null, + "role": "maintainer", + "name": "Ubuntu Developers ", + "email": null, + "url": null + } + ], + "keywords": [ + "libs" + ], + "homepage_url": "https://invisible-island.net/ncurses/", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [ + "pkg:deb/ncurses" + ], + "file_references": [], + "extra_data": { + "multi_arch": "same" + }, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "debian_installed_status_db", + "purl": "pkg:deb/libncurses5@6.1-1ubuntu1.18.04?architecture=amd64" + }, + { + "type": "deb", + "namespace": null, + "name": "libndp0", + "version": "1.4-2ubuntu0.16.04.1", + "qualifiers": { + "architecture": "amd64" + }, + "subpath": null, + "primary_language": null, + "description": "Library for Neighbor Discovery Protocol\n libndp is a library for the IPv6 Neighbor Discovery Protocol (NDP). It\n contains functions for building and parsing NDP messages, and provides\n a high-level interface for sending and receiving NDP messages on a\n network interface.", + "release_date": null, + "parties": [ + { + "type": null, + "role": "maintainer", + "name": "Ubuntu Developers ", + "email": null, + "url": null + } + ], + "keywords": [ + "libs" + ], + "homepage_url": "http://libndp.org", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [ + "pkg:deb/libndp" + ], + "file_references": [], + "extra_data": { + "multi_arch": "same" + }, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "debian_installed_status_db", + "purl": "pkg:deb/libndp0@1.4-2ubuntu0.16.04.1?architecture=amd64" + } + ], + "for_packages": [], + "scan_errors": [] + } + ] +} \ No newline at end of file diff --git a/tests/packagedcode/data/debian/basic-rootfs-with-licenses-expected.json b/tests/packagedcode/data/debian/basic-rootfs-with-licenses-expected.json index f115c25831d..5812e4ec5b7 100644 --- a/tests/packagedcode/data/debian/basic-rootfs-with-licenses-expected.json +++ b/tests/packagedcode/data/debian/basic-rootfs-with-licenses-expected.json @@ -37,11 +37,10 @@ "license_expression": "x11-fsf AND x11-xconsortium AND bsd-new", "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:deb/debian/ncurses" ], - "installed_files": [ + "file_references": [ { "path": "/lib/x86_64-linux-gnu/libncurses.so.5.9", "size": 0, @@ -124,11 +123,10 @@ "LGPL-2.1+" ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:deb/debian/libndp" ], - "installed_files": [ + "file_references": [ { "path": "/usr/lib/x86_64-linux-gnu/libndp.so.0.0.2", "size": 0, diff --git a/tests/packagedcode/data/debian/basic/status.expected b/tests/packagedcode/data/debian/basic/status.expected index 42108b9fee9..3564cd7cd10 100644 --- a/tests/packagedcode/data/debian/basic/status.expected +++ b/tests/packagedcode/data/debian/basic/status.expected @@ -1,11 +1,11 @@ [ { "type": "deb", - "namespace": "ubuntu", + "namespace": null, "name": "libncurses5", "version": "6.1-1ubuntu1.18.04", "qualifiers": { - "arch": "amd64" + "architecture": "amd64" }, "subpath": null, "primary_language": null, @@ -25,7 +25,7 @@ ], "homepage_url": "https://invisible-island.net/ncurses/", "download_url": null, - "size": "283", + "size": null, "sha1": null, "md5": null, "sha256": null, @@ -37,26 +37,27 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ - "pkg:deb/ubuntu/ncurses" + "pkg:deb/ncurses" ], + "file_references": [], "extra_data": { "multi_arch": "same" }, "dependencies": [], - "purl": "pkg:deb/ubuntu/libncurses5@6.1-1ubuntu1.18.04?arch=amd64", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "debian_installed_status_db", + "purl": "pkg:deb/libncurses5@6.1-1ubuntu1.18.04?architecture=amd64" }, { "type": "deb", - "namespace": "ubuntu", + "namespace": null, "name": "libcom-err2", "version": "1.44.1-1ubuntu1.1", "qualifiers": { - "arch": "amd64" + "architecture": "amd64" }, "subpath": null, "primary_language": null, @@ -76,7 +77,7 @@ ], "homepage_url": "http://e2fsprogs.sourceforge.net", "download_url": null, - "size": "87", + "size": null, "sha1": null, "md5": null, "sha256": null, @@ -88,26 +89,27 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ - "pkg:deb/ubuntu/e2fsprogs" + "pkg:deb/e2fsprogs" ], + "file_references": [], "extra_data": { "multi_arch": "same" }, "dependencies": [], - "purl": "pkg:deb/ubuntu/libcom-err2@1.44.1-1ubuntu1.1?arch=amd64", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "debian_installed_status_db", + "purl": "pkg:deb/libcom-err2@1.44.1-1ubuntu1.1?architecture=amd64" }, { "type": "deb", - "namespace": "ubuntu", + "namespace": null, "name": "libapt-pkg5.0", "version": "1.6.11", "qualifiers": { - "arch": "amd64" + "architecture": "amd64" }, "subpath": null, "primary_language": null, @@ -127,7 +129,7 @@ ], "homepage_url": null, "download_url": null, - "size": "3139", + "size": null, "sha1": null, "md5": null, "sha256": null, @@ -139,26 +141,27 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ - "pkg:deb/ubuntu/apt" + "pkg:deb/apt" ], + "file_references": [], "extra_data": { "multi_arch": "same" }, "dependencies": [], - "purl": "pkg:deb/ubuntu/libapt-pkg5.0@1.6.11?arch=amd64", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "debian_installed_status_db", + "purl": "pkg:deb/libapt-pkg5.0@1.6.11?architecture=amd64" }, { "type": "deb", - "namespace": "ubuntu", + "namespace": null, "name": "libaudit1", "version": "1:2.8.2-1ubuntu1", "qualifiers": { - "arch": "amd64" + "architecture": "amd64" }, "subpath": null, "primary_language": null, @@ -178,7 +181,7 @@ ], "homepage_url": "https://people.redhat.com/sgrubb/audit/", "download_url": null, - "size": "147", + "size": null, "sha1": null, "md5": null, "sha256": null, @@ -190,26 +193,27 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ - "pkg:deb/ubuntu/audit" + "pkg:deb/audit" ], + "file_references": [], "extra_data": { "multi_arch": "same" }, "dependencies": [], - "purl": "pkg:deb/ubuntu/libaudit1@1:2.8.2-1ubuntu1?arch=amd64", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "debian_installed_status_db", + "purl": "pkg:deb/libaudit1@1:2.8.2-1ubuntu1?architecture=amd64" }, { "type": "deb", - "namespace": "ubuntu", + "namespace": null, "name": "perl-base", "version": "5.26.1-6ubuntu0.3", "qualifiers": { - "arch": "amd64" + "architecture": "amd64" }, "subpath": null, "primary_language": null, @@ -229,7 +233,7 @@ ], "homepage_url": "http://dev.perl.org/perl5/", "download_url": null, - "size": "7826", + "size": null, "sha1": null, "md5": null, "sha256": null, @@ -241,24 +245,25 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ - "pkg:deb/ubuntu/perl" + "pkg:deb/perl" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:deb/ubuntu/perl-base@5.26.1-6ubuntu0.3?arch=amd64", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "debian_installed_status_db", + "purl": "pkg:deb/perl-base@5.26.1-6ubuntu0.3?architecture=amd64" }, { "type": "deb", - "namespace": "ubuntu", + "namespace": null, "name": "libudev1", "version": "237-3ubuntu10.22", "qualifiers": { - "arch": "amd64" + "architecture": "amd64" }, "subpath": null, "primary_language": null, @@ -278,7 +283,7 @@ ], "homepage_url": "https://www.freedesktop.org/wiki/Software/systemd", "download_url": null, - "size": "227", + "size": null, "sha1": null, "md5": null, "sha256": null, @@ -290,17 +295,18 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ - "pkg:deb/ubuntu/systemd" + "pkg:deb/systemd" ], + "file_references": [], "extra_data": { "multi_arch": "same" }, "dependencies": [], - "purl": "pkg:deb/ubuntu/libudev1@237-3ubuntu10.22?arch=amd64", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "debian_installed_status_db", + "purl": "pkg:deb/libudev1@237-3ubuntu10.22?architecture=amd64" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/debian/end-to-end.tgz b/tests/packagedcode/data/debian/end-to-end.tgz index 2c1aa0dd6d1..b47cec9e6dc 100644 Binary files a/tests/packagedcode/data/debian/end-to-end.tgz and b/tests/packagedcode/data/debian/end-to-end.tgz differ diff --git a/tests/packagedcode/data/debian/end-to-end.tgz.expected.json b/tests/packagedcode/data/debian/end-to-end.tgz.expected.json new file mode 100644 index 00000000000..096cbb16871 --- /dev/null +++ b/tests/packagedcode/data/debian/end-to-end.tgz.expected.json @@ -0,0 +1,347 @@ +{ + "headers": [ + { + "tool_name": "scancode-toolkit", + "options": { + "input": "", + "--json-pp": "", + "--package": true + }, + "notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.", + "output_format_version": "2.0.0", + "message": null, + "errors": [], + "warnings": [], + "extra_data": { + "spdx_license_list_version": "3.16", + "files_count": 6 + } + } + ], + "dependencies": [], + "packages": [ + { + "type": "deb", + "namespace": null, + "name": "libncurses5", + "version": "6.1-1ubuntu1", + "qualifiers": { + "architecture": "amd64" + }, + "subpath": null, + "primary_language": null, + "description": "shared libraries for terminal handling\n The ncurses library routines are a terminal-independent method of\n updating character screens with reasonable optimization.\n .\n This package contains the shared libraries necessary to run programs\n compiled with ncurses.", + "release_date": null, + "parties": [ + { + "type": null, + "role": "maintainer", + "name": "Ubuntu Developers ", + "email": null, + "url": null + } + ], + "keywords": [ + "libs" + ], + "homepage_url": "https://invisible-island.net/ncurses/", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [ + "pkg:deb/ncurses" + ], + "extra_data": { + "multi_arch": "same" + }, + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "package_uid": "pkg:deb/libncurses5@6.1-1ubuntu1?architecture=amd64&uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "end-to-end.tgz/var/lib/dpkg/status" + ], + "datasource_ids": [ + "debian_installed_status_db" + ], + "purl": "pkg:deb/libncurses5@6.1-1ubuntu1?architecture=amd64" + } + ], + "files": [ + { + "path": "end-to-end.tgz", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "end-to-end.tgz/lib", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "end-to-end.tgz/lib/x86_64-linux-gnu", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "end-to-end.tgz/lib/x86_64-linux-gnu/libncurses.so.5.9", + "type": "file", + "package_data": [], + "for_packages": [ + "pkg:deb/libncurses5@6.1-1ubuntu1?architecture=amd64&uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "end-to-end.tgz/usr", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "end-to-end.tgz/usr/lib", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "end-to-end.tgz/usr/lib/x86_64-linux-gnu", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "end-to-end.tgz/usr/lib/x86_64-linux-gnu/libform.so.5.9", + "type": "file", + "package_data": [], + "for_packages": [ + "pkg:deb/libncurses5@6.1-1ubuntu1?architecture=amd64&uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "end-to-end.tgz/usr/lib/x86_64-linux-gnu/libmenu.so.5.9", + "type": "file", + "package_data": [], + "for_packages": [ + "pkg:deb/libncurses5@6.1-1ubuntu1?architecture=amd64&uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "end-to-end.tgz/usr/lib/x86_64-linux-gnu/libpanel.so.5.9", + "type": "file", + "package_data": [], + "for_packages": [ + "pkg:deb/libncurses5@6.1-1ubuntu1?architecture=amd64&uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "end-to-end.tgz/usr/share", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "end-to-end.tgz/usr/share/doc", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "end-to-end.tgz/var", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "end-to-end.tgz/var/lib", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "end-to-end.tgz/var/lib/dpkg", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "end-to-end.tgz/var/lib/dpkg/info", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "end-to-end.tgz/var/lib/dpkg/info/libncurses5:amd64.md5sums", + "type": "file", + "package_data": [ + { + "type": "deb", + "namespace": null, + "name": "libncurses5", + "version": null, + "qualifiers": { + "arch": "amd64" + }, + "subpath": null, + "primary_language": null, + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + { + "path": "lib/x86_64-linux-gnu/libncurses.so.5.9", + "size": 0, + "sha1": null, + "md5": "6c91c3a185ae5b0764bd3019c7aceddc", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/lib/x86_64-linux-gnu/libform.so.5.9", + "size": 0, + "sha1": null, + "md5": "741024ffeb87886243c049e507bea509", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/lib/x86_64-linux-gnu/libmenu.so.5.9", + "size": 0, + "sha1": null, + "md5": "307c46447fdee4ae0459aa98bf74eaf1", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/lib/x86_64-linux-gnu/libpanel.so.5.9", + "size": 0, + "sha1": null, + "md5": "613820edd4f95050a7cde4aec0dde01c", + "sha256": null, + "sha512": null, + "extra_data": {} + } + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "debian_installed_md5sums", + "purl": "pkg:deb/libncurses5?arch=amd64" + } + ], + "for_packages": [ + "pkg:deb/libncurses5@6.1-1ubuntu1?architecture=amd64&uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "end-to-end.tgz/var/lib/dpkg/status", + "type": "file", + "package_data": [ + { + "type": "deb", + "namespace": null, + "name": "libncurses5", + "version": "6.1-1ubuntu1", + "qualifiers": { + "architecture": "amd64" + }, + "subpath": null, + "primary_language": null, + "description": "shared libraries for terminal handling\n The ncurses library routines are a terminal-independent method of\n updating character screens with reasonable optimization.\n .\n This package contains the shared libraries necessary to run programs\n compiled with ncurses.", + "release_date": null, + "parties": [ + { + "type": null, + "role": "maintainer", + "name": "Ubuntu Developers ", + "email": null, + "url": null + } + ], + "keywords": [ + "libs" + ], + "homepage_url": "https://invisible-island.net/ncurses/", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [ + "pkg:deb/ncurses" + ], + "file_references": [], + "extra_data": { + "multi_arch": "same" + }, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "debian_installed_status_db", + "purl": "pkg:deb/libncurses5@6.1-1ubuntu1?architecture=amd64" + } + ], + "for_packages": [], + "scan_errors": [] + } + ] +} \ No newline at end of file diff --git a/tests/packagedcode/data/debian/missing-multi-arch/mokutil.md5sums b/tests/packagedcode/data/debian/files-md5sums/mokutil copy.md5sums similarity index 100% rename from tests/packagedcode/data/debian/missing-multi-arch/mokutil.md5sums rename to tests/packagedcode/data/debian/files-md5sums/mokutil copy.md5sums diff --git a/tests/packagedcode/data/debian/files-md5sums/mokutil-amd64.md5sums.expected.json b/tests/packagedcode/data/debian/files-md5sums/mokutil-amd64.md5sums.expected.json new file mode 100644 index 00000000000..d56b01e15dd --- /dev/null +++ b/tests/packagedcode/data/debian/files-md5sums/mokutil-amd64.md5sums.expected.json @@ -0,0 +1,86 @@ +[ + { + "type": "deb", + "namespace": null, + "name": "mockutil", + "version": null, + "qualifiers": { + "arch": "amd64" + }, + "subpath": null, + "primary_language": null, + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + { + "path": "usr/bin/mokutil", + "size": 0, + "sha1": null, + "md5": "7a1a2629613d260e43dabc793bebdf19", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/bash-completion/completions/mokutil", + "size": 0, + "sha1": null, + "md5": "9086049384eaf0360dca4371ca50acbf", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/doc/mokutil/changelog.Debian.gz", + "size": 0, + "sha1": null, + "md5": "b3f4bb874bd61e4609823993857b9c17", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/doc/mokutil/copyright", + "size": 0, + "sha1": null, + "md5": "24dd593b630976a785b4c5ed097bbd96", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/man/man1/mokutil.1.gz", + "size": 0, + "sha1": null, + "md5": "b608675058a943d834129b6972b8509a", + "sha256": null, + "sha512": null, + "extra_data": {} + } + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "debian_installed_md5sums", + "purl": "pkg:deb/mockutil?arch=amd64" + } +] \ No newline at end of file diff --git a/tests/packagedcode/data/debian/files-md5sums/mokutil.md5sums b/tests/packagedcode/data/debian/files-md5sums/mokutil.md5sums new file mode 100644 index 00000000000..d11a8923447 --- /dev/null +++ b/tests/packagedcode/data/debian/files-md5sums/mokutil.md5sums @@ -0,0 +1,5 @@ +7a1a2629613d260e43dabc793bebdf19 usr/bin/mokutil +9086049384eaf0360dca4371ca50acbf usr/share/bash-completion/completions/mokutil +b3f4bb874bd61e4609823993857b9c17 usr/share/doc/mokutil/changelog.Debian.gz +24dd593b630976a785b4c5ed097bbd96 usr/share/doc/mokutil/copyright +b608675058a943d834129b6972b8509a usr/share/man/man1/mokutil.1.gz diff --git a/tests/packagedcode/data/debian/files-md5sums/mokutil.md5sums.expected.json b/tests/packagedcode/data/debian/files-md5sums/mokutil.md5sums.expected.json new file mode 100644 index 00000000000..8ba456b8142 --- /dev/null +++ b/tests/packagedcode/data/debian/files-md5sums/mokutil.md5sums.expected.json @@ -0,0 +1,84 @@ +[ + { + "type": "deb", + "namespace": null, + "name": "mokutil", + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": null, + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + { + "path": "usr/bin/mokutil", + "size": 0, + "sha1": null, + "md5": "7a1a2629613d260e43dabc793bebdf19", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/bash-completion/completions/mokutil", + "size": 0, + "sha1": null, + "md5": "9086049384eaf0360dca4371ca50acbf", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/doc/mokutil/changelog.Debian.gz", + "size": 0, + "sha1": null, + "md5": "b3f4bb874bd61e4609823993857b9c17", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/doc/mokutil/copyright", + "size": 0, + "sha1": null, + "md5": "24dd593b630976a785b4c5ed097bbd96", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/man/man1/mokutil.1.gz", + "size": 0, + "sha1": null, + "md5": "b608675058a943d834129b6972b8509a", + "sha256": null, + "sha512": null, + "extra_data": {} + } + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "debian_installed_md5sums", + "purl": "pkg:deb/mokutil" + } +] \ No newline at end of file diff --git a/tests/packagedcode/data/debian/foreign-multi-arch/fonts-sil-abyssinica.md5sums b/tests/packagedcode/data/debian/foreign-multi-arch/fonts-sil-abyssinica.md5sums deleted file mode 100644 index f3ea8a5af1e..00000000000 --- a/tests/packagedcode/data/debian/foreign-multi-arch/fonts-sil-abyssinica.md5sums +++ /dev/null @@ -1,14 +0,0 @@ -7faf213b3c06e818b9976cc2ae5af51a usr/share/bug/fonts-sil-abyssinica/presubj -672370efca8bffa183e2828907e0365d usr/share/bug/fonts-sil-abyssinica/script -ea72ae1d2ba5471ef54b132c79b1a03b usr/share/doc/fonts-sil-abyssinica/OFL-FAQ.txt.gz -f497d6bfc7ca4d423d703fabb7ff2e4c usr/share/doc/fonts-sil-abyssinica/README.Debian -7f81bc6ed7506b95af01b5eef76662bb usr/share/doc/fonts-sil-abyssinica/changelog.Debian.gz -13d9a840b6db71f7060670be0aafa953 usr/share/doc/fonts-sil-abyssinica/copyright -0e4a5ad6839067740e81a3e1244b0b16 usr/share/doc/fonts-sil-abyssinica/documentation/AbyssinicaSILGraphiteFontFeatures.odt -8fee9c92ecd425c71217418b8370c5ae usr/share/doc/fonts-sil-abyssinica/documentation/AbyssinicaSILGraphiteFontFeatures.pdf.gz -2cc8cbe21730258dd03a465e045066cc usr/share/doc/fonts-sil-abyssinica/documentation/AbyssinicaSILOpenTypeFontFeatures.pdf.gz -40948ce7d8e4b1ba1c7043ec8926edf9 usr/share/doc/fonts-sil-abyssinica/documentation/AbyssinicaSILTypeSample.pdf.gz -36ca1d62ca7365216e8bda952d2461e6 usr/share/doc/fonts-sil-abyssinica/documentation/AbyssinicaSILTypeTunerGuide.pdf.gz -491295c116dbcb74bcad2d78a56aedbe usr/share/doc/fonts-sil-abyssinica/documentation/DOCUMENTATION.txt -bea5aeeb76a15c2c1b8189d1b2437b31 usr/share/doc/fonts-sil-abyssinica/documentation/SILEthiopicPrivateUseAreaBlock.pdf.gz -9e3d4310af3892a739ba7b1189c44dca usr/share/fonts/truetype/abyssinica/AbyssinicaSIL-R.ttf diff --git a/tests/packagedcode/data/debian/libatk-adaptor-amd64.md5sums.expected.json b/tests/packagedcode/data/debian/libatk-adaptor-amd64.md5sums.expected.json new file mode 100644 index 00000000000..b1d531aaf22 --- /dev/null +++ b/tests/packagedcode/data/debian/libatk-adaptor-amd64.md5sums.expected.json @@ -0,0 +1,95 @@ +[ + { + "type": "deb", + "namespace": null, + "name": "libatk-adaptor", + "version": null, + "qualifiers": { + "arch": "amd64" + }, + "subpath": null, + "primary_language": null, + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + { + "path": "usr/lib/gnome-settings-daemon-3.0/gtk-modules/at-spi2-atk.desktop", + "size": 0, + "sha1": null, + "md5": "34900bd11562f427776ed2c05ba6002d", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/lib/unity-settings-daemon-1.0/gtk-modules/at-spi2-atk.desktop", + "size": 0, + "sha1": null, + "md5": "34900bd11562f427776ed2c05ba6002d", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/lib/x86_64-linux-gnu/gtk-2.0/modules/libatk-bridge.so", + "size": 0, + "sha1": null, + "md5": "6ddbc10b64afe708945c3b1497714aaa", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/doc/libatk-adaptor/NEWS.gz", + "size": 0, + "sha1": null, + "md5": "3a24add33624132b6b3b4c2ed08a4394", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/doc/libatk-adaptor/README", + "size": 0, + "sha1": null, + "md5": "452c2e9db46c9ac92a10e700d116b120", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/doc/libatk-adaptor/copyright", + "size": 0, + "sha1": null, + "md5": "971e4b2093741db8c51d263cd5c3ee48", + "sha256": null, + "sha512": null, + "extra_data": {} + } + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "debian_installed_md5sums", + "purl": "pkg:deb/libatk-adaptor?arch=amd64" + } +] \ No newline at end of file diff --git a/tests/packagedcode/data/debian/mini-status/status.expected b/tests/packagedcode/data/debian/mini-status/status.expected index 7a60b49ce79..f37dce23e4a 100644 --- a/tests/packagedcode/data/debian/mini-status/status.expected +++ b/tests/packagedcode/data/debian/mini-status/status.expected @@ -1,11 +1,11 @@ [ { "type": "deb", - "namespace": "debian", + "namespace": null, "name": "perl-base", "version": "5.22.1-9ubuntu0.6", "qualifiers": { - "arch": "amd64" + "architecture": "amd64" }, "subpath": null, "primary_language": null, @@ -25,7 +25,7 @@ ], "homepage_url": "http://dev.perl.org/perl5/", "download_url": null, - "size": "7096", + "size": null, "sha1": null, "md5": null, "sha256": null, @@ -37,15 +37,16 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ - "pkg:deb/debian/perl" + "pkg:deb/perl" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:deb/debian/perl-base@5.22.1-9ubuntu0.6?arch=amd64", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "debian_installed_status_db", + "purl": "pkg:deb/perl-base@5.22.1-9ubuntu0.6?architecture=amd64" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/debian/ubuntu-var-lib-dpkg/expected.json b/tests/packagedcode/data/debian/ubuntu-var-lib-dpkg/expected.json index daf7b2298a6..0250e778957 100644 --- a/tests/packagedcode/data/debian/ubuntu-var-lib-dpkg/expected.json +++ b/tests/packagedcode/data/debian/ubuntu-var-lib-dpkg/expected.json @@ -1,925 +1,2702 @@ -[ - { - "type": "deb", - "namespace": "ubuntu", - "name": "base-files", - "version": "11ubuntu5", - "qualifiers": { - "arch": "amd64" - }, - "subpath": null, - "primary_language": null, - "description": "Debian base system miscellaneous files\n This package contains the basic filesystem hierarchy of a Debian system, and\n several important miscellaneous files, such as /etc/debian_version,\n /etc/host.conf, /etc/issue, /etc/motd, /etc/profile, and others,\n and the text of several common licenses in use on Debian systems.", - "release_date": null, - "parties": [ - { - "type": null, - "role": "maintainer", - "name": "Ubuntu Developers ", - "email": null, - "url": null - } - ], - "keywords": [ - "admin" - ], - "homepage_url": null, - "download_url": null, - "size": "390", - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "installed_files": [ - { - "path": "/etc/debian_version", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null - }, - { - "path": "/etc/default/motd-news", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null - }, - { - "path": "/etc/dpkg/origins/debian", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null - }, - { - "path": "/etc/dpkg/origins/ubuntu", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null - }, - { - "path": "/etc/host.conf", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null - }, - { - "path": "/etc/issue", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null - }, - { - "path": "/etc/issue.net", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null - }, - { - "path": "/etc/legal", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null - }, - { - "path": "/etc/lsb-release", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null - }, - { - "path": "/etc/profile.d/01-locale-fix.sh", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null - }, - { - "path": "/etc/update-motd.d/00-header", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null - }, - { - "path": "/etc/update-motd.d/10-help-text", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null - }, - { - "path": "/etc/update-motd.d/50-motd-news", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null - }, - { - "path": "/lib/systemd/system/motd-news.service", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null - }, - { - "path": "/lib/systemd/system/motd-news.timer", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null - }, - { - "path": "/usr/bin/locale-check", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null - }, - { - "path": "/usr/lib/os-release", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/base-files/dot.bashrc", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/base-files/dot.profile", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/base-files/dot.profile.md5sums", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/base-files/info.dir", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/base-files/motd", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/base-files/networks", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/base-files/profile", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/base-files/profile.md5sums", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/base-files/staff-group-for-usr-local", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/common-licenses/Apache-2.0", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/common-licenses/Artistic", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/common-licenses/BSD", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/common-licenses/CC0-1.0", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/common-licenses/GFDL-1.2", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/common-licenses/GFDL-1.3", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/common-licenses/GPL-1", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/common-licenses/GPL-2", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/common-licenses/GPL-3", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/common-licenses/LGPL-2", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/common-licenses/LGPL-2.1", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/common-licenses/LGPL-3", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/common-licenses/MPL-1.1", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/common-licenses/MPL-2.0", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/dict", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/doc/base-files/README", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/doc/base-files/README.FHS", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/doc/base-files/changelog.gz", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/doc/base-files/copyright", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/lintian/overrides/base-files", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null - }, - { - "path": "/etc/os-release", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/common-licenses/GFDL", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/common-licenses/GPL", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/common-licenses/LGPL", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/doc/base-files/FAQ", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null +{ + "headers": [ + { + "tool_name": "scancode-toolkit", + "options": { + "input": "", + "--json-pp": "", + "--package": true + }, + "notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.", + "output_format_version": "2.0.0", + "message": null, + "errors": [], + "warnings": [], + "extra_data": { + "spdx_license_list_version": "3.16", + "files_count": 6 } - ], - "extra_data": { - "multi_arch": "foreign" + } + ], + "dependencies": [], + "packages": [ + { + "type": "deb", + "namespace": null, + "name": "base-files", + "version": "11ubuntu5", + "qualifiers": { + "architecture": "amd64" + }, + "subpath": null, + "primary_language": null, + "description": "Debian base system miscellaneous files\n This package contains the basic filesystem hierarchy of a Debian system, and\n several important miscellaneous files, such as /etc/debian_version,\n /etc/host.conf, /etc/issue, /etc/motd, /etc/profile, and others,\n and the text of several common licenses in use on Debian systems.", + "release_date": null, + "parties": [ + { + "type": null, + "role": "maintainer", + "name": "Ubuntu Developers ", + "email": null, + "url": null + } + ], + "keywords": [ + "admin" + ], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "extra_data": { + "multi_arch": "foreign", + "missing_file_references": [ + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/.", + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + }, + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "package_uid": "pkg:deb/base-files@11ubuntu5?architecture=amd64&uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "ubuntu-var-lib-dpkg/var/lib/dpkg/status" + ], + "datasource_ids": [ + "debian_installed_status_db" + ], + "purl": "pkg:deb/base-files@11ubuntu5?architecture=amd64" }, - "dependencies": [], - "purl": "pkg:deb/ubuntu/base-files@11ubuntu5?arch=amd64", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null - }, - { - "type": "deb", - "namespace": "ubuntu", - "name": "base-passwd", - "version": "3.5.47", - "qualifiers": { - "arch": "amd64" + { + "type": "deb", + "namespace": null, + "name": "base-passwd", + "version": "3.5.47", + "qualifiers": { + "architecture": "amd64" + }, + "subpath": null, + "primary_language": null, + "description": "Debian base system master password and group files\n These are the canonical master copies of the user database files\n (/etc/passwd and /etc/group), containing the Debian-allocated user and\n group IDs. The update-passwd tool is provided to keep the system databases\n synchronized with these master files.", + "release_date": null, + "parties": [ + { + "type": null, + "role": "maintainer", + "name": "Colin Watson ", + "email": null, + "url": null + } + ], + "keywords": [ + "admin" + ], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "extra_data": { + "multi_arch": "foreign", + "missing_file_references": [ + { + "path": "usr/sbin/update-passwd", + "size": 0, + "sha1": null, + "md5": "151c5933546d90b0c6de9ba305d62f0e", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/base-passwd/group.master", + "size": 0, + "sha1": null, + "md5": "eee0dc6a097ceaab6fd938092bc4b86c", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/base-passwd/passwd.master", + "size": 0, + "sha1": null, + "md5": "47f32e500f784c3a1793aa2aa6fc5c31", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/doc-base/users-and-groups", + "size": 0, + "sha1": null, + "md5": "cdac90d3d3ef8d60e4bc0eb73efa68d7", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/doc/base-passwd/README", + "size": 0, + "sha1": null, + "md5": "504775da5bdbb321fcb9f47562a45b57", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/doc/base-passwd/changelog.gz", + "size": 0, + "sha1": null, + "md5": "1c6403ff29b43b43a67bbc75bd9576b3", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/doc/base-passwd/copyright", + "size": 0, + "sha1": null, + "md5": "8eb6cd60f247ab06801038c6daf03f05", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/doc/base-passwd/users-and-groups.html", + "size": 0, + "sha1": null, + "md5": "4bfe6b64d2007e5cf366a124bacb55b1", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/doc/base-passwd/users-and-groups.txt.gz", + "size": 0, + "sha1": null, + "md5": "d8e20ac4dd13bb84d0fdfd203aa9b1dc", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/lintian/overrides/base-passwd", + "size": 0, + "sha1": null, + "md5": "8dc658a3a1b2fe714b45d245439bca24", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/man/de/man8/update-passwd.8.gz", + "size": 0, + "sha1": null, + "md5": "1a3f08c04ae471580efcde9ea0936369", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/man/es/man8/update-passwd.8.gz", + "size": 0, + "sha1": null, + "md5": "5ccedf3c81ac83de429e982ab2b07cdf", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/man/fr/man8/update-passwd.8.gz", + "size": 0, + "sha1": null, + "md5": "bbf6c14f5296de0a6752d5972137d28f", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/man/ja/man8/update-passwd.8.gz", + "size": 0, + "sha1": null, + "md5": "084c4f1c22b6d3fbf086fa8fce013dff", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/man/man8/update-passwd.8.gz", + "size": 0, + "sha1": null, + "md5": "b4b1ebf4b0260cb3a4d19e5b733e4479", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/man/pl/man8/update-passwd.8.gz", + "size": 0, + "sha1": null, + "md5": "011317bc9fdf4d1be3fa6a6b6851fcd2", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/man/ru/man8/update-passwd.8.gz", + "size": 0, + "sha1": null, + "md5": "977fb42cbcfa775d302b5ca4955c328c", + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + }, + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "package_uid": "pkg:deb/base-passwd@3.5.47?architecture=amd64&uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "ubuntu-var-lib-dpkg/var/lib/dpkg/status" + ], + "datasource_ids": [ + "debian_installed_status_db" + ], + "purl": "pkg:deb/base-passwd@3.5.47?architecture=amd64" }, - "subpath": null, - "primary_language": null, - "description": "Debian base system master password and group files\n These are the canonical master copies of the user database files\n (/etc/passwd and /etc/group), containing the Debian-allocated user and\n group IDs. The update-passwd tool is provided to keep the system databases\n synchronized with these master files.", - "release_date": null, - "parties": [ - { - "type": null, - "role": "maintainer", - "name": "Colin Watson ", - "email": null, - "url": null - } - ], - "keywords": [ - "admin" - ], - "homepage_url": null, - "download_url": null, - "size": "233", - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "installed_files": [ - { - "path": "/usr/sbin/update-passwd", - "size": 0, - "sha1": null, - "md5": "151c5933546d90b0c6de9ba305d62f0e", - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/base-passwd/group.master", - "size": 0, - "sha1": null, - "md5": "eee0dc6a097ceaab6fd938092bc4b86c", - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/base-passwd/passwd.master", - "size": 0, - "sha1": null, - "md5": "47f32e500f784c3a1793aa2aa6fc5c31", - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/doc-base/users-and-groups", - "size": 0, - "sha1": null, - "md5": "cdac90d3d3ef8d60e4bc0eb73efa68d7", - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/doc/base-passwd/README", - "size": 0, - "sha1": null, - "md5": "504775da5bdbb321fcb9f47562a45b57", - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/doc/base-passwd/changelog.gz", - "size": 0, - "sha1": null, - "md5": "1c6403ff29b43b43a67bbc75bd9576b3", - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/doc/base-passwd/copyright", - "size": 0, - "sha1": null, - "md5": "8eb6cd60f247ab06801038c6daf03f05", - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/doc/base-passwd/users-and-groups.html", - "size": 0, - "sha1": null, - "md5": "4bfe6b64d2007e5cf366a124bacb55b1", - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/doc/base-passwd/users-and-groups.txt.gz", - "size": 0, - "sha1": null, - "md5": "d8e20ac4dd13bb84d0fdfd203aa9b1dc", - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/lintian/overrides/base-passwd", - "size": 0, - "sha1": null, - "md5": "8dc658a3a1b2fe714b45d245439bca24", - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/man/de/man8/update-passwd.8.gz", - "size": 0, - "sha1": null, - "md5": "1a3f08c04ae471580efcde9ea0936369", - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/man/es/man8/update-passwd.8.gz", - "size": 0, - "sha1": null, - "md5": "5ccedf3c81ac83de429e982ab2b07cdf", - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/man/fr/man8/update-passwd.8.gz", - "size": 0, - "sha1": null, - "md5": "bbf6c14f5296de0a6752d5972137d28f", - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/man/ja/man8/update-passwd.8.gz", - "size": 0, - "sha1": null, - "md5": "084c4f1c22b6d3fbf086fa8fce013dff", - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/man/man8/update-passwd.8.gz", - "size": 0, - "sha1": null, - "md5": "b4b1ebf4b0260cb3a4d19e5b733e4479", - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/man/pl/man8/update-passwd.8.gz", - "size": 0, - "sha1": null, - "md5": "011317bc9fdf4d1be3fa6a6b6851fcd2", - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/man/ru/man8/update-passwd.8.gz", - "size": 0, - "sha1": null, - "md5": "977fb42cbcfa775d302b5ca4955c328c", - "sha256": null, - "sha512": null - } - ], - "extra_data": { - "multi_arch": "foreign" + { + "type": "deb", + "namespace": null, + "name": "bash", + "version": "5.0-6ubuntu1", + "qualifiers": { + "architecture": "amd64" + }, + "subpath": null, + "primary_language": null, + "description": "GNU Bourne Again SHell\n Bash is an sh-compatible command language interpreter that executes\n commands read from the standard input or from a file. Bash also\n incorporates useful features from the Korn and C shells (ksh and csh).\n .\n Bash is ultimately intended to be a conformant implementation of the\n IEEE POSIX Shell and Tools specification (IEEE Working Group 1003.2).\n .\n The Programmable Completion Code, by Ian Macdonald, is now found in\n the bash-completion package.", + "release_date": null, + "parties": [ + { + "type": null, + "role": "maintainer", + "name": "Ubuntu Developers ", + "email": null, + "url": null + } + ], + "keywords": [ + "shells" + ], + "homepage_url": "http://tiswww.case.edu/php/chet/bash/bashtop.html", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "extra_data": { + "multi_arch": "foreign", + "missing_file_references": [ + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/.", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "bin/bash", + "size": 0, + "sha1": null, + "md5": "77506afebd3b7e19e937a678a185b62e", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/bin/bashbug", + "size": 0, + "sha1": null, + "md5": "1c77d2031971b4e4c512ac952102cd85", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/bin/clear_console", + "size": 0, + "sha1": null, + "md5": "ca6d248a913ad0eb1d7301a2b6f8147b", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/doc/bash/COMPAT.gz", + "size": 0, + "sha1": null, + "md5": "f55e3a16959b0bb8915cb5f219521c80", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/doc/bash/INTRO.gz", + "size": 0, + "sha1": null, + "md5": "ab78b78be766692463cb112b88d5a74f", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/doc/bash/NEWS.gz", + "size": 0, + "sha1": null, + "md5": "ea9dd4d5a6822115b9134609ab6c1cfd", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/doc/bash/POSIX.gz", + "size": 0, + "sha1": null, + "md5": "f3bbcb9d46d417ff8291421f567fca19", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/doc/bash/RBASH", + "size": 0, + "sha1": null, + "md5": "172188e3a6fc5409d4f113485cc6d79f", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/doc/bash/README.Debian.gz", + "size": 0, + "sha1": null, + "md5": "6bd7de8b98911613a536e83867e9b490", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/doc/bash/README.abs-guide", + "size": 0, + "sha1": null, + "md5": "5dac7b9b6332d9845e315cf8fd50ea89", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/doc/bash/README.commands.gz", + "size": 0, + "sha1": null, + "md5": "007dea9b8141f038c602b23f78509e34", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/doc/bash/README.gz", + "size": 0, + "sha1": null, + "md5": "4b69f2196038772f358bf6cf4f3a2d2d", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/doc/bash/changelog.Debian.gz", + "size": 0, + "sha1": null, + "md5": "481042f46ec4ec8ae86901df48efa598", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/doc/bash/copyright", + "size": 0, + "sha1": null, + "md5": "9632d707e9eca8b3ba2b1a98c1c3fdce", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/doc/bash/inputrc.arrows", + "size": 0, + "sha1": null, + "md5": "244319c9dd88c980910aacd76477b8d9", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/lintian/overrides/bash", + "size": 0, + "sha1": null, + "md5": "4574de6676d74019761f409168aa8e01", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/man/man1/bash.1.gz", + "size": 0, + "sha1": null, + "md5": "b3da2a5522496f6ca42d5c00a4e65d74", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/man/man1/bashbug.1.gz", + "size": 0, + "sha1": null, + "md5": "ab8320c478c9d17caaa4d86e113cf0a2", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/man/man1/clear_console.1.gz", + "size": 0, + "sha1": null, + "md5": "0c912132bdbce02861669392deb3f84c", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/man/man1/rbash.1.gz", + "size": 0, + "sha1": null, + "md5": "6ad61b838c1370d3bed5d4410644f34a", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/man/man7/bash-builtins.7.gz", + "size": 0, + "sha1": null, + "md5": "b2fb88f251700c29d638d9202e89a693", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/menu/bash", + "size": 0, + "sha1": null, + "md5": "0c05a14279f95fdb4618a4ccaa469681", + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + }, + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "package_uid": "pkg:deb/bash@5.0-6ubuntu1?architecture=amd64&uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "ubuntu-var-lib-dpkg/var/lib/dpkg/status" + ], + "datasource_ids": [ + "debian_installed_status_db" + ], + "purl": "pkg:deb/bash@5.0-6ubuntu1?architecture=amd64" }, - "dependencies": [], - "purl": "pkg:deb/ubuntu/base-passwd@3.5.47?arch=amd64", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null - }, - { - "type": "deb", - "namespace": "ubuntu", - "name": "bash", - "version": "5.0-6ubuntu1", - "qualifiers": { - "arch": "amd64" + { + "type": "deb", + "namespace": null, + "name": "tar", + "version": "1.30+dfsg-7", + "qualifiers": { + "architecture": "amd64" + }, + "subpath": null, + "primary_language": null, + "description": "GNU version of the tar archiving utility\n Tar is a program for packaging a set of files as a single archive in tar\n format. The function it performs is conceptually similar to cpio, and to\n things like PKZIP in the DOS world. It is heavily used by the Debian package\n management system, and is useful for performing system backups and exchanging\n sets of files with others.", + "release_date": null, + "parties": [ + { + "type": null, + "role": "maintainer", + "name": "Ubuntu Developers ", + "email": null, + "url": null + } + ], + "keywords": [ + "utils" + ], + "homepage_url": "https://www.gnu.org/software/tar/", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "extra_data": { + "multi_arch": "foreign" + }, + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "package_uid": "pkg:deb/tar@1.30%2Bdfsg-7?architecture=amd64&uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "ubuntu-var-lib-dpkg/var/lib/dpkg/status" + ], + "datasource_ids": [ + "debian_installed_status_db" + ], + "purl": "pkg:deb/tar@1.30%2Bdfsg-7?architecture=amd64" + } + ], + "files": [ + { + "path": "ubuntu-var-lib-dpkg", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] }, - "subpath": null, - "primary_language": null, - "description": "GNU Bourne Again SHell\n Bash is an sh-compatible command language interpreter that executes\n commands read from the standard input or from a file. Bash also\n incorporates useful features from the Korn and C shells (ksh and csh).\n .\n Bash is ultimately intended to be a conformant implementation of the\n IEEE POSIX Shell and Tools specification (IEEE Working Group 1003.2).\n .\n The Programmable Completion Code, by Ian Macdonald, is now found in\n the bash-completion package.", - "release_date": null, - "parties": [ - { - "type": null, - "role": "maintainer", - "name": "Ubuntu Developers ", - "email": null, - "url": null - } - ], - "keywords": [ - "shells" - ], - "homepage_url": "http://tiswww.case.edu/php/chet/bash/bashtop.html", - "download_url": null, - "size": "1656", - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "installed_files": [ - { - "path": "/bin/bash", - "size": 0, - "sha1": null, - "md5": "77506afebd3b7e19e937a678a185b62e", - "sha256": null, - "sha512": null - }, - { - "path": "/usr/bin/bashbug", - "size": 0, - "sha1": null, - "md5": "1c77d2031971b4e4c512ac952102cd85", - "sha256": null, - "sha512": null - }, - { - "path": "/usr/bin/clear_console", - "size": 0, - "sha1": null, - "md5": "ca6d248a913ad0eb1d7301a2b6f8147b", - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/doc/bash/COMPAT.gz", - "size": 0, - "sha1": null, - "md5": "f55e3a16959b0bb8915cb5f219521c80", - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/doc/bash/INTRO.gz", - "size": 0, - "sha1": null, - "md5": "ab78b78be766692463cb112b88d5a74f", - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/doc/bash/NEWS.gz", - "size": 0, - "sha1": null, - "md5": "ea9dd4d5a6822115b9134609ab6c1cfd", - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/doc/bash/POSIX.gz", - "size": 0, - "sha1": null, - "md5": "f3bbcb9d46d417ff8291421f567fca19", - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/doc/bash/RBASH", - "size": 0, - "sha1": null, - "md5": "172188e3a6fc5409d4f113485cc6d79f", - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/doc/bash/README.Debian.gz", - "size": 0, - "sha1": null, - "md5": "6bd7de8b98911613a536e83867e9b490", - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/doc/bash/README.abs-guide", - "size": 0, - "sha1": null, - "md5": "5dac7b9b6332d9845e315cf8fd50ea89", - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/doc/bash/README.commands.gz", - "size": 0, - "sha1": null, - "md5": "007dea9b8141f038c602b23f78509e34", - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/doc/bash/README.gz", - "size": 0, - "sha1": null, - "md5": "4b69f2196038772f358bf6cf4f3a2d2d", - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/doc/bash/changelog.Debian.gz", - "size": 0, - "sha1": null, - "md5": "481042f46ec4ec8ae86901df48efa598", - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/doc/bash/copyright", - "size": 0, - "sha1": null, - "md5": "9632d707e9eca8b3ba2b1a98c1c3fdce", - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/doc/bash/inputrc.arrows", - "size": 0, - "sha1": null, - "md5": "244319c9dd88c980910aacd76477b8d9", - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/lintian/overrides/bash", - "size": 0, - "sha1": null, - "md5": "4574de6676d74019761f409168aa8e01", - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/man/man1/bash.1.gz", - "size": 0, - "sha1": null, - "md5": "b3da2a5522496f6ca42d5c00a4e65d74", - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/man/man1/bashbug.1.gz", - "size": 0, - "sha1": null, - "md5": "ab8320c478c9d17caaa4d86e113cf0a2", - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/man/man1/clear_console.1.gz", - "size": 0, - "sha1": null, - "md5": "0c912132bdbce02861669392deb3f84c", - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/man/man1/rbash.1.gz", - "size": 0, - "sha1": null, - "md5": "6ad61b838c1370d3bed5d4410644f34a", - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/man/man7/bash-builtins.7.gz", - "size": 0, - "sha1": null, - "md5": "b2fb88f251700c29d638d9202e89a693", - "sha256": null, - "sha512": null - }, - { - "path": "/usr/share/menu/bash", - "size": 0, - "sha1": null, - "md5": "0c05a14279f95fdb4618a4ccaa469681", - "sha256": null, - "sha512": null - } - ], - "extra_data": { - "multi_arch": "foreign" + { + "path": "ubuntu-var-lib-dpkg/expected.json", + "type": "file", + "package_data": [], + "for_packages": [], + "scan_errors": [] }, - "dependencies": [], - "purl": "pkg:deb/ubuntu/bash@5.0-6ubuntu1?arch=amd64", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null - }, - { - "type": "deb", - "namespace": "ubuntu", - "name": "tar", - "version": "1.30+dfsg-7", - "qualifiers": { - "arch": "amd64" + { + "path": "ubuntu-var-lib-dpkg/var", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] }, - "subpath": null, - "primary_language": null, - "description": "GNU version of the tar archiving utility\n Tar is a program for packaging a set of files as a single archive in tar\n format. The function it performs is conceptually similar to cpio, and to\n things like PKZIP in the DOS world. It is heavily used by the Debian package\n management system, and is useful for performing system backups and exchanging\n sets of files with others.", - "release_date": null, - "parties": [ - { - "type": null, - "role": "maintainer", - "name": "Ubuntu Developers ", - "email": null, - "url": null - } - ], - "keywords": [ - "utils" - ], - "homepage_url": "https://www.gnu.org/software/tar/", - "download_url": null, - "size": "880", - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "installed_files": [], - "extra_data": { - "multi_arch": "foreign" + { + "path": "ubuntu-var-lib-dpkg/var/lib", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "ubuntu-var-lib-dpkg/var/lib/dpkg", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "ubuntu-var-lib-dpkg/var/lib/dpkg/info", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "ubuntu-var-lib-dpkg/var/lib/dpkg/info/base-files.list", + "type": "file", + "package_data": [ + { + "type": "deb", + "namespace": null, + "name": "base-files", + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": null, + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/.", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/bin", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/boot", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/dev", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/etc", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/etc/debian_version", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/etc/default", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/etc/default/motd-news", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/etc/dpkg", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/etc/dpkg/origins", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/etc/dpkg/origins/debian", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/etc/dpkg/origins/ubuntu", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/etc/host.conf", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/etc/issue", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/etc/issue.net", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/etc/legal", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/etc/lsb-release", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/etc/profile.d", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/etc/profile.d/01-locale-fix.sh", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/etc/skel", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/etc/update-motd.d", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/etc/update-motd.d/00-header", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/etc/update-motd.d/10-help-text", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/etc/update-motd.d/50-motd-news", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/home", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/lib", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/lib/systemd", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/lib/systemd/system", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/lib/systemd/system/motd-news.service", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/lib/systemd/system/motd-news.timer", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/proc", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/root", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/run", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/sbin", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/sys", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/tmp", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/bin", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/bin/locale-check", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/games", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/include", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/lib", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/lib/os-release", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/sbin", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/base-files", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/base-files/dot.bashrc", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/base-files/dot.profile", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/base-files/dot.profile.md5sums", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/base-files/info.dir", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/base-files/motd", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/base-files/networks", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/base-files/profile", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/base-files/profile.md5sums", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/base-files/staff-group-for-usr-local", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/common-licenses", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/common-licenses/Apache-2.0", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/common-licenses/Artistic", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/common-licenses/BSD", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/common-licenses/CC0-1.0", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/common-licenses/GFDL-1.2", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/common-licenses/GFDL-1.3", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/common-licenses/GPL-1", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/common-licenses/GPL-2", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/common-licenses/GPL-3", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/common-licenses/LGPL-2", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/common-licenses/LGPL-2.1", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/common-licenses/LGPL-3", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/common-licenses/MPL-1.1", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/common-licenses/MPL-2.0", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/dict", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/doc", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/doc/base-files", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/doc/base-files/README", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/doc/base-files/README.FHS", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/doc/base-files/changelog.gz", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/doc/base-files/copyright", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/info", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/lintian", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/lintian/overrides", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/lintian/overrides/base-files", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/man", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/misc", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/src", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/var", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/var/backups", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/var/cache", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/var/lib", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/var/lib/dpkg", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/var/lib/misc", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/var/local", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/var/lock", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/var/log", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/var/run", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/var/spool", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/var/tmp", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/etc/os-release", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/common-licenses/GFDL", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/common-licenses/GPL", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/common-licenses/LGPL", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/doc/base-files/FAQ", + "sha256": null, + "sha512": null, + "extra_data": {} + } + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "debian_installed_files_list", + "purl": "pkg:deb/base-files" + } + ], + "for_packages": [ + "pkg:deb/base-files@11ubuntu5?architecture=amd64&uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "ubuntu-var-lib-dpkg/var/lib/dpkg/info/base-passwd.md5sums", + "type": "file", + "package_data": [ + { + "type": "deb", + "namespace": null, + "name": "base-passwd", + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": null, + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + { + "path": "usr/sbin/update-passwd", + "size": 0, + "sha1": null, + "md5": "151c5933546d90b0c6de9ba305d62f0e", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/base-passwd/group.master", + "size": 0, + "sha1": null, + "md5": "eee0dc6a097ceaab6fd938092bc4b86c", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/base-passwd/passwd.master", + "size": 0, + "sha1": null, + "md5": "47f32e500f784c3a1793aa2aa6fc5c31", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/doc-base/users-and-groups", + "size": 0, + "sha1": null, + "md5": "cdac90d3d3ef8d60e4bc0eb73efa68d7", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/doc/base-passwd/README", + "size": 0, + "sha1": null, + "md5": "504775da5bdbb321fcb9f47562a45b57", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/doc/base-passwd/changelog.gz", + "size": 0, + "sha1": null, + "md5": "1c6403ff29b43b43a67bbc75bd9576b3", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/doc/base-passwd/copyright", + "size": 0, + "sha1": null, + "md5": "8eb6cd60f247ab06801038c6daf03f05", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/doc/base-passwd/users-and-groups.html", + "size": 0, + "sha1": null, + "md5": "4bfe6b64d2007e5cf366a124bacb55b1", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/doc/base-passwd/users-and-groups.txt.gz", + "size": 0, + "sha1": null, + "md5": "d8e20ac4dd13bb84d0fdfd203aa9b1dc", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/lintian/overrides/base-passwd", + "size": 0, + "sha1": null, + "md5": "8dc658a3a1b2fe714b45d245439bca24", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/man/de/man8/update-passwd.8.gz", + "size": 0, + "sha1": null, + "md5": "1a3f08c04ae471580efcde9ea0936369", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/man/es/man8/update-passwd.8.gz", + "size": 0, + "sha1": null, + "md5": "5ccedf3c81ac83de429e982ab2b07cdf", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/man/fr/man8/update-passwd.8.gz", + "size": 0, + "sha1": null, + "md5": "bbf6c14f5296de0a6752d5972137d28f", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/man/ja/man8/update-passwd.8.gz", + "size": 0, + "sha1": null, + "md5": "084c4f1c22b6d3fbf086fa8fce013dff", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/man/man8/update-passwd.8.gz", + "size": 0, + "sha1": null, + "md5": "b4b1ebf4b0260cb3a4d19e5b733e4479", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/man/pl/man8/update-passwd.8.gz", + "size": 0, + "sha1": null, + "md5": "011317bc9fdf4d1be3fa6a6b6851fcd2", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/man/ru/man8/update-passwd.8.gz", + "size": 0, + "sha1": null, + "md5": "977fb42cbcfa775d302b5ca4955c328c", + "sha256": null, + "sha512": null, + "extra_data": {} + } + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "debian_installed_md5sums", + "purl": "pkg:deb/base-passwd" + } + ], + "for_packages": [ + "pkg:deb/base-passwd@3.5.47?architecture=amd64&uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "ubuntu-var-lib-dpkg/var/lib/dpkg/info/bash.list", + "type": "file", + "package_data": [ + { + "type": "deb", + "namespace": null, + "name": "bash", + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": null, + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/.", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/bin", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/bin/bash", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/etc", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/etc/bash.bashrc", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/etc/skel", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/etc/skel/.bash_logout", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/etc/skel/.bashrc", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/etc/skel/.profile", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/bin", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/bin/bashbug", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/bin/clear_console", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/doc", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/doc/bash", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/doc/bash/COMPAT.gz", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/doc/bash/INTRO.gz", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/doc/bash/NEWS.gz", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/doc/bash/POSIX.gz", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/doc/bash/RBASH", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/doc/bash/README.Debian.gz", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/doc/bash/README.abs-guide", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/doc/bash/README.commands.gz", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/doc/bash/README.gz", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/doc/bash/changelog.Debian.gz", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/doc/bash/copyright", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/doc/bash/inputrc.arrows", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/info", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/lintian", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/lintian/overrides", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/lintian/overrides/bash", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/man", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/man/man1", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/man/man1/bash.1.gz", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/man/man1/bashbug.1.gz", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/man/man1/clear_console.1.gz", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/man/man1/rbash.1.gz", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/man/man7", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/man/man7/bash-builtins.7.gz", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/menu", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/usr/share/menu/bash", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "", + "size": 0, + "sha1": null, + "md5": "/bin/rbash", + "sha256": null, + "sha512": null, + "extra_data": {} + } + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "debian_installed_files_list", + "purl": "pkg:deb/bash" + } + ], + "for_packages": [ + "pkg:deb/bash@5.0-6ubuntu1?architecture=amd64&uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "ubuntu-var-lib-dpkg/var/lib/dpkg/info/bash.md5sums", + "type": "file", + "package_data": [ + { + "type": "deb", + "namespace": null, + "name": "bash", + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": null, + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + { + "path": "bin/bash", + "size": 0, + "sha1": null, + "md5": "77506afebd3b7e19e937a678a185b62e", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/bin/bashbug", + "size": 0, + "sha1": null, + "md5": "1c77d2031971b4e4c512ac952102cd85", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/bin/clear_console", + "size": 0, + "sha1": null, + "md5": "ca6d248a913ad0eb1d7301a2b6f8147b", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/doc/bash/COMPAT.gz", + "size": 0, + "sha1": null, + "md5": "f55e3a16959b0bb8915cb5f219521c80", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/doc/bash/INTRO.gz", + "size": 0, + "sha1": null, + "md5": "ab78b78be766692463cb112b88d5a74f", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/doc/bash/NEWS.gz", + "size": 0, + "sha1": null, + "md5": "ea9dd4d5a6822115b9134609ab6c1cfd", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/doc/bash/POSIX.gz", + "size": 0, + "sha1": null, + "md5": "f3bbcb9d46d417ff8291421f567fca19", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/doc/bash/RBASH", + "size": 0, + "sha1": null, + "md5": "172188e3a6fc5409d4f113485cc6d79f", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/doc/bash/README.Debian.gz", + "size": 0, + "sha1": null, + "md5": "6bd7de8b98911613a536e83867e9b490", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/doc/bash/README.abs-guide", + "size": 0, + "sha1": null, + "md5": "5dac7b9b6332d9845e315cf8fd50ea89", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/doc/bash/README.commands.gz", + "size": 0, + "sha1": null, + "md5": "007dea9b8141f038c602b23f78509e34", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/doc/bash/README.gz", + "size": 0, + "sha1": null, + "md5": "4b69f2196038772f358bf6cf4f3a2d2d", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/doc/bash/changelog.Debian.gz", + "size": 0, + "sha1": null, + "md5": "481042f46ec4ec8ae86901df48efa598", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/doc/bash/copyright", + "size": 0, + "sha1": null, + "md5": "9632d707e9eca8b3ba2b1a98c1c3fdce", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/doc/bash/inputrc.arrows", + "size": 0, + "sha1": null, + "md5": "244319c9dd88c980910aacd76477b8d9", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/lintian/overrides/bash", + "size": 0, + "sha1": null, + "md5": "4574de6676d74019761f409168aa8e01", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/man/man1/bash.1.gz", + "size": 0, + "sha1": null, + "md5": "b3da2a5522496f6ca42d5c00a4e65d74", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/man/man1/bashbug.1.gz", + "size": 0, + "sha1": null, + "md5": "ab8320c478c9d17caaa4d86e113cf0a2", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/man/man1/clear_console.1.gz", + "size": 0, + "sha1": null, + "md5": "0c912132bdbce02861669392deb3f84c", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/man/man1/rbash.1.gz", + "size": 0, + "sha1": null, + "md5": "6ad61b838c1370d3bed5d4410644f34a", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/man/man7/bash-builtins.7.gz", + "size": 0, + "sha1": null, + "md5": "b2fb88f251700c29d638d9202e89a693", + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "usr/share/menu/bash", + "size": 0, + "sha1": null, + "md5": "0c05a14279f95fdb4618a4ccaa469681", + "sha256": null, + "sha512": null, + "extra_data": {} + } + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "debian_installed_md5sums", + "purl": "pkg:deb/bash" + } + ], + "for_packages": [ + "pkg:deb/bash@5.0-6ubuntu1?architecture=amd64&uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] }, - "dependencies": [], - "purl": "pkg:deb/ubuntu/tar@1.30%2Bdfsg-7?arch=amd64", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null - } -] \ No newline at end of file + { + "path": "ubuntu-var-lib-dpkg/var/lib/dpkg/status", + "type": "file", + "package_data": [ + { + "type": "deb", + "namespace": null, + "name": "base-files", + "version": "11ubuntu5", + "qualifiers": { + "architecture": "amd64" + }, + "subpath": null, + "primary_language": null, + "description": "Debian base system miscellaneous files\n This package contains the basic filesystem hierarchy of a Debian system, and\n several important miscellaneous files, such as /etc/debian_version,\n /etc/host.conf, /etc/issue, /etc/motd, /etc/profile, and others,\n and the text of several common licenses in use on Debian systems.", + "release_date": null, + "parties": [ + { + "type": null, + "role": "maintainer", + "name": "Ubuntu Developers ", + "email": null, + "url": null + } + ], + "keywords": [ + "admin" + ], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": { + "multi_arch": "foreign" + }, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "debian_installed_status_db", + "purl": "pkg:deb/base-files@11ubuntu5?architecture=amd64" + }, + { + "type": "deb", + "namespace": null, + "name": "base-passwd", + "version": "3.5.47", + "qualifiers": { + "architecture": "amd64" + }, + "subpath": null, + "primary_language": null, + "description": "Debian base system master password and group files\n These are the canonical master copies of the user database files\n (/etc/passwd and /etc/group), containing the Debian-allocated user and\n group IDs. The update-passwd tool is provided to keep the system databases\n synchronized with these master files.", + "release_date": null, + "parties": [ + { + "type": null, + "role": "maintainer", + "name": "Colin Watson ", + "email": null, + "url": null + } + ], + "keywords": [ + "admin" + ], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": { + "multi_arch": "foreign" + }, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "debian_installed_status_db", + "purl": "pkg:deb/base-passwd@3.5.47?architecture=amd64" + }, + { + "type": "deb", + "namespace": null, + "name": "bash", + "version": "5.0-6ubuntu1", + "qualifiers": { + "architecture": "amd64" + }, + "subpath": null, + "primary_language": null, + "description": "GNU Bourne Again SHell\n Bash is an sh-compatible command language interpreter that executes\n commands read from the standard input or from a file. Bash also\n incorporates useful features from the Korn and C shells (ksh and csh).\n .\n Bash is ultimately intended to be a conformant implementation of the\n IEEE POSIX Shell and Tools specification (IEEE Working Group 1003.2).\n .\n The Programmable Completion Code, by Ian Macdonald, is now found in\n the bash-completion package.", + "release_date": null, + "parties": [ + { + "type": null, + "role": "maintainer", + "name": "Ubuntu Developers ", + "email": null, + "url": null + } + ], + "keywords": [ + "shells" + ], + "homepage_url": "http://tiswww.case.edu/php/chet/bash/bashtop.html", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": { + "multi_arch": "foreign" + }, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "debian_installed_status_db", + "purl": "pkg:deb/bash@5.0-6ubuntu1?architecture=amd64" + }, + { + "type": "deb", + "namespace": null, + "name": "tar", + "version": "1.30+dfsg-7", + "qualifiers": { + "architecture": "amd64" + }, + "subpath": null, + "primary_language": null, + "description": "GNU version of the tar archiving utility\n Tar is a program for packaging a set of files as a single archive in tar\n format. The function it performs is conceptually similar to cpio, and to\n things like PKZIP in the DOS world. It is heavily used by the Debian package\n management system, and is useful for performing system backups and exchanging\n sets of files with others.", + "release_date": null, + "parties": [ + { + "type": null, + "role": "maintainer", + "name": "Ubuntu Developers ", + "email": null, + "url": null + } + ], + "keywords": [ + "utils" + ], + "homepage_url": "https://www.gnu.org/software/tar/", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": { + "multi_arch": "foreign" + }, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "debian_installed_status_db", + "purl": "pkg:deb/tar@1.30%2Bdfsg-7?architecture=amd64" + } + ], + "for_packages": [], + "scan_errors": [] + } + ] +} \ No newline at end of file diff --git a/tests/packagedcode/data/freebsd/basic/+COMPACT_MANIFEST.expected b/tests/packagedcode/data/freebsd/basic/+COMPACT_MANIFEST.expected index 2f7dd9f66fe..052ac70f8ec 100644 --- a/tests/packagedcode/data/freebsd/basic/+COMPACT_MANIFEST.expected +++ b/tests/packagedcode/data/freebsd/basic/+COMPACT_MANIFEST.expected @@ -43,13 +43,14 @@ "licenselogic": "single" }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:freebsd/dmidecode@2.12?arch=freebsd:10:x86:64&origin=sysutils/dmidecode", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "freebsd_compact_manifest", + "purl": "pkg:freebsd/dmidecode@2.12?arch=freebsd:10:x86:64&origin=sysutils/dmidecode" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/freebsd/basic2/+COMPACT_MANIFEST.expected b/tests/packagedcode/data/freebsd/basic2/+COMPACT_MANIFEST.expected index f16e6905719..bdcc90e6877 100644 --- a/tests/packagedcode/data/freebsd/basic2/+COMPACT_MANIFEST.expected +++ b/tests/packagedcode/data/freebsd/basic2/+COMPACT_MANIFEST.expected @@ -43,13 +43,14 @@ "licenselogic": "single" }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:freebsd/0d1n@2.3?arch=freebsd:10:x86:64&origin=security/0d1n", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "freebsd_compact_manifest", + "purl": "pkg:freebsd/0d1n@2.3?arch=freebsd:10:x86:64&origin=security/0d1n" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/freebsd/dual_license/+COMPACT_MANIFEST.expected b/tests/packagedcode/data/freebsd/dual_license/+COMPACT_MANIFEST.expected index 52107c29f0a..f3e76d3d14a 100644 --- a/tests/packagedcode/data/freebsd/dual_license/+COMPACT_MANIFEST.expected +++ b/tests/packagedcode/data/freebsd/dual_license/+COMPACT_MANIFEST.expected @@ -45,13 +45,14 @@ "licenselogic": "or" }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:freebsd/rubygem-facets@3.1.0?arch=freebsd:10:%2A&origin=devel/rubygem-facets", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "freebsd_compact_manifest", + "purl": "pkg:freebsd/rubygem-facets@3.1.0?arch=freebsd:10:%2A&origin=devel/rubygem-facets" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/freebsd/dual_license2/+COMPACT_MANIFEST.expected b/tests/packagedcode/data/freebsd/dual_license2/+COMPACT_MANIFEST.expected index f14a29fa9ac..cf2c782884e 100644 --- a/tests/packagedcode/data/freebsd/dual_license2/+COMPACT_MANIFEST.expected +++ b/tests/packagedcode/data/freebsd/dual_license2/+COMPACT_MANIFEST.expected @@ -46,13 +46,14 @@ "licenselogic": "or" }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:freebsd/rubygem-ttfunk@1.5.1?arch=freebsd:10:%2A&origin=print/rubygem-ttfunk", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "freebsd_compact_manifest", + "purl": "pkg:freebsd/rubygem-ttfunk@1.5.1?arch=freebsd:10:%2A&origin=print/rubygem-ttfunk" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/freebsd/multi_license/+COMPACT_MANIFEST.expected b/tests/packagedcode/data/freebsd/multi_license/+COMPACT_MANIFEST.expected index e4ffe771e09..45582af731d 100644 --- a/tests/packagedcode/data/freebsd/multi_license/+COMPACT_MANIFEST.expected +++ b/tests/packagedcode/data/freebsd/multi_license/+COMPACT_MANIFEST.expected @@ -45,13 +45,14 @@ "licenselogic": "and" }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:freebsd/py27-idna@2.6?arch=freebsd:10:%2A&origin=dns/py-idna", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "freebsd_compact_manifest", + "purl": "pkg:freebsd/py27-idna@2.6?arch=freebsd:10:%2A&origin=dns/py-idna" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/freebsd/no_licenses/+COMPACT_MANIFEST.expected b/tests/packagedcode/data/freebsd/no_licenses/+COMPACT_MANIFEST.expected index 9e88282ec5a..d0272ac75ab 100644 --- a/tests/packagedcode/data/freebsd/no_licenses/+COMPACT_MANIFEST.expected +++ b/tests/packagedcode/data/freebsd/no_licenses/+COMPACT_MANIFEST.expected @@ -38,13 +38,14 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:freebsd/dmidecode@2.12?arch=freebsd:10:x86:64&origin=sysutils/dmidecode", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "freebsd_compact_manifest", + "purl": "pkg:freebsd/dmidecode@2.12?arch=freebsd:10:x86:64&origin=sysutils/dmidecode" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/godeps/Godeps.json-comments b/tests/packagedcode/data/godeps/comments/Godeps.json similarity index 100% rename from tests/packagedcode/data/godeps/Godeps.json-comments rename to tests/packagedcode/data/godeps/comments/Godeps.json diff --git a/tests/packagedcode/data/godeps/expected/Godeps.json-commentsexpected.json b/tests/packagedcode/data/godeps/comments/Godeps.json-expected similarity index 100% rename from tests/packagedcode/data/godeps/expected/Godeps.json-commentsexpected.json rename to tests/packagedcode/data/godeps/comments/Godeps.json-expected diff --git a/tests/packagedcode/data/godeps/comments/Godeps.json-expected-package b/tests/packagedcode/data/godeps/comments/Godeps.json-expected-package new file mode 100644 index 00000000000..97b2d153c71 --- /dev/null +++ b/tests/packagedcode/data/godeps/comments/Godeps.json-expected-package @@ -0,0 +1,75 @@ +[ + { + "type": "golang", + "namespace": "bitbucket.org/ehazlett/dialogue", + "name": "cli", + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": "Go", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:golang/code.google.com/p/go.crypto/ssh/terminal", + "extracted_requirement": "fe6c00a82e550c3be0c18b3ed05211c9c2ec8106", + "scope": "Deps", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:golang/github.com/Sirupsen/logrus", + "extracted_requirement": "5568a01db73b24230945a9ccd6813fac482e226f", + "scope": "Deps", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:golang/github.com/codegangsta/cli", + "extracted_requirement": "820deefc9031d101f085ef773425fc6ca7a5363e", + "scope": "Deps", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:golang/github.com/howeyc/gopass", + "extracted_requirement": "e8c0d21f59eb7f01086a39e47e05568acc9bb736", + "scope": "Deps", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + } + ], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "godeps", + "purl": "pkg:golang/bitbucket.org/ehazlett/dialogue/cli" + } +] \ No newline at end of file diff --git a/tests/packagedcode/data/godeps/Godeps.json-full b/tests/packagedcode/data/godeps/full/Godeps.json similarity index 100% rename from tests/packagedcode/data/godeps/Godeps.json-full rename to tests/packagedcode/data/godeps/full/Godeps.json diff --git a/tests/packagedcode/data/godeps/expected/Godeps.json-fullexpected.json b/tests/packagedcode/data/godeps/full/Godeps.json-expected similarity index 100% rename from tests/packagedcode/data/godeps/expected/Godeps.json-fullexpected.json rename to tests/packagedcode/data/godeps/full/Godeps.json-expected diff --git a/tests/packagedcode/data/godeps/full/Godeps.json-expected-package b/tests/packagedcode/data/godeps/full/Godeps.json-expected-package new file mode 100644 index 00000000000..d0030f97a4e --- /dev/null +++ b/tests/packagedcode/data/godeps/full/Godeps.json-expected-package @@ -0,0 +1,165 @@ +[ + { + "type": "golang", + "namespace": "github.com/cloudfoundry-incubator", + "name": "etcd-metrics-server", + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": "Go", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:golang/github.com/cloudfoundry-incubator/metricz", + "extracted_requirement": "d9bdb1b78384f05faa694175782055d5ba3966b5", + "scope": "Deps", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:golang/github.com/cloudfoundry/gosteno", + "extracted_requirement": "5eb8c6e554f0dfc39d6468813b8ac19ec28fe74f", + "scope": "Deps", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:golang/github.com/cloudfoundry/gunk/natsrunner", + "extracted_requirement": "8c166e2e973df123b29351b396bb8d356192bd81", + "scope": "Deps", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:golang/github.com/cloudfoundry/gunk/runner_support", + "extracted_requirement": "8c166e2e973df123b29351b396bb8d356192bd81", + "scope": "Deps", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:golang/github.com/cloudfoundry/gunk/test_server", + "extracted_requirement": "8c166e2e973df123b29351b396bb8d356192bd81", + "scope": "Deps", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:golang/github.com/cloudfoundry/gunk/urljoiner", + "extracted_requirement": "8c166e2e973df123b29351b396bb8d356192bd81", + "scope": "Deps", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:golang/github.com/cloudfoundry/loggregatorlib/cfcomponent/localip", + "extracted_requirement": "90e9aee1f6ae4ba750c6656c3fb529bf217b4908", + "scope": "Deps", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:golang/github.com/cloudfoundry/storeadapter", + "extracted_requirement": "75297e7f1b7c70951bb78c8122bc266288870829", + "scope": "Deps", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:golang/github.com/cloudfoundry/yagnats", + "extracted_requirement": "8bf15e48f3abf6db1765ff908ee678a6f347ce0a", + "scope": "Deps", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:golang/github.com/coreos/go-etcd/etcd", + "extracted_requirement": "1e26d8ee84cf9b1000d2af8acfb45b2521f49be5", + "scope": "Deps", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:golang/github.com/nu7hatch/gouuid", + "extracted_requirement": "179d4d0c4d8d407a32af483c2354df1d2c91e6c3", + "scope": "Deps", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:golang/github.com/onsi/ginkgo", + "extracted_requirement": "462cb7e31b222093d2fd2f4f0cbbce324f6ab3be", + "scope": "Deps", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:golang/github.com/onsi/gomega", + "extracted_requirement": "426c03a406ae6e4ffb9b65528d62439831d7c901", + "scope": "Deps", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:golang/github.com/vito/cmdtest", + "extracted_requirement": "215c451d78ba1382cbccb2736c280c60a11b4b86", + "scope": "Deps", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + } + ], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "godeps", + "purl": "pkg:golang/github.com/cloudfoundry-incubator/etcd-metrics-server" + } +] \ No newline at end of file diff --git a/tests/packagedcode/data/godeps/Godeps.json-full2 b/tests/packagedcode/data/godeps/full2/Godeps.json similarity index 100% rename from tests/packagedcode/data/godeps/Godeps.json-full2 rename to tests/packagedcode/data/godeps/full2/Godeps.json diff --git a/tests/packagedcode/data/godeps/expected/Godeps.json-full2expected.json b/tests/packagedcode/data/godeps/full2/Godeps.json-expected similarity index 100% rename from tests/packagedcode/data/godeps/expected/Godeps.json-full2expected.json rename to tests/packagedcode/data/godeps/full2/Godeps.json-expected diff --git a/tests/packagedcode/data/godeps/full2/Godeps.json-expected-package b/tests/packagedcode/data/godeps/full2/Godeps.json-expected-package new file mode 100644 index 00000000000..1a5b3c67872 --- /dev/null +++ b/tests/packagedcode/data/godeps/full2/Godeps.json-expected-package @@ -0,0 +1,129 @@ +[ + { + "type": "golang", + "namespace": "github.com/xanzy", + "name": "chef-guard", + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": "Go", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:golang/bitbucket.org/kardianos/osext", + "extracted_requirement": "5d3ddcf53a508cc2f7404eaebf546ef2cb5cdb6e", + "scope": "Deps", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:golang/code.google.com/p/gcfg", + "extracted_requirement": "c2d3050044d05357eaf6c3547249ba57c5e235cb", + "scope": "Deps", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:golang/code.google.com/p/goauth2/oauth", + "extracted_requirement": "6a3615e294b534a1c24cb5d3d7570fa8bbc30c99", + "scope": "Deps", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:golang/github.com/google/go-github/github", + "extracted_requirement": "823c72494dd3822890a5c878896a788eda197b94", + "scope": "Deps", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:golang/github.com/google/go-querystring/query", + "extracted_requirement": "ec0a78e0f4db229b7897be36596a8944230b857a", + "scope": "Deps", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:golang/github.com/gorilla/context", + "extracted_requirement": "14f550f51af52180c2eefed15e5fd18d63c0a64a", + "scope": "Deps", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:golang/github.com/gorilla/mux", + "extracted_requirement": "14cafe28513321476c73967a5a4f3454b6129c46", + "scope": "Deps", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:golang/github.com/marpaia/chef-golang", + "extracted_requirement": "89f0d0cdd0068c39e1f90f5e657b7c82899fc2c8", + "scope": "Deps", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:golang/github.com/marpaia/graphite-golang", + "extracted_requirement": "c5518419e353360b24b340ebd1066af7cab612c3", + "scope": "Deps", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:golang/github.com/xanzy/go-pathspec", + "extracted_requirement": "1df22d11e0dfefec0469a9f2c7c4588308b9a5c0", + "scope": "Deps", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + } + ], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "godeps", + "purl": "pkg:golang/github.com/xanzy/chef-guard" + } +] \ No newline at end of file diff --git a/tests/packagedcode/data/godeps/Godeps.json-medium b/tests/packagedcode/data/godeps/medium/Godeps.json similarity index 100% rename from tests/packagedcode/data/godeps/Godeps.json-medium rename to tests/packagedcode/data/godeps/medium/Godeps.json diff --git a/tests/packagedcode/data/godeps/expected/Godeps.json-mediumexpected.json b/tests/packagedcode/data/godeps/medium/Godeps.json-expected similarity index 100% rename from tests/packagedcode/data/godeps/expected/Godeps.json-mediumexpected.json rename to tests/packagedcode/data/godeps/medium/Godeps.json-expected diff --git a/tests/packagedcode/data/godeps/medium/Godeps.json-expected-package b/tests/packagedcode/data/godeps/medium/Godeps.json-expected-package new file mode 100644 index 00000000000..479aa20970e --- /dev/null +++ b/tests/packagedcode/data/godeps/medium/Godeps.json-expected-package @@ -0,0 +1,48 @@ +[ + { + "type": "golang", + "namespace": "github.com/goincremental", + "name": "dal", + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": "Go", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:golang/labix.org/v2/mgo", + "extracted_requirement": "gustavo@niemeyer.net-20140501184651-975yyw9ipld92pji", + "scope": "Deps", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + } + ], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "godeps", + "purl": "pkg:golang/github.com/goincremental/dal" + } +] \ No newline at end of file diff --git a/tests/packagedcode/data/godeps/Godeps.json-medium2 b/tests/packagedcode/data/godeps/medium2/Godeps.json similarity index 100% rename from tests/packagedcode/data/godeps/Godeps.json-medium2 rename to tests/packagedcode/data/godeps/medium2/Godeps.json diff --git a/tests/packagedcode/data/godeps/expected/Godeps.json-medium2expected.json b/tests/packagedcode/data/godeps/medium2/Godeps.json-expected similarity index 100% rename from tests/packagedcode/data/godeps/expected/Godeps.json-medium2expected.json rename to tests/packagedcode/data/godeps/medium2/Godeps.json-expected diff --git a/tests/packagedcode/data/godeps/medium2/Godeps.json-expected-package b/tests/packagedcode/data/godeps/medium2/Godeps.json-expected-package new file mode 100644 index 00000000000..1ccb7c3f461 --- /dev/null +++ b/tests/packagedcode/data/godeps/medium2/Godeps.json-expected-package @@ -0,0 +1,66 @@ +[ + { + "type": "golang", + "namespace": "github.com/sanbornm/go-selfupdate", + "name": "selfupdate", + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": "Go", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:golang/bitbucket.org/kardianos/osext", + "extracted_requirement": "5d3ddcf53a508cc2f7404eaebf546ef2cb5cdb6e", + "scope": "Deps", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:golang/github.com/inconshreveable/go-update", + "extracted_requirement": "3f0466666779bd2143f368a207b0641f0ed536e8", + "scope": "Deps", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:golang/github.com/kr/binarydist", + "extracted_requirement": "9955b0ab8708602d411341e55fffd7e0700f86bd", + "scope": "Deps", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + } + ], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "godeps", + "purl": "pkg:golang/github.com/sanbornm/go-selfupdate/selfupdate" + } +] \ No newline at end of file diff --git a/tests/packagedcode/data/godeps/Godeps.json-mini b/tests/packagedcode/data/godeps/mini/Godeps.json similarity index 100% rename from tests/packagedcode/data/godeps/Godeps.json-mini rename to tests/packagedcode/data/godeps/mini/Godeps.json diff --git a/tests/packagedcode/data/godeps/expected/Godeps.json-miniexpected.json b/tests/packagedcode/data/godeps/mini/Godeps.json-expected similarity index 100% rename from tests/packagedcode/data/godeps/expected/Godeps.json-miniexpected.json rename to tests/packagedcode/data/godeps/mini/Godeps.json-expected diff --git a/tests/packagedcode/data/godeps/mini/Godeps.json-expected-package b/tests/packagedcode/data/godeps/mini/Godeps.json-expected-package new file mode 100644 index 00000000000..01a8581137a --- /dev/null +++ b/tests/packagedcode/data/godeps/mini/Godeps.json-expected-package @@ -0,0 +1,38 @@ +[ + { + "type": "golang", + "namespace": null, + "name": "app", + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": "Go", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "godeps", + "purl": "pkg:golang/app" + } +] \ No newline at end of file diff --git a/tests/packagedcode/data/godeps/Godeps.json-package1 b/tests/packagedcode/data/godeps/package1/Godeps.json similarity index 100% rename from tests/packagedcode/data/godeps/Godeps.json-package1 rename to tests/packagedcode/data/godeps/package1/Godeps.json diff --git a/tests/packagedcode/data/godeps/expected/Godeps.json-package1expected.json b/tests/packagedcode/data/godeps/package1/Godeps.json-expected similarity index 100% rename from tests/packagedcode/data/godeps/expected/Godeps.json-package1expected.json rename to tests/packagedcode/data/godeps/package1/Godeps.json-expected diff --git a/tests/packagedcode/data/godeps/package1/Godeps.json-expected-package b/tests/packagedcode/data/godeps/package1/Godeps.json-expected-package new file mode 100644 index 00000000000..6972d899da6 --- /dev/null +++ b/tests/packagedcode/data/godeps/package1/Godeps.json-expected-package @@ -0,0 +1,120 @@ +[ + { + "type": "golang", + "namespace": "github.com/calmh", + "name": "mole", + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": "Go", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:golang/bitbucket.org/kardianos/osext", + "extracted_requirement": "364fb577de68fb646c4cb39cc0e09c887ee16376", + "scope": "Deps", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:golang/code.google.com/p/go.crypto/ssh", + "extracted_requirement": "6478cc9340cbbe6c04511280c5007722269108e9", + "scope": "Deps", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:golang/code.google.com/p/go.crypto/twofish", + "extracted_requirement": "6478cc9340cbbe6c04511280c5007722269108e9", + "scope": "Deps", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:golang/code.google.com/p/go.net/proxy", + "extracted_requirement": "55437409069bb181ad562b1ad1e5f361c44aff17", + "scope": "Deps", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:golang/github.com/calmh/ini", + "extracted_requirement": "1020b6d8618a7dc6031cda4a7782324eac346875", + "scope": "Deps", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:golang/github.com/calmh/randomart", + "extracted_requirement": "c93aeb3ba3f3e6081cd41b1f2c46e95403491ec5", + "scope": "Deps", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:golang/github.com/mavricknz/asn1-ber", + "extracted_requirement": "e10e7f5ff26c0805e6dd35fe3f5ec0d6de09c160", + "scope": "Deps", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:golang/github.com/mavricknz/ldap", + "extracted_requirement": "6e4860d2f38e0a6ccbbb8eda955d80ab4e39f692", + "scope": "Deps", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:golang/github.com/sbinet/liner", + "extracted_requirement": "3d8e6ee550f5d4f4105967410a16fd5c8b47bde4", + "scope": "Deps", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + } + ], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "godeps", + "purl": "pkg:golang/github.com/calmh/mole" + } +] \ No newline at end of file diff --git a/tests/packagedcode/data/godeps/Godeps.json-package2 b/tests/packagedcode/data/godeps/package2/Godeps.json similarity index 100% rename from tests/packagedcode/data/godeps/Godeps.json-package2 rename to tests/packagedcode/data/godeps/package2/Godeps.json diff --git a/tests/packagedcode/data/godeps/expected/Godeps.json-package2expected.json b/tests/packagedcode/data/godeps/package2/Godeps.json-expected similarity index 100% rename from tests/packagedcode/data/godeps/expected/Godeps.json-package2expected.json rename to tests/packagedcode/data/godeps/package2/Godeps.json-expected diff --git a/tests/packagedcode/data/godeps/package2/Godeps.json-expected-package b/tests/packagedcode/data/godeps/package2/Godeps.json-expected-package new file mode 100644 index 00000000000..9ebd54c31ee --- /dev/null +++ b/tests/packagedcode/data/godeps/package2/Godeps.json-expected-package @@ -0,0 +1,38 @@ +[ + { + "type": "golang", + "namespace": "_/Users/Daryl/Go/src", + "name": "daryl.im", + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": "Go", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "godeps", + "purl": "pkg:golang/_/Users/Daryl/Go/src/daryl.im" + } +] \ No newline at end of file diff --git a/tests/packagedcode/data/godeps/Godeps.json-package3 b/tests/packagedcode/data/godeps/package3/Godeps.json similarity index 100% rename from tests/packagedcode/data/godeps/Godeps.json-package3 rename to tests/packagedcode/data/godeps/package3/Godeps.json diff --git a/tests/packagedcode/data/godeps/expected/Godeps.json-package3expected.json b/tests/packagedcode/data/godeps/package3/Godeps.json-expected similarity index 100% rename from tests/packagedcode/data/godeps/expected/Godeps.json-package3expected.json rename to tests/packagedcode/data/godeps/package3/Godeps.json-expected diff --git a/tests/packagedcode/data/godeps/package3/Godeps.json-expected-package b/tests/packagedcode/data/godeps/package3/Godeps.json-expected-package new file mode 100644 index 00000000000..323aa34c85f --- /dev/null +++ b/tests/packagedcode/data/godeps/package3/Godeps.json-expected-package @@ -0,0 +1,48 @@ +[ + { + "type": "golang", + "namespace": "github.com/monochromegane", + "name": "hoi", + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": "Go", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:golang/github.com/jessevdk/go-flags", + "extracted_requirement": "8ec9564882e7923e632f012761c81c46dcf5bec1", + "scope": "Deps", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + } + ], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "godeps", + "purl": "pkg:golang/github.com/monochromegane/hoi" + } +] \ No newline at end of file diff --git a/tests/packagedcode/data/godeps/Godeps.json-simple b/tests/packagedcode/data/godeps/simple/Godeps.json similarity index 100% rename from tests/packagedcode/data/godeps/Godeps.json-simple rename to tests/packagedcode/data/godeps/simple/Godeps.json diff --git a/tests/packagedcode/data/godeps/expected/Godeps.json-simpleexpected.json b/tests/packagedcode/data/godeps/simple/Godeps.json-expected similarity index 100% rename from tests/packagedcode/data/godeps/expected/Godeps.json-simpleexpected.json rename to tests/packagedcode/data/godeps/simple/Godeps.json-expected diff --git a/tests/packagedcode/data/godeps/simple/Godeps.json-expected-package b/tests/packagedcode/data/godeps/simple/Godeps.json-expected-package new file mode 100644 index 00000000000..5c564074bbc --- /dev/null +++ b/tests/packagedcode/data/godeps/simple/Godeps.json-expected-package @@ -0,0 +1,48 @@ +[ + { + "type": "golang", + "namespace": "gaelgillard", + "name": "lnk", + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": "Go", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:golang/github.com/codegangsta/cli", + "extracted_requirement": "820deefc9031d101f085ef773425fc6ca7a5363e", + "scope": "Deps", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + } + ], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "godeps", + "purl": "pkg:golang/gaelgillard/lnk" + } +] \ No newline at end of file diff --git a/tests/packagedcode/data/golang/gomod/kingpin/output.expected.json b/tests/packagedcode/data/golang/gomod/kingpin/output.expected.json index 70ec886c9af..8e262eeb54e 100644 --- a/tests/packagedcode/data/golang/gomod/kingpin/output.expected.json +++ b/tests/packagedcode/data/golang/gomod/kingpin/output.expected.json @@ -25,8 +25,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -75,9 +75,10 @@ "resolved_package": {} } ], - "purl": "pkg:golang/github.com/alecthomas/kingpin", "repository_homepage_url": "https://pkg.go.dev/github.com/alecthomas/kingpin", "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "go_mod", + "purl": "pkg:golang/github.com/alecthomas/kingpin" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/golang/gomod/opencensus-service/output.expected.json b/tests/packagedcode/data/golang/gomod/opencensus-service/output.expected.json index 803b74e6a57..e7a25f404e7 100644 --- a/tests/packagedcode/data/golang/gomod/opencensus-service/output.expected.json +++ b/tests/packagedcode/data/golang/gomod/opencensus-service/output.expected.json @@ -25,8 +25,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -48,9 +48,10 @@ "resolved_package": {} } ], - "purl": "pkg:golang/github.com/census-instrumentation/opencensus-service", "repository_homepage_url": "https://pkg.go.dev/github.com/census-instrumentation/opencensus-service", "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "go_mod", + "purl": "pkg:golang/github.com/census-instrumentation/opencensus-service" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/golang/gomod/participle/output.expected.json b/tests/packagedcode/data/golang/gomod/participle/output.expected.json index 1f6c06c1ff9..e96da4fd23a 100644 --- a/tests/packagedcode/data/golang/gomod/participle/output.expected.json +++ b/tests/packagedcode/data/golang/gomod/participle/output.expected.json @@ -25,8 +25,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -57,9 +57,10 @@ "resolved_package": {} } ], - "purl": "pkg:golang/github.com/alecthomas/participle", "repository_homepage_url": "https://pkg.go.dev/github.com/alecthomas/participle", "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "go_mod", + "purl": "pkg:golang/github.com/alecthomas/participle" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/golang/gomod/sample/output.expected.json b/tests/packagedcode/data/golang/gomod/sample/output.expected.json index 6235d5cb577..989d1115fef 100644 --- a/tests/packagedcode/data/golang/gomod/sample/output.expected.json +++ b/tests/packagedcode/data/golang/gomod/sample/output.expected.json @@ -25,8 +25,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -57,9 +57,10 @@ "resolved_package": {} } ], - "purl": "pkg:golang/github.com/alecthomas/sample", "repository_homepage_url": "https://pkg.go.dev/github.com/alecthomas/sample", "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "go_mod", + "purl": "pkg:golang/github.com/alecthomas/sample" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/golang/gomod/uap-go/output.expected.json b/tests/packagedcode/data/golang/gomod/uap-go/output.expected.json index a725ec9521b..b55c86fbb79 100644 --- a/tests/packagedcode/data/golang/gomod/uap-go/output.expected.json +++ b/tests/packagedcode/data/golang/gomod/uap-go/output.expected.json @@ -25,8 +25,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -39,9 +39,10 @@ "resolved_package": {} } ], - "purl": "pkg:golang/github.com/ua-parser/uap-go", "repository_homepage_url": "https://pkg.go.dev/github.com/ua-parser/uap-go", "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "go_mod", + "purl": "pkg:golang/github.com/ua-parser/uap-go" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/golang/gomod/user_agent/output.expected.json b/tests/packagedcode/data/golang/gomod/user_agent/output.expected.json index 412a08b62e1..7292b4eae86 100644 --- a/tests/packagedcode/data/golang/gomod/user_agent/output.expected.json +++ b/tests/packagedcode/data/golang/gomod/user_agent/output.expected.json @@ -25,13 +25,14 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:golang/github.com/mssola/user_agent", "repository_homepage_url": "https://pkg.go.dev/github.com/mssola/user_agent", "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "go_mod", + "purl": "pkg:golang/github.com/mssola/user_agent" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/golang/gosum/sample1/output.expected.json b/tests/packagedcode/data/golang/gosum/sample1/output.expected.json index 55ed03ce052..545ea3237bd 100644 --- a/tests/packagedcode/data/golang/gosum/sample1/output.expected.json +++ b/tests/packagedcode/data/golang/gosum/sample1/output.expected.json @@ -25,8 +25,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -48,9 +48,10 @@ "resolved_package": {} } ], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "go_sum", + "purl": null } ] \ No newline at end of file diff --git a/tests/packagedcode/data/golang/gosum/sample2/output.expected.json b/tests/packagedcode/data/golang/gosum/sample2/output.expected.json index e4e38d79a0c..fc4f60412b7 100644 --- a/tests/packagedcode/data/golang/gosum/sample2/output.expected.json +++ b/tests/packagedcode/data/golang/gosum/sample2/output.expected.json @@ -25,8 +25,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -39,9 +39,10 @@ "resolved_package": {} } ], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "go_sum", + "purl": null } ] \ No newline at end of file diff --git a/tests/packagedcode/data/golang/gosum/sample3/output.expected.json b/tests/packagedcode/data/golang/gosum/sample3/output.expected.json index 0ddcfc3c040..f8890ec5952 100644 --- a/tests/packagedcode/data/golang/gosum/sample3/output.expected.json +++ b/tests/packagedcode/data/golang/gosum/sample3/output.expected.json @@ -25,8 +25,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -48,9 +48,10 @@ "resolved_package": {} } ], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "go_sum", + "purl": null } ] \ No newline at end of file diff --git a/tests/packagedcode/data/golang/gosum/sample4/output.expected.json b/tests/packagedcode/data/golang/gosum/sample4/output.expected.json index 34f2206265e..2aac085e4da 100644 --- a/tests/packagedcode/data/golang/gosum/sample4/output.expected.json +++ b/tests/packagedcode/data/golang/gosum/sample4/output.expected.json @@ -25,8 +25,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -66,9 +66,10 @@ "resolved_package": {} } ], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "go_sum", + "purl": null } ] \ No newline at end of file diff --git a/tests/packagedcode/data/golang/gosum/sample5/output.expected.json b/tests/packagedcode/data/golang/gosum/sample5/output.expected.json index ab005826509..45cc12215b4 100644 --- a/tests/packagedcode/data/golang/gosum/sample5/output.expected.json +++ b/tests/packagedcode/data/golang/gosum/sample5/output.expected.json @@ -25,8 +25,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -48,9 +48,10 @@ "resolved_package": {} } ], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "go_sum", + "purl": null } ] \ No newline at end of file diff --git a/tests/packagedcode/data/golang/gosum/sample6/output.expected.json b/tests/packagedcode/data/golang/gosum/sample6/output.expected.json index 73a0f87bcc3..eda1325754a 100644 --- a/tests/packagedcode/data/golang/gosum/sample6/output.expected.json +++ b/tests/packagedcode/data/golang/gosum/sample6/output.expected.json @@ -25,8 +25,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -39,9 +39,10 @@ "resolved_package": {} } ], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "go_sum", + "purl": null } ] \ No newline at end of file diff --git a/tests/packagedcode/data/haxe/basic/haxelib.json.expected b/tests/packagedcode/data/haxe/basic/haxelib.json.expected index cd6488799d2..cdd96106a96 100644 --- a/tests/packagedcode/data/haxe/basic/haxelib.json.expected +++ b/tests/packagedcode/data/haxe/basic/haxelib.json.expected @@ -71,13 +71,14 @@ "license_expression": "gpl-1.0-plus", "declared_license": "GPL", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:haxe/haxelib@3.4.0", "repository_homepage_url": "https://lib.haxe.org/p/haxelib", "repository_download_url": "https://lib.haxe.org/p/haxelib/3.4.0/download/", - "api_data_url": null + "api_data_url": null, + "datasource_id": "haxelib_json", + "purl": "pkg:haxe/haxelib@3.4.0" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/haxe/basic2/haxelib.json.expected b/tests/packagedcode/data/haxe/basic2/haxelib.json.expected index 7f4b9a47c24..b68655c3559 100644 --- a/tests/packagedcode/data/haxe/basic2/haxelib.json.expected +++ b/tests/packagedcode/data/haxe/basic2/haxelib.json.expected @@ -38,13 +38,14 @@ "license_expression": "mit", "declared_license": "MIT", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:haxe/hxsocketio@0.1.0", "repository_homepage_url": "https://lib.haxe.org/p/hxsocketio", "repository_download_url": "https://lib.haxe.org/p/hxsocketio/0.1.0/download/", - "api_data_url": null + "api_data_url": null, + "datasource_id": "haxelib_json", + "purl": "pkg:haxe/hxsocketio@0.1.0" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/haxe/deps/haxelib.json.expected b/tests/packagedcode/data/haxe/deps/haxelib.json.expected index e5f6a780893..f9e2e012538 100644 --- a/tests/packagedcode/data/haxe/deps/haxelib.json.expected +++ b/tests/packagedcode/data/haxe/deps/haxelib.json.expected @@ -46,8 +46,8 @@ "license_expression": "unknown", "declared_license": "BSD", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -69,9 +69,10 @@ "resolved_package": {} } ], - "purl": "pkg:haxe/selecthxml@0.5.1", "repository_homepage_url": "https://lib.haxe.org/p/selecthxml", "repository_download_url": "https://lib.haxe.org/p/selecthxml/0.5.1/download/", - "api_data_url": null + "api_data_url": null, + "datasource_id": "haxelib_json", + "purl": "pkg:haxe/selecthxml@0.5.1" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/haxe/tags/haxelib.json.expected b/tests/packagedcode/data/haxe/tags/haxelib.json.expected index ba698788a09..a0b545e3a17 100644 --- a/tests/packagedcode/data/haxe/tags/haxelib.json.expected +++ b/tests/packagedcode/data/haxe/tags/haxelib.json.expected @@ -43,13 +43,14 @@ "license_expression": "mit", "declared_license": "MIT", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:haxe/tink_core@1.18.0", "repository_homepage_url": "https://lib.haxe.org/p/tink_core", "repository_download_url": "https://lib.haxe.org/p/tink_core/1.18.0/download/", - "api_data_url": null + "api_data_url": null, + "datasource_id": "haxelib_json", + "purl": "pkg:haxe/tink_core@1.18.0" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/instance/pypi-with-test-manifests/tox.ini b/tests/packagedcode/data/instance/pypi-with-test-manifests/tox.ini deleted file mode 100644 index 8a48a1cdb3b..00000000000 --- a/tests/packagedcode/data/instance/pypi-with-test-manifests/tox.ini +++ /dev/null @@ -1,55 +0,0 @@ -[tox] -envlist = python -minversion = 3.2 -# https://github.com/jaraco/skeleton/issues/6 -tox_pip_extensions_ext_venv_update = true -toxworkdir={env:TOX_WORK_DIR:.tox} - -[testenv] -deps = - # workaround for sphinx-doc/sphinx#9562 - # TODO: remove after Sphinx>4.1.2 is available. - sphinx@git+https://github.com/sphinx-doc/sphinx; python_version>="3.10" -commands = - pytest {posargs} -usedevelop = True -extras = testing -passenv = - windir # required for test_pkg_resources - -[testenv:docs] -extras = - docs - testing -changedir = docs -commands = - python -m sphinx -W --keep-going . {toxinidir}/build/html - -[testenv:finalize] -skip_install = True -deps = - towncrier - bump2version -passenv = * -commands = - python tools/finalize.py - -[testenv:release] -skip_install = True -deps = - build - twine>=3 - jaraco.develop>=7.1 -passenv = - TWINE_PASSWORD - GITHUB_TOKEN -setenv = - TWINE_USERNAME = {env:TWINE_USERNAME:__token__} -commands = - python -m bootstrap - python -c "import shutil; shutil.rmtree('dist', ignore_errors=True)" - # unset tag_build and tag_date pypa/setuptools#2500 - python setup.py egg_info -Db "" saveopts - python -m build - python -m twine upload dist/* - python -m jaraco.develop.create-github-release diff --git a/tests/packagedcode/data/instance/python-manifests-atomicwrites-scanned-result.json b/tests/packagedcode/data/instance/python-manifests-atomicwrites-scanned-result.json index 60d85ed81f5..a291a5b7584 100644 --- a/tests/packagedcode/data/instance/python-manifests-atomicwrites-scanned-result.json +++ b/tests/packagedcode/data/instance/python-manifests-atomicwrites-scanned-result.json @@ -45,10 +45,9 @@ ] }, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, - "package_uuid": null, + "package_uid": null, "package_data_files": [], "files": [], "purl": "pkg:pypi/atomicwrites@1.2.1", diff --git a/tests/packagedcode/data/instance/python-manifests-atomicwrites-scanned.json b/tests/packagedcode/data/instance/python-manifests-atomicwrites-scanned.json index 9dd87feb27c..d09fcf1c7e2 100644 --- a/tests/packagedcode/data/instance/python-manifests-atomicwrites-scanned.json +++ b/tests/packagedcode/data/instance/python-manifests-atomicwrites-scanned.json @@ -1,4 +1,60 @@ [ + { + "type": "pypi", + "namespace": null, + "name": "atomicwrites", + "version": "1.2.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "Python", + "description": "===================\npython-atomicwrites\n===================\n\n.. image:: https://travis-ci.org/untitaker/python-atomicwrites.svg?branch=master\n :target: https://travis-ci.org/untitaker/python-atomicwrites\n\n.. image:: https://ci.appveyor.com/api/projects/status/vadc4le3c27to59x/branch/master?svg=true\n :target: https://ci.appveyor.com/project/untitaker/python-atomicwrites/branch/master\n\nAtomic file writes.\n\n.. code-block:: python\n\n from atomicwrites import atomic_write\n\n with atomic_write('foo.txt', overwrite=True) as f:\n f.write('Hello world.')\n # \"foo.txt\" doesn't exist yet.\n\n # Now it does.\n\n\nFeatures that distinguish it from other similar libraries (see `Alternatives and Credit`_):\n\n- Race-free assertion that the target file doesn't yet exist. This can be\n controlled with the ``overwrite`` parameter.\n\n- Windows support, although not well-tested. The MSDN resources are not very\n explicit about which operations are atomic. I'm basing my assumptions off `a\n comment\n `_\n by `Doug Crook\n `_, who appears\n to be a Microsoft employee:\n\n FAQ: Is MoveFileEx atomic\n Frequently asked question: Is MoveFileEx atomic if the existing and new\n files are both on the same drive?\n\n The simple answer is \"usually, but in some cases it will silently fall-back\n to a non-atomic method, so don't count on it\".\n\n The implementation of MoveFileEx looks something like this: [...]\n\n The problem is if the rename fails, you might end up with a CopyFile, which\n is definitely not atomic.\n\n If you really need atomic-or-nothing, you can try calling\n NtSetInformationFile, which is unsupported but is much more likely to be\n atomic. \n\n- Simple high-level API that wraps a very flexible class-based API.\n\n- Consistent error handling across platforms.\n\n\nHow it works\n============\n\nIt uses a temporary file in the same directory as the given path. This ensures\nthat the temporary file resides on the same filesystem.\n\nThe temporary file will then be atomically moved to the target location: On\nPOSIX, it will use ``rename`` if files should be overwritten, otherwise a\ncombination of ``link`` and ``unlink``. On Windows, it uses MoveFileEx_ through\nstdlib's ``ctypes`` with the appropriate flags.\n\nNote that with ``link`` and ``unlink``, there's a timewindow where the file\nmight be available under two entries in the filesystem: The name of the\ntemporary file, and the name of the target file.\n\nAlso note that the permissions of the target file may change this way. In some\nsituations a ``chmod`` can be issued without any concurrency problems, but\nsince that is not always the case, this library doesn't do it by itself.\n\n.. _MoveFileEx: https://msdn.microsoft.com/en-us/library/windows/desktop/aa365240%28v=vs.85%29.aspx\n\nfsync\n-----\n\nOn POSIX, ``fsync`` is invoked on the temporary file after it is written (to\nflush file content and metadata), and on the parent directory after the file is\nmoved (to flush filename).\n\n``fsync`` does not take care of disks' internal buffers, but there don't seem\nto be any standard POSIX APIs for that. On OS X, ``fcntl`` is used with\n``F_FULLFSYNC`` instead of ``fsync`` for that reason.\n\nOn Windows, `_commit `_\nis used, but there are no guarantees about disk internal buffers.\n\nAlternatives and Credit\n=======================\n\nAtomicwrites is directly inspired by the following libraries (and shares a\nminimal amount of code):\n\n- The Trac project's `utility functions\n `_,\n also used in `Werkzeug `_ and\n `mitsuhiko/python-atomicfile\n `_. The idea to use\n ``ctypes`` instead of ``PyWin32`` originated there.\n\n- `abarnert/fatomic `_. Windows support\n (based on ``PyWin32``) was originally taken from there.\n\nOther alternatives to atomicwrites include:\n\n- `sashka/atomicfile `_. Originally I\n considered using that, but at the time it was lacking a lot of features I\n needed (Windows support, overwrite-parameter, overriding behavior through\n subclassing).\n\n- The `Boltons library collection `_\n features a class for atomic file writes, which seems to have a very similar\n ``overwrite`` parameter. It is lacking Windows support though.\n\nLicense\n=======\n\nLicensed under the MIT, see ``LICENSE``.", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Markus Unterwaditzer", + "email": "markus@unterwaditzer.net", + "url": null + } + ], + "keywords": [ + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: Implementation :: CPython" + ], + "homepage_url": "https://github.com/untitaker/python-atomicwrites", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": "mit", + "declared_license": { + "license": "MIT", + "classifiers": [ + "License :: OSI Approved :: MIT License" + ] + }, + "notice_text": null, + "dependencies": [], + "source_packages": [], + "extra_data": {}, + "purl": "pkg:pypi/atomicwrites@1.2.1", + "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_download_url": "https://pypi.org/packages/source/a/atomicwrites/atomicwrites-1.2.1.tar.gz", + "api_data_url": "https://pypi.org/pypi/atomicwrites/1.2.1/json", + "datasource_id": null + }, { "type": "pypi", "namespace": null, @@ -25,7 +81,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "root_path": "atomicwrites/Pipfile.lock", "dependencies": [ { "purl": "pkg:pypi/atomicwrites@1.1.5", @@ -164,70 +219,13 @@ "is_resolved": true } ], - "contains_source_code": null, "source_packages": [], "extra_data": {}, "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null - }, - { - "type": "pypi", - "namespace": null, - "name": "atomicwrites", - "version": "1.2.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "Python", - "description": "===================\npython-atomicwrites\n===================\n\n.. image:: https://travis-ci.org/untitaker/python-atomicwrites.svg?branch=master\n :target: https://travis-ci.org/untitaker/python-atomicwrites\n\n.. image:: https://ci.appveyor.com/api/projects/status/vadc4le3c27to59x/branch/master?svg=true\n :target: https://ci.appveyor.com/project/untitaker/python-atomicwrites/branch/master\n\nAtomic file writes.\n\n.. code-block:: python\n\n from atomicwrites import atomic_write\n\n with atomic_write('foo.txt', overwrite=True) as f:\n f.write('Hello world.')\n # \"foo.txt\" doesn't exist yet.\n\n # Now it does.\n\n\nFeatures that distinguish it from other similar libraries (see `Alternatives and Credit`_):\n\n- Race-free assertion that the target file doesn't yet exist. This can be\n controlled with the ``overwrite`` parameter.\n\n- Windows support, although not well-tested. The MSDN resources are not very\n explicit about which operations are atomic. I'm basing my assumptions off `a\n comment\n `_\n by `Doug Crook\n `_, who appears\n to be a Microsoft employee:\n\n FAQ: Is MoveFileEx atomic\n Frequently asked question: Is MoveFileEx atomic if the existing and new\n files are both on the same drive?\n\n The simple answer is \"usually, but in some cases it will silently fall-back\n to a non-atomic method, so don't count on it\".\n\n The implementation of MoveFileEx looks something like this: [...]\n\n The problem is if the rename fails, you might end up with a CopyFile, which\n is definitely not atomic.\n\n If you really need atomic-or-nothing, you can try calling\n NtSetInformationFile, which is unsupported but is much more likely to be\n atomic. \n\n- Simple high-level API that wraps a very flexible class-based API.\n\n- Consistent error handling across platforms.\n\n\nHow it works\n============\n\nIt uses a temporary file in the same directory as the given path. This ensures\nthat the temporary file resides on the same filesystem.\n\nThe temporary file will then be atomically moved to the target location: On\nPOSIX, it will use ``rename`` if files should be overwritten, otherwise a\ncombination of ``link`` and ``unlink``. On Windows, it uses MoveFileEx_ through\nstdlib's ``ctypes`` with the appropriate flags.\n\nNote that with ``link`` and ``unlink``, there's a timewindow where the file\nmight be available under two entries in the filesystem: The name of the\ntemporary file, and the name of the target file.\n\nAlso note that the permissions of the target file may change this way. In some\nsituations a ``chmod`` can be issued without any concurrency problems, but\nsince that is not always the case, this library doesn't do it by itself.\n\n.. _MoveFileEx: https://msdn.microsoft.com/en-us/library/windows/desktop/aa365240%28v=vs.85%29.aspx\n\nfsync\n-----\n\nOn POSIX, ``fsync`` is invoked on the temporary file after it is written (to\nflush file content and metadata), and on the parent directory after the file is\nmoved (to flush filename).\n\n``fsync`` does not take care of disks' internal buffers, but there don't seem\nto be any standard POSIX APIs for that. On OS X, ``fcntl`` is used with\n``F_FULLFSYNC`` instead of ``fsync`` for that reason.\n\nOn Windows, `_commit `_\nis used, but there are no guarantees about disk internal buffers.\n\nAlternatives and Credit\n=======================\n\nAtomicwrites is directly inspired by the following libraries (and shares a\nminimal amount of code):\n\n- The Trac project's `utility functions\n `_,\n also used in `Werkzeug `_ and\n `mitsuhiko/python-atomicfile\n `_. The idea to use\n ``ctypes`` instead of ``PyWin32`` originated there.\n\n- `abarnert/fatomic `_. Windows support\n (based on ``PyWin32``) was originally taken from there.\n\nOther alternatives to atomicwrites include:\n\n- `sashka/atomicfile `_. Originally I\n considered using that, but at the time it was lacking a lot of features I\n needed (Windows support, overwrite-parameter, overriding behavior through\n subclassing).\n\n- The `Boltons library collection `_\n features a class for atomic file writes, which seems to have a very similar\n ``overwrite`` parameter. It is lacking Windows support though.\n\nLicense\n=======\n\nLicensed under the MIT, see ``LICENSE``.", - "release_date": null, - "parties": [ - { - "type": "person", - "role": "author", - "name": "Markus Unterwaditzer", - "email": "markus@unterwaditzer.net", - "url": null - } - ], - "keywords": [ - "Programming Language :: Python :: 2", - "Programming Language :: Python :: 2.7", - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.4", - "Programming Language :: Python :: 3.5", - "Programming Language :: Python :: 3.6", - "Programming Language :: Python :: Implementation :: CPython" - ], - "homepage_url": "https://github.com/untitaker/python-atomicwrites", - "download_url": null, - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": "mit", - "declared_license": { - "license": "MIT", - "classifiers": [ - "License :: OSI Approved :: MIT License" - ] - }, - "notice_text": null, - "root_path": "atomicwrites/atomicwrites-1.2.1-py2.py3-none-any.whl", - "dependencies": [], - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "purl": "pkg:pypi/atomicwrites@1.2.1", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", - "repository_download_url": "https://pypi.org/packages/source/a/atomicwrites/atomicwrites-1.2.1.tar.gz", - "api_data_url": "https://pypi.org/pypi/atomicwrites/1.2.1/json" + "api_data_url": null, + "datasource_id": null } ] \ No newline at end of file diff --git a/tests/packagedcode/data/instance/python-manifests-click-scanned-result.json b/tests/packagedcode/data/instance/python-manifests-click-scanned-result.json index f0b6e16a24c..7c133e2c554 100644 --- a/tests/packagedcode/data/instance/python-manifests-click-scanned-result.json +++ b/tests/packagedcode/data/instance/python-manifests-click-scanned-result.json @@ -49,10 +49,9 @@ ] }, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, - "package_uuid": null, + "package_uid": null, "package_data_files": [], "files": [], "purl": "pkg:pypi/click@8.0.1", diff --git a/tests/packagedcode/data/instance/python-manifests-click-scanned.json b/tests/packagedcode/data/instance/python-manifests-click-scanned.json index e51a546f650..b59cc6f8e6e 100644 --- a/tests/packagedcode/data/instance/python-manifests-click-scanned.json +++ b/tests/packagedcode/data/instance/python-manifests-click-scanned.json @@ -50,7 +50,6 @@ ] }, "notice_text": null, - "root_path": "METADATA", "dependencies": [ { "purl": "pkg:pypi/colorama", @@ -69,13 +68,13 @@ "is_resolved": false } ], - "contains_source_code": null, "source_packages": [], "extra_data": {}, "purl": "pkg:pypi/click@8.0.1", "repository_homepage_url": "https://pypi.org/project/https://pypi.org", "repository_download_url": "https://pypi.org/packages/source/c/click/click-8.0.1.tar.gz", - "api_data_url": "https://pypi.org/pypi/click/8.0.1/json" + "api_data_url": "https://pypi.org/pypi/click/8.0.1/json", + "datasource_id": null }, { "type": "pypi", @@ -103,15 +102,14 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "root_path": "setup.cfg", "dependencies": [], - "contains_source_code": null, "source_packages": [], "extra_data": {}, "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": null }, { "type": "pypi", @@ -139,7 +137,6 @@ "license_expression": null, "declared_license": {}, "notice_text": null, - "root_path": "setup.py", "dependencies": [ { "purl": "pkg:pypi/colorama", @@ -158,13 +155,13 @@ "is_resolved": false } ], - "contains_source_code": null, "source_packages": [], "extra_data": {}, "purl": "pkg:pypi/click", "repository_homepage_url": "https://pypi.org/project/https://pypi.org", "repository_download_url": null, - "api_data_url": "https://pypi.org/pypi/click/json" + "api_data_url": "https://pypi.org/pypi/click/json", + "datasource_id": null }, { "type": "pypi", @@ -192,7 +189,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "root_path": "tox.ini", "dependencies": [ { "purl": "pkg:pypi/pre-commit", @@ -203,12 +199,12 @@ "is_resolved": false } ], - "contains_source_code": null, "source_packages": [], "extra_data": {}, "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": null } ] \ No newline at end of file diff --git a/tests/packagedcode/data/instance/python-package-instance-expected-with-test-manifests.json b/tests/packagedcode/data/instance/python-package-instance-expected-with-test-manifests.json index 8cb87a4b256..fcb7b17b733 100644 --- a/tests/packagedcode/data/instance/python-package-instance-expected-with-test-manifests.json +++ b/tests/packagedcode/data/instance/python-package-instance-expected-with-test-manifests.json @@ -16,72 +16,11 @@ "warnings": [], "extra_data": { "spdx_license_list_version": "3.16", - "files_count": 9 + "files_count": 8 } } ], - "dependencies": [ - { - "purl": "pkg:pypi/towncrier", - "extracted_requirement": "towncrier", - "scope": "install", - "is_runtime": true, - "is_optional": false, - "is_resolved": false, - "resolved_package": {}, - "dependency_uuid": "pkg:pypi/towncrier", - "for_package": "pkg:pypi/setuptools@58.2.0", - "lockfile": "tox.ini" - }, - { - "purl": "pkg:pypi/bump2version", - "extracted_requirement": "bump2version", - "scope": "install", - "is_runtime": true, - "is_optional": false, - "is_resolved": false, - "resolved_package": {}, - "dependency_uuid": "pkg:pypi/bump2version", - "for_package": "pkg:pypi/setuptools@58.2.0", - "lockfile": "tox.ini" - }, - { - "purl": "pkg:pypi/build", - "extracted_requirement": "build", - "scope": "install", - "is_runtime": true, - "is_optional": false, - "is_resolved": false, - "resolved_package": {}, - "dependency_uuid": "pkg:pypi/build", - "for_package": "pkg:pypi/setuptools@58.2.0", - "lockfile": "tox.ini" - }, - { - "purl": "pkg:pypi/twine", - "extracted_requirement": ">=3", - "scope": "install", - "is_runtime": true, - "is_optional": false, - "is_resolved": false, - "resolved_package": {}, - "dependency_uuid": "pkg:pypi/twine", - "for_package": "pkg:pypi/setuptools@58.2.0", - "lockfile": "tox.ini" - }, - { - "purl": "pkg:pypi/jaraco.develop", - "extracted_requirement": ">=7.1", - "scope": "install", - "is_runtime": true, - "is_optional": false, - "is_resolved": false, - "resolved_package": {}, - "dependency_uuid": "pkg:pypi/jaraco.develop", - "for_package": "pkg:pypi/setuptools@58.2.0", - "lockfile": "tox.ini" - } - ], + "dependencies": [], "packages": [ { "type": "pypi", @@ -131,30 +70,21 @@ ] }, "notice_text": null, - "contains_source_code": null, "source_packages": [], - "extra_data": {}, - "package_uuid": "pkg:pypi/setuptools@58.2.0", - "package_data_files": [ - "PKG-INFO", - "setup.py", - "tox.ini" + "extra_data": { + "Documentation": "Documentation, https://setuptools.readthedocs.io/" + }, + "repository_homepage_url": "https://pypi.org/project/setuptools", + "repository_download_url": "https://pypi.org/packages/source/s/setuptools/setuptools-58.2.0.tar.gz", + "api_data_url": "https://pypi.org/pypi/setuptools/58.2.0/json", + "package_uid": "pkg:pypi/setuptools@58.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "PKG-INFO" ], - "files": [ - "LICENSE", - "MANIFEST.in", - "PKG-INFO", - "pyproject.toml", - "README.rst", - "setup.cfg", - "setup.py", - "tox.ini", - "pkg_resources/tests/data/my-test-package-zip/my-test-package.zip" + "datasource_ids": [ + "pypi_sdist_pkginfo" ], - "purl": "pkg:pypi/setuptools@58.2.0", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", - "repository_download_url": "https://pypi.org/packages/source/s/setuptools/setuptools-58.2.0.tar.gz", - "api_data_url": "https://pypi.org/pypi/setuptools/58.2.0/json" + "purl": "pkg:pypi/setuptools@58.2.0" }, { "type": "pypi", @@ -182,20 +112,19 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, - "package_uuid": "pkg:pypi/my-test-package@1.0", - "package_data_files": [ + "repository_homepage_url": "https://pypi.org/project/my-test-package", + "repository_download_url": "https://pypi.org/packages/source/m/my-test-package/my-test-package-1.0.tar.gz", + "api_data_url": "https://pypi.org/pypi/my-test-package/1.0/json", + "package_uid": "pkg:pypi/my-test-package@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "pkg_resources/tests/data/my-test-package-zip/my-test-package.zip" ], - "files": [ - "pkg_resources/tests/data/my-test-package-zip/my-test-package.zip" + "datasource_ids": [ + "pypi_sdist" ], - "purl": "pkg:pypi/my-test-package@1.0", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", - "repository_download_url": "https://pypi.org/packages/source/m/my-test-package/my-test-package-1.0.tar.gz", - "api_data_url": "https://pypi.org/pypi/my-test-package/1.0/json" + "purl": "pkg:pypi/my-test-package@1.0" } ], "files": [ @@ -203,18 +132,14 @@ "path": "LICENSE", "type": "file", "package_data": [], - "for_packages": [ - "pkg:pypi/setuptools@58.2.0" - ], + "for_packages": [], "scan_errors": [] }, { "path": "MANIFEST.in", "type": "file", "package_data": [], - "for_packages": [ - "pkg:pypi/setuptools@58.2.0" - ], + "for_packages": [], "scan_errors": [] }, { @@ -269,18 +194,21 @@ ] }, "notice_text": null, - "contains_source_code": null, "source_packages": [], - "extra_data": {}, + "file_references": [], + "extra_data": { + "Documentation": "Documentation, https://setuptools.readthedocs.io/" + }, "dependencies": [], - "purl": "pkg:pypi/setuptools@58.2.0", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/setuptools", "repository_download_url": "https://pypi.org/packages/source/s/setuptools/setuptools-58.2.0.tar.gz", - "api_data_url": "https://pypi.org/pypi/setuptools/58.2.0/json" + "api_data_url": "https://pypi.org/pypi/setuptools/58.2.0/json", + "datasource_id": "pypi_sdist_pkginfo", + "purl": "pkg:pypi/setuptools@58.2.0" } ], "for_packages": [ - "pkg:pypi/setuptools@58.2.0" + "pkg:pypi/setuptools@58.2.0?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -288,9 +216,7 @@ "path": "README.rst", "type": "file", "package_data": [], - "for_packages": [ - "pkg:pypi/setuptools@58.2.0" - ], + "for_packages": [], "scan_errors": [] }, { @@ -351,43 +277,69 @@ "license_expression": null, "declared_license": {}, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:pypi/my-test-package@1.0", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/my-test-package", "repository_download_url": "https://pypi.org/packages/source/m/my-test-package/my-test-package-1.0.tar.gz", - "api_data_url": "https://pypi.org/pypi/my-test-package/1.0/json" + "api_data_url": "https://pypi.org/pypi/my-test-package/1.0/json", + "datasource_id": "pypi_sdist", + "purl": "pkg:pypi/my-test-package@1.0" } ], "for_packages": [ - "pkg:pypi/setuptools@58.2.0", - "pkg:pypi/my-test-package@1.0" + "pkg:pypi/my-test-package@1.0?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, { "path": "pyproject.toml", "type": "file", - "package_data": [], - "for_packages": [ - "pkg:pypi/setuptools@58.2.0" + "package_data": [ + { + "type": "pypi", + "namespace": null, + "name": null, + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": "Python", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "pypi_pyproject_toml", + "purl": null + } ], + "for_packages": [], "scan_errors": [] }, { "path": "setup.cfg", "type": "file", - "package_data": [], - "for_packages": [ - "pkg:pypi/setuptools@58.2.0" - ], - "scan_errors": [] - }, - { - "path": "setup.py", - "type": "file", "package_data": [ { "type": "pypi", @@ -397,7 +349,7 @@ "qualifiers": {}, "subpath": null, "primary_language": "Python", - "description": "", + "description": null, "release_date": null, "parties": [], "keywords": [], @@ -413,25 +365,26 @@ "vcs_url": null, "copyright": null, "license_expression": null, - "declared_license": {}, + "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "pypi_setup_cfg", + "purl": null } ], "for_packages": [ - "pkg:pypi/setuptools@58.2.0" + "pkg:pypi/setuptools@58.2.0?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, { - "path": "tox.ini", + "path": "setup.py", "type": "file", "package_data": [ { @@ -442,7 +395,7 @@ "qualifiers": {}, "subpath": null, "primary_language": "Python", - "description": null, + "description": "", "release_date": null, "parties": [], "keywords": [], @@ -458,66 +411,21 @@ "vcs_url": null, "copyright": null, "license_expression": null, - "declared_license": null, + "declared_license": {}, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:pypi/towncrier", - "extracted_requirement": "towncrier", - "scope": "install", - "is_runtime": true, - "is_optional": false, - "is_resolved": false, - "resolved_package": {} - }, - { - "purl": "pkg:pypi/bump2version", - "extracted_requirement": "bump2version", - "scope": "install", - "is_runtime": true, - "is_optional": false, - "is_resolved": false, - "resolved_package": {} - }, - { - "purl": "pkg:pypi/build", - "extracted_requirement": "build", - "scope": "install", - "is_runtime": true, - "is_optional": false, - "is_resolved": false, - "resolved_package": {} - }, - { - "purl": "pkg:pypi/twine", - "extracted_requirement": ">=3", - "scope": "install", - "is_runtime": true, - "is_optional": false, - "is_resolved": false, - "resolved_package": {} - }, - { - "purl": "pkg:pypi/jaraco.develop", - "extracted_requirement": ">=7.1", - "scope": "install", - "is_runtime": true, - "is_optional": false, - "is_resolved": false, - "resolved_package": {} - } - ], - "purl": null, + "dependencies": [], "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "pypi_setup_py", + "purl": null } ], "for_packages": [ - "pkg:pypi/setuptools@58.2.0" + "pkg:pypi/setuptools@58.2.0?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] } diff --git a/tests/packagedcode/data/instance/python-package-instance-expected-with-uuid.json b/tests/packagedcode/data/instance/python-package-instance-expected-with-uuid.json index 420c3be953e..5baa956f451 100644 --- a/tests/packagedcode/data/instance/python-package-instance-expected-with-uuid.json +++ b/tests/packagedcode/data/instance/python-package-instance-expected-with-uuid.json @@ -29,9 +29,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:pypi/colorama?uuid=732998ac-1c28-448e-be0c-bbbbea2b2f9e", - "for_package": "pkg:pypi/click@8.0.1?uuid=21bf14d1-a101-4324-a0d7-9c79bbdb872c", - "lockfile": "METADATA" + "dependency_uid": "pkg:pypi/colorama?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:pypi/click?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "setup.py", + "datasource_id": "pypi_setup_py" }, { "purl": "pkg:pypi/importlib-metadata", @@ -41,45 +42,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:pypi/importlib-metadata?uuid=757cc640-7c92-4c4b-9ae7-1b63615c26d4", - "for_package": "pkg:pypi/click@8.0.1?uuid=21bf14d1-a101-4324-a0d7-9c79bbdb872c", - "lockfile": "METADATA" - }, - { - "purl": "pkg:pypi/colorama", - "extracted_requirement": null, - "scope": "install", - "is_runtime": true, - "is_optional": false, - "is_resolved": false, - "resolved_package": {}, - "dependency_uuid": "pkg:pypi/colorama?uuid=52178881-3370-4169-9b15-cda8dd71984f", - "for_package": "pkg:pypi/click@8.0.1?uuid=21bf14d1-a101-4324-a0d7-9c79bbdb872c", - "lockfile": "setup.py" - }, - { - "purl": "pkg:pypi/importlib-metadata", - "extracted_requirement": null, - "scope": "install", - "is_runtime": true, - "is_optional": false, - "is_resolved": false, - "resolved_package": {}, - "dependency_uuid": "pkg:pypi/importlib-metadata?uuid=428f8422-742b-4031-adf9-26ab295281cf", - "for_package": "pkg:pypi/click@8.0.1?uuid=21bf14d1-a101-4324-a0d7-9c79bbdb872c", - "lockfile": "setup.py" - }, - { - "purl": "pkg:pypi/pre-commit", - "extracted_requirement": "pre-commit", - "scope": "install", - "is_runtime": true, - "is_optional": false, - "is_resolved": false, - "resolved_package": {}, - "dependency_uuid": "pkg:pypi/pre-commit?uuid=93498734-5b50-4aa2-a3e3-f40cc5e03b57", - "for_package": "pkg:pypi/click@8.0.1?uuid=21bf14d1-a101-4324-a0d7-9c79bbdb872c", - "lockfile": "tox.ini" + "dependency_uid": "pkg:pypi/importlib-metadata?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:pypi/click?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "setup.py", + "datasource_id": "pypi_setup_py" } ], "packages": [ @@ -87,76 +53,41 @@ "type": "pypi", "namespace": null, "name": "click", - "version": "8.0.1", + "version": null, "qualifiers": {}, "subpath": null, "primary_language": "Python", - "description": "Composable command line interface toolkit\n\\$ click\\_\n==========\n\nClick is a Python package for creating beautiful command line interfaces\nin a composable way with as little code as necessary. It's the \"Command\nLine Interface Creation Kit\". It's highly configurable but comes with\nsensible defaults out of the box.\n\nIt aims to make the process of writing command line tools quick and fun\nwhile also preventing any frustration caused by the inability to\nimplement an intended CLI API.\n\nClick in three points:\n\n- Arbitrary nesting of commands\n- Automatic help page generation\n- Supports lazy loading of subcommands at runtime\n\n\nInstalling\n----------\n\nInstall and update using `pip`_:\n\n.. code-block:: text\n\n $ pip install -U click\n\n.. _pip: https://pip.pypa.io/en/stable/quickstart/\n\n\nA Simple Example\n----------------\n\n.. code-block:: python\n\n import click\n\n @click.command()\n @click.option(\"--count\", default=1, help=\"Number of greetings.\")\n @click.option(\"--name\", prompt=\"Your name\", help=\"The person to greet.\")\n def hello(count, name):\n \"\"\"Simple program that greets NAME for a total of COUNT times.\"\"\"\n for _ in range(count):\n click.echo(f\"Hello, {name}!\")\n\n if __name__ == '__main__':\n hello()\n\n.. code-block:: text\n\n $ python hello.py --count=3\n Your name: Click\n Hello, Click!\n Hello, Click!\n Hello, Click!\n\n\nDonate\n------\n\nThe Pallets organization develops and supports Click and other popular\npackages. In order to grow the community of contributors and users, and\nallow the maintainers to devote more time to the projects, `please\ndonate today`_.\n\n.. _please donate today: https://palletsprojects.com/donate\n\n\nLinks\n-----\n\n- Documentation: https://click.palletsprojects.com/\n- Changes: https://click.palletsprojects.com/changes/\n- PyPI Releases: https://pypi.org/project/click/\n- Source Code: https://github.com/pallets/click\n- Issue Tracker: https://github.com/pallets/click/issues\n- Website: https://palletsprojects.com/p/click\n- Twitter: https://twitter.com/PalletsTeam\n- Chat: https://discord.gg/pallets", + "description": null, "release_date": null, - "parties": [ - { - "type": "person", - "role": "author", - "name": "Armin Ronacher", - "email": "armin.ronacher@active-4.com", - "url": null - }, - { - "type": "person", - "role": "maintainer", - "name": "Pallets", - "email": "contact@palletsprojects.com", - "url": null - } - ], - "keywords": [ - "Development Status :: 5 - Production/Stable", - "Intended Audience :: Developers", - "Operating System :: OS Independent", - "Programming Language :: Python" - ], - "homepage_url": "https://palletsprojects.com/p/click/", + "parties": [], + "keywords": [], + "homepage_url": null, "download_url": null, "size": null, "sha1": null, "md5": null, "sha256": null, "sha512": null, - "bug_tracking_url": "Issue Tracker, https://github.com/pallets/click/issues/", - "code_view_url": "Source Code, https://github.com/pallets/click/", + "bug_tracking_url": null, + "code_view_url": null, "vcs_url": null, "copyright": null, - "license_expression": "bsd-new", - "declared_license": { - "license": "BSD-3-Clause", - "classifiers": [ - "License :: OSI Approved :: BSD License" - ] - }, + "license_expression": null, + "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, - "package_uuid": "pkg:pypi/click@8.0.1?uuid=21bf14d1-a101-4324-a0d7-9c79bbdb872c", - "package_data_files": [ - "METADATA", - "setup.cfg", - "setup.py", - "tox.ini" + "repository_homepage_url": "https://pypi.org/project/click", + "repository_download_url": null, + "api_data_url": "https://pypi.org/pypi/click/json", + "package_uid": "pkg:pypi/click?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "setup.py" ], - "files": [ - "LICENSE.rst", - "MANIFEST.in", - "METADATA", - "README.rst", - "setup.cfg", - "setup.py", - "tox.ini" + "datasource_ids": [ + "pypi_setup_py" ], - "purl": "pkg:pypi/click@8.0.1", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", - "repository_download_url": "https://pypi.org/packages/source/c/click/click-8.0.1.tar.gz", - "api_data_url": "https://pypi.org/pypi/click/8.0.1/json" + "purl": "pkg:pypi/click" } ], "files": [ @@ -164,116 +95,28 @@ "path": "LICENSE.rst", "type": "file", "package_data": [], - "for_packages": [ - "pkg:pypi/click@8.0.1?uuid=21bf14d1-a101-4324-a0d7-9c79bbdb872c" - ], + "for_packages": [], "scan_errors": [] }, { "path": "MANIFEST.in", "type": "file", "package_data": [], - "for_packages": [ - "pkg:pypi/click@8.0.1?uuid=21bf14d1-a101-4324-a0d7-9c79bbdb872c" - ], + "for_packages": [], "scan_errors": [] }, { "path": "METADATA", "type": "file", - "package_data": [ - { - "type": "pypi", - "namespace": null, - "name": "click", - "version": "8.0.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "Python", - "description": "Composable command line interface toolkit\n\\$ click\\_\n==========\n\nClick is a Python package for creating beautiful command line interfaces\nin a composable way with as little code as necessary. It's the \"Command\nLine Interface Creation Kit\". It's highly configurable but comes with\nsensible defaults out of the box.\n\nIt aims to make the process of writing command line tools quick and fun\nwhile also preventing any frustration caused by the inability to\nimplement an intended CLI API.\n\nClick in three points:\n\n- Arbitrary nesting of commands\n- Automatic help page generation\n- Supports lazy loading of subcommands at runtime\n\n\nInstalling\n----------\n\nInstall and update using `pip`_:\n\n.. code-block:: text\n\n $ pip install -U click\n\n.. _pip: https://pip.pypa.io/en/stable/quickstart/\n\n\nA Simple Example\n----------------\n\n.. code-block:: python\n\n import click\n\n @click.command()\n @click.option(\"--count\", default=1, help=\"Number of greetings.\")\n @click.option(\"--name\", prompt=\"Your name\", help=\"The person to greet.\")\n def hello(count, name):\n \"\"\"Simple program that greets NAME for a total of COUNT times.\"\"\"\n for _ in range(count):\n click.echo(f\"Hello, {name}!\")\n\n if __name__ == '__main__':\n hello()\n\n.. code-block:: text\n\n $ python hello.py --count=3\n Your name: Click\n Hello, Click!\n Hello, Click!\n Hello, Click!\n\n\nDonate\n------\n\nThe Pallets organization develops and supports Click and other popular\npackages. In order to grow the community of contributors and users, and\nallow the maintainers to devote more time to the projects, `please\ndonate today`_.\n\n.. _please donate today: https://palletsprojects.com/donate\n\n\nLinks\n-----\n\n- Documentation: https://click.palletsprojects.com/\n- Changes: https://click.palletsprojects.com/changes/\n- PyPI Releases: https://pypi.org/project/click/\n- Source Code: https://github.com/pallets/click\n- Issue Tracker: https://github.com/pallets/click/issues\n- Website: https://palletsprojects.com/p/click\n- Twitter: https://twitter.com/PalletsTeam\n- Chat: https://discord.gg/pallets", - "release_date": null, - "parties": [ - { - "type": "person", - "role": "author", - "name": "Armin Ronacher", - "email": "armin.ronacher@active-4.com", - "url": null - }, - { - "type": "person", - "role": "maintainer", - "name": "Pallets", - "email": "contact@palletsprojects.com", - "url": null - } - ], - "keywords": [ - "Development Status :: 5 - Production/Stable", - "Intended Audience :: Developers", - "Operating System :: OS Independent", - "Programming Language :: Python" - ], - "homepage_url": "https://palletsprojects.com/p/click/", - "download_url": null, - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": "Issue Tracker, https://github.com/pallets/click/issues/", - "code_view_url": "Source Code, https://github.com/pallets/click/", - "vcs_url": null, - "copyright": null, - "license_expression": "bsd-new", - "declared_license": { - "license": "BSD-3-Clause", - "classifiers": [ - "License :: OSI Approved :: BSD License" - ] - }, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:pypi/colorama", - "extracted_requirement": null, - "scope": "install", - "is_runtime": true, - "is_optional": false, - "is_resolved": false, - "resolved_package": {} - }, - { - "purl": "pkg:pypi/importlib-metadata", - "extracted_requirement": null, - "scope": "install", - "is_runtime": true, - "is_optional": false, - "is_resolved": false, - "resolved_package": {} - } - ], - "purl": "pkg:pypi/click@8.0.1", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", - "repository_download_url": "https://pypi.org/packages/source/c/click/click-8.0.1.tar.gz", - "api_data_url": "https://pypi.org/pypi/click/8.0.1/json" - } - ], - "for_packages": [ - "pkg:pypi/click@8.0.1?uuid=21bf14d1-a101-4324-a0d7-9c79bbdb872c" - ], + "package_data": [], + "for_packages": [], "scan_errors": [] }, { "path": "README.rst", "type": "file", "package_data": [], - "for_packages": [ - "pkg:pypi/click@8.0.1?uuid=21bf14d1-a101-4324-a0d7-9c79bbdb872c" - ], + "for_packages": [], "scan_errors": [] }, { @@ -306,18 +149,19 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "pypi_setup_cfg", + "purl": null } ], "for_packages": [ - "pkg:pypi/click@8.0.1?uuid=21bf14d1-a101-4324-a0d7-9c79bbdb872c" + "pkg:pypi/click?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -351,8 +195,8 @@ "license_expression": null, "declared_license": {}, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -374,70 +218,23 @@ "resolved_package": {} } ], - "purl": "pkg:pypi/click", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/click", "repository_download_url": null, - "api_data_url": "https://pypi.org/pypi/click/json" + "api_data_url": "https://pypi.org/pypi/click/json", + "datasource_id": "pypi_setup_py", + "purl": "pkg:pypi/click" } ], "for_packages": [ - "pkg:pypi/click@8.0.1?uuid=21bf14d1-a101-4324-a0d7-9c79bbdb872c" + "pkg:pypi/click?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, { "path": "tox.ini", "type": "file", - "package_data": [ - { - "type": "pypi", - "namespace": null, - "name": null, - "version": null, - "qualifiers": {}, - "subpath": null, - "primary_language": "Python", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": null, - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:pypi/pre-commit", - "extracted_requirement": "pre-commit", - "scope": "install", - "is_runtime": true, - "is_optional": false, - "is_resolved": false, - "resolved_package": {} - } - ], - "purl": null, - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null - } - ], - "for_packages": [ - "pkg:pypi/click@8.0.1?uuid=21bf14d1-a101-4324-a0d7-9c79bbdb872c" - ], + "package_data": [], + "for_packages": [], "scan_errors": [] } ] diff --git a/tests/packagedcode/data/instance/python-package-instance-expected.json b/tests/packagedcode/data/instance/python-package-instance-expected.json index 21282300ed9..5baa956f451 100644 --- a/tests/packagedcode/data/instance/python-package-instance-expected.json +++ b/tests/packagedcode/data/instance/python-package-instance-expected.json @@ -29,9 +29,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:pypi/colorama", - "for_package": "pkg:pypi/click@8.0.1", - "lockfile": "METADATA" + "dependency_uid": "pkg:pypi/colorama?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:pypi/click?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "setup.py", + "datasource_id": "pypi_setup_py" }, { "purl": "pkg:pypi/importlib-metadata", @@ -41,45 +42,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:pypi/importlib-metadata", - "for_package": "pkg:pypi/click@8.0.1", - "lockfile": "METADATA" - }, - { - "purl": "pkg:pypi/colorama", - "extracted_requirement": null, - "scope": "install", - "is_runtime": true, - "is_optional": false, - "is_resolved": false, - "resolved_package": {}, - "dependency_uuid": "pkg:pypi/colorama", - "for_package": "pkg:pypi/click@8.0.1", - "lockfile": "setup.py" - }, - { - "purl": "pkg:pypi/importlib-metadata", - "extracted_requirement": null, - "scope": "install", - "is_runtime": true, - "is_optional": false, - "is_resolved": false, - "resolved_package": {}, - "dependency_uuid": "pkg:pypi/importlib-metadata", - "for_package": "pkg:pypi/click@8.0.1", - "lockfile": "setup.py" - }, - { - "purl": "pkg:pypi/pre-commit", - "extracted_requirement": "pre-commit", - "scope": "install", - "is_runtime": true, - "is_optional": false, - "is_resolved": false, - "resolved_package": {}, - "dependency_uuid": "pkg:pypi/pre-commit", - "for_package": "pkg:pypi/click@8.0.1", - "lockfile": "tox.ini" + "dependency_uid": "pkg:pypi/importlib-metadata?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:pypi/click?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "setup.py", + "datasource_id": "pypi_setup_py" } ], "packages": [ @@ -87,76 +53,41 @@ "type": "pypi", "namespace": null, "name": "click", - "version": "8.0.1", + "version": null, "qualifiers": {}, "subpath": null, "primary_language": "Python", - "description": "Composable command line interface toolkit\n\\$ click\\_\n==========\n\nClick is a Python package for creating beautiful command line interfaces\nin a composable way with as little code as necessary. It's the \"Command\nLine Interface Creation Kit\". It's highly configurable but comes with\nsensible defaults out of the box.\n\nIt aims to make the process of writing command line tools quick and fun\nwhile also preventing any frustration caused by the inability to\nimplement an intended CLI API.\n\nClick in three points:\n\n- Arbitrary nesting of commands\n- Automatic help page generation\n- Supports lazy loading of subcommands at runtime\n\n\nInstalling\n----------\n\nInstall and update using `pip`_:\n\n.. code-block:: text\n\n $ pip install -U click\n\n.. _pip: https://pip.pypa.io/en/stable/quickstart/\n\n\nA Simple Example\n----------------\n\n.. code-block:: python\n\n import click\n\n @click.command()\n @click.option(\"--count\", default=1, help=\"Number of greetings.\")\n @click.option(\"--name\", prompt=\"Your name\", help=\"The person to greet.\")\n def hello(count, name):\n \"\"\"Simple program that greets NAME for a total of COUNT times.\"\"\"\n for _ in range(count):\n click.echo(f\"Hello, {name}!\")\n\n if __name__ == '__main__':\n hello()\n\n.. code-block:: text\n\n $ python hello.py --count=3\n Your name: Click\n Hello, Click!\n Hello, Click!\n Hello, Click!\n\n\nDonate\n------\n\nThe Pallets organization develops and supports Click and other popular\npackages. In order to grow the community of contributors and users, and\nallow the maintainers to devote more time to the projects, `please\ndonate today`_.\n\n.. _please donate today: https://palletsprojects.com/donate\n\n\nLinks\n-----\n\n- Documentation: https://click.palletsprojects.com/\n- Changes: https://click.palletsprojects.com/changes/\n- PyPI Releases: https://pypi.org/project/click/\n- Source Code: https://github.com/pallets/click\n- Issue Tracker: https://github.com/pallets/click/issues\n- Website: https://palletsprojects.com/p/click\n- Twitter: https://twitter.com/PalletsTeam\n- Chat: https://discord.gg/pallets", + "description": null, "release_date": null, - "parties": [ - { - "type": "person", - "role": "author", - "name": "Armin Ronacher", - "email": "armin.ronacher@active-4.com", - "url": null - }, - { - "type": "person", - "role": "maintainer", - "name": "Pallets", - "email": "contact@palletsprojects.com", - "url": null - } - ], - "keywords": [ - "Development Status :: 5 - Production/Stable", - "Intended Audience :: Developers", - "Operating System :: OS Independent", - "Programming Language :: Python" - ], - "homepage_url": "https://palletsprojects.com/p/click/", + "parties": [], + "keywords": [], + "homepage_url": null, "download_url": null, "size": null, "sha1": null, "md5": null, "sha256": null, "sha512": null, - "bug_tracking_url": "Issue Tracker, https://github.com/pallets/click/issues/", - "code_view_url": "Source Code, https://github.com/pallets/click/", + "bug_tracking_url": null, + "code_view_url": null, "vcs_url": null, "copyright": null, - "license_expression": "bsd-new", - "declared_license": { - "license": "BSD-3-Clause", - "classifiers": [ - "License :: OSI Approved :: BSD License" - ] - }, + "license_expression": null, + "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, - "package_uuid": "pkg:pypi/click@8.0.1", - "package_data_files": [ - "METADATA", - "setup.cfg", - "setup.py", - "tox.ini" + "repository_homepage_url": "https://pypi.org/project/click", + "repository_download_url": null, + "api_data_url": "https://pypi.org/pypi/click/json", + "package_uid": "pkg:pypi/click?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "setup.py" ], - "files": [ - "LICENSE.rst", - "MANIFEST.in", - "METADATA", - "README.rst", - "setup.cfg", - "setup.py", - "tox.ini" + "datasource_ids": [ + "pypi_setup_py" ], - "purl": "pkg:pypi/click@8.0.1", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", - "repository_download_url": "https://pypi.org/packages/source/c/click/click-8.0.1.tar.gz", - "api_data_url": "https://pypi.org/pypi/click/8.0.1/json" + "purl": "pkg:pypi/click" } ], "files": [ @@ -164,116 +95,28 @@ "path": "LICENSE.rst", "type": "file", "package_data": [], - "for_packages": [ - "pkg:pypi/click@8.0.1" - ], + "for_packages": [], "scan_errors": [] }, { "path": "MANIFEST.in", "type": "file", "package_data": [], - "for_packages": [ - "pkg:pypi/click@8.0.1" - ], + "for_packages": [], "scan_errors": [] }, { "path": "METADATA", "type": "file", - "package_data": [ - { - "type": "pypi", - "namespace": null, - "name": "click", - "version": "8.0.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "Python", - "description": "Composable command line interface toolkit\n\\$ click\\_\n==========\n\nClick is a Python package for creating beautiful command line interfaces\nin a composable way with as little code as necessary. It's the \"Command\nLine Interface Creation Kit\". It's highly configurable but comes with\nsensible defaults out of the box.\n\nIt aims to make the process of writing command line tools quick and fun\nwhile also preventing any frustration caused by the inability to\nimplement an intended CLI API.\n\nClick in three points:\n\n- Arbitrary nesting of commands\n- Automatic help page generation\n- Supports lazy loading of subcommands at runtime\n\n\nInstalling\n----------\n\nInstall and update using `pip`_:\n\n.. code-block:: text\n\n $ pip install -U click\n\n.. _pip: https://pip.pypa.io/en/stable/quickstart/\n\n\nA Simple Example\n----------------\n\n.. code-block:: python\n\n import click\n\n @click.command()\n @click.option(\"--count\", default=1, help=\"Number of greetings.\")\n @click.option(\"--name\", prompt=\"Your name\", help=\"The person to greet.\")\n def hello(count, name):\n \"\"\"Simple program that greets NAME for a total of COUNT times.\"\"\"\n for _ in range(count):\n click.echo(f\"Hello, {name}!\")\n\n if __name__ == '__main__':\n hello()\n\n.. code-block:: text\n\n $ python hello.py --count=3\n Your name: Click\n Hello, Click!\n Hello, Click!\n Hello, Click!\n\n\nDonate\n------\n\nThe Pallets organization develops and supports Click and other popular\npackages. In order to grow the community of contributors and users, and\nallow the maintainers to devote more time to the projects, `please\ndonate today`_.\n\n.. _please donate today: https://palletsprojects.com/donate\n\n\nLinks\n-----\n\n- Documentation: https://click.palletsprojects.com/\n- Changes: https://click.palletsprojects.com/changes/\n- PyPI Releases: https://pypi.org/project/click/\n- Source Code: https://github.com/pallets/click\n- Issue Tracker: https://github.com/pallets/click/issues\n- Website: https://palletsprojects.com/p/click\n- Twitter: https://twitter.com/PalletsTeam\n- Chat: https://discord.gg/pallets", - "release_date": null, - "parties": [ - { - "type": "person", - "role": "author", - "name": "Armin Ronacher", - "email": "armin.ronacher@active-4.com", - "url": null - }, - { - "type": "person", - "role": "maintainer", - "name": "Pallets", - "email": "contact@palletsprojects.com", - "url": null - } - ], - "keywords": [ - "Development Status :: 5 - Production/Stable", - "Intended Audience :: Developers", - "Operating System :: OS Independent", - "Programming Language :: Python" - ], - "homepage_url": "https://palletsprojects.com/p/click/", - "download_url": null, - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": "Issue Tracker, https://github.com/pallets/click/issues/", - "code_view_url": "Source Code, https://github.com/pallets/click/", - "vcs_url": null, - "copyright": null, - "license_expression": "bsd-new", - "declared_license": { - "license": "BSD-3-Clause", - "classifiers": [ - "License :: OSI Approved :: BSD License" - ] - }, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:pypi/colorama", - "extracted_requirement": null, - "scope": "install", - "is_runtime": true, - "is_optional": false, - "is_resolved": false, - "resolved_package": {} - }, - { - "purl": "pkg:pypi/importlib-metadata", - "extracted_requirement": null, - "scope": "install", - "is_runtime": true, - "is_optional": false, - "is_resolved": false, - "resolved_package": {} - } - ], - "purl": "pkg:pypi/click@8.0.1", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", - "repository_download_url": "https://pypi.org/packages/source/c/click/click-8.0.1.tar.gz", - "api_data_url": "https://pypi.org/pypi/click/8.0.1/json" - } - ], - "for_packages": [ - "pkg:pypi/click@8.0.1" - ], + "package_data": [], + "for_packages": [], "scan_errors": [] }, { "path": "README.rst", "type": "file", "package_data": [], - "for_packages": [ - "pkg:pypi/click@8.0.1" - ], + "for_packages": [], "scan_errors": [] }, { @@ -306,18 +149,19 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "pypi_setup_cfg", + "purl": null } ], "for_packages": [ - "pkg:pypi/click@8.0.1" + "pkg:pypi/click?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -351,8 +195,8 @@ "license_expression": null, "declared_license": {}, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -374,70 +218,23 @@ "resolved_package": {} } ], - "purl": "pkg:pypi/click", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/click", "repository_download_url": null, - "api_data_url": "https://pypi.org/pypi/click/json" + "api_data_url": "https://pypi.org/pypi/click/json", + "datasource_id": "pypi_setup_py", + "purl": "pkg:pypi/click" } ], "for_packages": [ - "pkg:pypi/click@8.0.1" + "pkg:pypi/click?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, { "path": "tox.ini", "type": "file", - "package_data": [ - { - "type": "pypi", - "namespace": null, - "name": null, - "version": null, - "qualifiers": {}, - "subpath": null, - "primary_language": "Python", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": null, - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:pypi/pre-commit", - "extracted_requirement": "pre-commit", - "scope": "install", - "is_runtime": true, - "is_optional": false, - "is_resolved": false, - "resolved_package": {} - } - ], - "purl": null, - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null - } - ], - "for_packages": [ - "pkg:pypi/click@8.0.1" - ], + "package_data": [], + "for_packages": [], "scan_errors": [] } ] diff --git a/tests/packagedcode/data/m2/ant/ant-launcher/1.6.5/ant-launcher-1.6.5.pom.package.json b/tests/packagedcode/data/m2/ant/ant-launcher/1.6.5/ant-launcher-1.6.5.pom.package.json index 696d829f213..8fc893ede4c 100644 --- a/tests/packagedcode/data/m2/ant/ant-launcher/1.6.5/ant-launcher-1.6.5.pom.package.json +++ b/tests/packagedcode/data/m2/ant/ant-launcher/1.6.5/ant-launcher-1.6.5.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/ant/ant-launcher@1.6.5?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/ant/ant-launcher@1.6.5", "repository_homepage_url": "https://repo1.maven.org/maven2/ant/ant-launcher/1.6.5/", "repository_download_url": "https://repo1.maven.org/maven2/ant/ant-launcher/1.6.5/ant-launcher-1.6.5.jar", - "api_data_url": "https://repo1.maven.org/maven2/ant/ant-launcher/1.6.5/ant-launcher-1.6.5.pom" + "api_data_url": "https://repo1.maven.org/maven2/ant/ant-launcher/1.6.5/ant-launcher-1.6.5.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/ant/ant-launcher@1.6.5" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/ant/ant/1.6.5/ant-1.6.5.pom.package.json b/tests/packagedcode/data/m2/ant/ant/1.6.5/ant-1.6.5.pom.package.json index 79be1a6ebe1..85d200c7a32 100644 --- a/tests/packagedcode/data/m2/ant/ant/1.6.5/ant-1.6.5.pom.package.json +++ b/tests/packagedcode/data/m2/ant/ant/1.6.5/ant-1.6.5.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/ant/ant@1.6.5?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -49,8 +49,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/ant/ant@1.6.5", "repository_homepage_url": "https://repo1.maven.org/maven2/ant/ant/1.6.5/", "repository_download_url": "https://repo1.maven.org/maven2/ant/ant/1.6.5/ant-1.6.5.jar", - "api_data_url": "https://repo1.maven.org/maven2/ant/ant/1.6.5/ant-1.6.5.pom" + "api_data_url": "https://repo1.maven.org/maven2/ant/ant/1.6.5/ant-1.6.5.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/ant/ant@1.6.5" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/antlr/antlr/2.7.6/antlr-2.7.6.pom.package.json b/tests/packagedcode/data/m2/antlr/antlr/2.7.6/antlr-2.7.6.pom.package.json index dd82d5984db..af5df7dfa26 100644 --- a/tests/packagedcode/data/m2/antlr/antlr/2.7.6/antlr-2.7.6.pom.package.json +++ b/tests/packagedcode/data/m2/antlr/antlr/2.7.6/antlr-2.7.6.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/antlr/antlr@2.7.6?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/antlr/antlr@2.7.6", "repository_homepage_url": "https://repo1.maven.org/maven2/antlr/antlr/2.7.6/", "repository_download_url": "https://repo1.maven.org/maven2/antlr/antlr/2.7.6/antlr-2.7.6.jar", - "api_data_url": "https://repo1.maven.org/maven2/antlr/antlr/2.7.6/antlr-2.7.6.pom" + "api_data_url": "https://repo1.maven.org/maven2/antlr/antlr/2.7.6/antlr-2.7.6.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/antlr/antlr@2.7.6" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/aopalliance/aopalliance/1.0/aopalliance-1.0.pom.package.json b/tests/packagedcode/data/m2/aopalliance/aopalliance/1.0/aopalliance-1.0.pom.package.json index 9f88d3d4745..ea7f15a2e22 100644 --- a/tests/packagedcode/data/m2/aopalliance/aopalliance/1.0/aopalliance-1.0.pom.package.json +++ b/tests/packagedcode/data/m2/aopalliance/aopalliance/1.0/aopalliance-1.0.pom.package.json @@ -31,14 +31,15 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/aopalliance/aopalliance@1.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/aopalliance/aopalliance@1.0", "repository_homepage_url": "https://repo1.maven.org/maven2/aopalliance/aopalliance/1.0/", "repository_download_url": "https://repo1.maven.org/maven2/aopalliance/aopalliance/1.0/aopalliance-1.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/aopalliance/aopalliance/1.0/aopalliance-1.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/aopalliance/aopalliance/1.0/aopalliance-1.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/aopalliance/aopalliance@1.0" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/asm/asm-attrs/1.5.3/asm-attrs-1.5.3.pom.package.json b/tests/packagedcode/data/m2/asm/asm-attrs/1.5.3/asm-attrs-1.5.3.pom.package.json index 4f8c646bb8f..e645447d1ef 100644 --- a/tests/packagedcode/data/m2/asm/asm-attrs/1.5.3/asm-attrs-1.5.3.pom.package.json +++ b/tests/packagedcode/data/m2/asm/asm-attrs/1.5.3/asm-attrs-1.5.3.pom.package.json @@ -46,14 +46,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/asm/asm-attrs@1.5.3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/asm/asm-attrs@1.5.3", "repository_homepage_url": "https://repo1.maven.org/maven2/asm/asm-attrs/1.5.3/", "repository_download_url": "https://repo1.maven.org/maven2/asm/asm-attrs/1.5.3/asm-attrs-1.5.3.jar", - "api_data_url": "https://repo1.maven.org/maven2/asm/asm-attrs/1.5.3/asm-attrs-1.5.3.pom" + "api_data_url": "https://repo1.maven.org/maven2/asm/asm-attrs/1.5.3/asm-attrs-1.5.3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/asm/asm-attrs@1.5.3" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/asm/asm-parent/3.0/asm-parent-3.0.pom.package.json b/tests/packagedcode/data/m2/asm/asm-parent/3.0/asm-parent-3.0.pom.package.json index 073d4728c53..310c2a692c8 100644 --- a/tests/packagedcode/data/m2/asm/asm-parent/3.0/asm-parent-3.0.pom.package.json +++ b/tests/packagedcode/data/m2/asm/asm-parent/3.0/asm-parent-3.0.pom.package.json @@ -46,10 +46,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/asm/asm-parent@3.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -107,8 +107,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/asm/asm-parent@3.0", "repository_homepage_url": "https://repo1.maven.org/maven2/asm/asm-parent/3.0/", "repository_download_url": "https://repo1.maven.org/maven2/asm/asm-parent/3.0/asm-parent-3.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/asm/asm-parent/3.0/asm-parent-3.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/asm/asm-parent/3.0/asm-parent-3.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/asm/asm-parent@3.0" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/asm/asm/1.5.3/asm-1.5.3.pom.package.json b/tests/packagedcode/data/m2/asm/asm/1.5.3/asm-1.5.3.pom.package.json index 1f8fe9753f9..e0180de62a8 100644 --- a/tests/packagedcode/data/m2/asm/asm/1.5.3/asm-1.5.3.pom.package.json +++ b/tests/packagedcode/data/m2/asm/asm/1.5.3/asm-1.5.3.pom.package.json @@ -46,14 +46,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/asm/asm@1.5.3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/asm/asm@1.5.3", "repository_homepage_url": "https://repo1.maven.org/maven2/asm/asm/1.5.3/", "repository_download_url": "https://repo1.maven.org/maven2/asm/asm/1.5.3/asm-1.5.3.jar", - "api_data_url": "https://repo1.maven.org/maven2/asm/asm/1.5.3/asm-1.5.3.pom" + "api_data_url": "https://repo1.maven.org/maven2/asm/asm/1.5.3/asm-1.5.3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/asm/asm@1.5.3" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/asm/asm/3.0/asm-3.0.pom.package.json b/tests/packagedcode/data/m2/asm/asm/3.0/asm-3.0.pom.package.json index 71b9d46e7ca..e2367e11be2 100644 --- a/tests/packagedcode/data/m2/asm/asm/3.0/asm-3.0.pom.package.json +++ b/tests/packagedcode/data/m2/asm/asm/3.0/asm-3.0.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/asm/asm@3.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/asm/asm@3.0", "repository_homepage_url": "https://repo1.maven.org/maven2/asm/asm/3.0/", "repository_download_url": "https://repo1.maven.org/maven2/asm/asm/3.0/asm-3.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/asm/asm/3.0/asm-3.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/asm/asm/3.0/asm-3.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/asm/asm@3.0" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/aspectj/aspectjrt/1.5.3/aspectjrt-1.5.3.pom.package.json b/tests/packagedcode/data/m2/aspectj/aspectjrt/1.5.3/aspectjrt-1.5.3.pom.package.json index 653413d601f..09c466328e3 100644 --- a/tests/packagedcode/data/m2/aspectj/aspectjrt/1.5.3/aspectjrt-1.5.3.pom.package.json +++ b/tests/packagedcode/data/m2/aspectj/aspectjrt/1.5.3/aspectjrt-1.5.3.pom.package.json @@ -31,14 +31,15 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/aspectj/aspectjrt@1.5.3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/aspectj/aspectjrt@1.5.3", "repository_homepage_url": "https://repo1.maven.org/maven2/aspectj/aspectjrt/1.5.3/", "repository_download_url": "https://repo1.maven.org/maven2/aspectj/aspectjrt/1.5.3/aspectjrt-1.5.3.jar", - "api_data_url": "https://repo1.maven.org/maven2/aspectj/aspectjrt/1.5.3/aspectjrt-1.5.3.pom" + "api_data_url": "https://repo1.maven.org/maven2/aspectj/aspectjrt/1.5.3/aspectjrt-1.5.3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/aspectj/aspectjrt@1.5.3" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/aspectj/aspectjrt/1.5.4/aspectjrt-1.5.4.pom.package.json b/tests/packagedcode/data/m2/aspectj/aspectjrt/1.5.4/aspectjrt-1.5.4.pom.package.json index 9d5af844604..b6d78ef6b5b 100644 --- a/tests/packagedcode/data/m2/aspectj/aspectjrt/1.5.4/aspectjrt-1.5.4.pom.package.json +++ b/tests/packagedcode/data/m2/aspectj/aspectjrt/1.5.4/aspectjrt-1.5.4.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/aspectj/aspectjrt@1.5.4?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/aspectj/aspectjrt@1.5.4", "repository_homepage_url": "https://repo1.maven.org/maven2/aspectj/aspectjrt/1.5.4/", "repository_download_url": "https://repo1.maven.org/maven2/aspectj/aspectjrt/1.5.4/aspectjrt-1.5.4.jar", - "api_data_url": "https://repo1.maven.org/maven2/aspectj/aspectjrt/1.5.4/aspectjrt-1.5.4.pom" + "api_data_url": "https://repo1.maven.org/maven2/aspectj/aspectjrt/1.5.4/aspectjrt-1.5.4.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/aspectj/aspectjrt@1.5.4" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/aspectj/aspectjtools/1.5.4/aspectjtools-1.5.4.pom.package.json b/tests/packagedcode/data/m2/aspectj/aspectjtools/1.5.4/aspectjtools-1.5.4.pom.package.json index c3f271f433d..e6c6108b280 100644 --- a/tests/packagedcode/data/m2/aspectj/aspectjtools/1.5.4/aspectjtools-1.5.4.pom.package.json +++ b/tests/packagedcode/data/m2/aspectj/aspectjtools/1.5.4/aspectjtools-1.5.4.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/aspectj/aspectjtools@1.5.4?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/aspectj/aspectjtools@1.5.4", "repository_homepage_url": "https://repo1.maven.org/maven2/aspectj/aspectjtools/1.5.4/", "repository_download_url": "https://repo1.maven.org/maven2/aspectj/aspectjtools/1.5.4/aspectjtools-1.5.4.jar", - "api_data_url": "https://repo1.maven.org/maven2/aspectj/aspectjtools/1.5.4/aspectjtools-1.5.4.pom" + "api_data_url": "https://repo1.maven.org/maven2/aspectj/aspectjtools/1.5.4/aspectjtools-1.5.4.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/aspectj/aspectjtools@1.5.4" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/aspectj/aspectjweaver/1.5.4/aspectjweaver-1.5.4.pom.package.json b/tests/packagedcode/data/m2/aspectj/aspectjweaver/1.5.4/aspectjweaver-1.5.4.pom.package.json index c600de931d2..e5ec121b051 100644 --- a/tests/packagedcode/data/m2/aspectj/aspectjweaver/1.5.4/aspectjweaver-1.5.4.pom.package.json +++ b/tests/packagedcode/data/m2/aspectj/aspectjweaver/1.5.4/aspectjweaver-1.5.4.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/aspectj/aspectjweaver@1.5.4?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/aspectj/aspectjweaver@1.5.4", "repository_homepage_url": "https://repo1.maven.org/maven2/aspectj/aspectjweaver/1.5.4/", "repository_download_url": "https://repo1.maven.org/maven2/aspectj/aspectjweaver/1.5.4/aspectjweaver-1.5.4.jar", - "api_data_url": "https://repo1.maven.org/maven2/aspectj/aspectjweaver/1.5.4/aspectjweaver-1.5.4.pom" + "api_data_url": "https://repo1.maven.org/maven2/aspectj/aspectjweaver/1.5.4/aspectjweaver-1.5.4.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/aspectj/aspectjweaver@1.5.4" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/avalon/avalon-framework/4.1.3/avalon-framework-4.1.3.pom.package.json b/tests/packagedcode/data/m2/avalon/avalon-framework/4.1.3/avalon-framework-4.1.3.pom.package.json index 9453c508598..b4103a7905e 100644 --- a/tests/packagedcode/data/m2/avalon/avalon-framework/4.1.3/avalon-framework-4.1.3.pom.package.json +++ b/tests/packagedcode/data/m2/avalon/avalon-framework/4.1.3/avalon-framework-4.1.3.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/avalon-framework/avalon-framework@4.1.3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/avalon-framework/avalon-framework@4.1.3", "repository_homepage_url": "https://repo1.maven.org/maven2/avalon-framework/avalon-framework/4.1.3/", "repository_download_url": "https://repo1.maven.org/maven2/avalon-framework/avalon-framework/4.1.3/avalon-framework-4.1.3.jar", - "api_data_url": "https://repo1.maven.org/maven2/avalon-framework/avalon-framework/4.1.3/avalon-framework-4.1.3.pom" + "api_data_url": "https://repo1.maven.org/maven2/avalon-framework/avalon-framework/4.1.3/avalon-framework-4.1.3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/avalon-framework/avalon-framework@4.1.3" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/bcel/bcel/5.1/bcel-5.1.pom.package.json b/tests/packagedcode/data/m2/bcel/bcel/5.1/bcel-5.1.pom.package.json index b045797eb36..1bf0871623e 100644 --- a/tests/packagedcode/data/m2/bcel/bcel/5.1/bcel-5.1.pom.package.json +++ b/tests/packagedcode/data/m2/bcel/bcel/5.1/bcel-5.1.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/bcel/bcel@5.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/bcel/bcel@5.1", "repository_homepage_url": "https://repo1.maven.org/maven2/bcel/bcel/5.1/", "repository_download_url": "https://repo1.maven.org/maven2/bcel/bcel/5.1/bcel-5.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/bcel/bcel/5.1/bcel-5.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/bcel/bcel/5.1/bcel-5.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/bcel/bcel@5.1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/beanutils/commons-beanutils/1.6/commons-beanutils-1.6.pom.package.json b/tests/packagedcode/data/m2/beanutils/commons-beanutils/1.6/commons-beanutils-1.6.pom.package.json index 91890e56aec..e9b457f7d24 100644 --- a/tests/packagedcode/data/m2/beanutils/commons-beanutils/1.6/commons-beanutils-1.6.pom.package.json +++ b/tests/packagedcode/data/m2/beanutils/commons-beanutils/1.6/commons-beanutils-1.6.pom.package.json @@ -67,10 +67,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/commons-beanutils/commons-beanutils@1.6?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -101,8 +101,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/commons-beanutils/commons-beanutils@1.6", "repository_homepage_url": "https://repo1.maven.org/maven2/commons-beanutils/commons-beanutils/1.6/", "repository_download_url": "https://repo1.maven.org/maven2/commons-beanutils/commons-beanutils/1.6/commons-beanutils-1.6.jar", - "api_data_url": "https://repo1.maven.org/maven2/commons-beanutils/commons-beanutils/1.6/commons-beanutils-1.6.pom" + "api_data_url": "https://repo1.maven.org/maven2/commons-beanutils/commons-beanutils/1.6/commons-beanutils-1.6.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/commons-beanutils/commons-beanutils@1.6" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.pom.package.json b/tests/packagedcode/data/m2/beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.pom.package.json index 94b3b79a450..0aa73194dca 100644 --- a/tests/packagedcode/data/m2/beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.pom.package.json +++ b/tests/packagedcode/data/m2/beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/commons-beanutils/commons-beanutils@1.7.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/commons-beanutils/commons-beanutils@1.7.0", "repository_homepage_url": "https://repo1.maven.org/maven2/commons-beanutils/commons-beanutils/1.7.0/", "repository_download_url": "https://repo1.maven.org/maven2/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/commons-beanutils/commons-beanutils@1.7.0" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/biz/aQute/bndlib/0.0.203/bndlib-0.0.203.pom.package.json b/tests/packagedcode/data/m2/biz/aQute/bndlib/0.0.203/bndlib-0.0.203.pom.package.json index d460d49a2a8..22cf1b6eb3b 100644 --- a/tests/packagedcode/data/m2/biz/aQute/bndlib/0.0.203/bndlib-0.0.203.pom.package.json +++ b/tests/packagedcode/data/m2/biz/aQute/bndlib/0.0.203/bndlib-0.0.203.pom.package.json @@ -39,14 +39,15 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/biz.aQute/bndlib@0.0.203?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/biz.aQute/bndlib@0.0.203", "repository_homepage_url": "https://repo1.maven.org/maven2/biz/aQute/bndlib/0.0.203/", "repository_download_url": "https://repo1.maven.org/maven2/biz/aQute/bndlib/0.0.203/bndlib-0.0.203.jar", - "api_data_url": "https://repo1.maven.org/maven2/biz/aQute/bndlib/0.0.203/bndlib-0.0.203.pom" + "api_data_url": "https://repo1.maven.org/maven2/biz/aQute/bndlib/0.0.203/bndlib-0.0.203.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/biz.aQute/bndlib@0.0.203" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/biz/aQute/bndlib/0.0.238/bndlib-0.0.238.pom.package.json b/tests/packagedcode/data/m2/biz/aQute/bndlib/0.0.238/bndlib-0.0.238.pom.package.json index 418a93cd515..4d63e496174 100644 --- a/tests/packagedcode/data/m2/biz/aQute/bndlib/0.0.238/bndlib-0.0.238.pom.package.json +++ b/tests/packagedcode/data/m2/biz/aQute/bndlib/0.0.238/bndlib-0.0.238.pom.package.json @@ -39,14 +39,15 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/biz.aQute/bndlib@0.0.238?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/biz.aQute/bndlib@0.0.238", "repository_homepage_url": "https://repo1.maven.org/maven2/biz/aQute/bndlib/0.0.238/", "repository_download_url": "https://repo1.maven.org/maven2/biz/aQute/bndlib/0.0.238/bndlib-0.0.238.jar", - "api_data_url": "https://repo1.maven.org/maven2/biz/aQute/bndlib/0.0.238/bndlib-0.0.238.pom" + "api_data_url": "https://repo1.maven.org/maven2/biz/aQute/bndlib/0.0.238/bndlib-0.0.238.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/biz.aQute/bndlib@0.0.238" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/bytebuddy/pom.xml.package.json b/tests/packagedcode/data/m2/bytebuddy/pom.xml.package.json index 321aebc5bbf..458fa8a3d5c 100644 --- a/tests/packagedcode/data/m2/bytebuddy/pom.xml.package.json +++ b/tests/packagedcode/data/m2/bytebuddy/pom.xml.package.json @@ -39,10 +39,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/net.bytebuddy/byte-buddy-parent@1.7.1-SNAPSHOT?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -127,8 +127,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/net.bytebuddy/byte-buddy-parent@1.7.1-SNAPSHOT", "repository_homepage_url": "https://repo1.maven.org/maven2/net/bytebuddy/byte-buddy-parent/1.7.1-SNAPSHOT/", "repository_download_url": "https://repo1.maven.org/maven2/net/bytebuddy/byte-buddy-parent/1.7.1-SNAPSHOT/byte-buddy-parent-1.7.1-SNAPSHOT.jar", - "api_data_url": "https://repo1.maven.org/maven2/net/bytebuddy/byte-buddy-parent/1.7.1-SNAPSHOT/byte-buddy-parent-1.7.1-SNAPSHOT.pom" + "api_data_url": "https://repo1.maven.org/maven2/net/bytebuddy/byte-buddy-parent/1.7.1-SNAPSHOT/byte-buddy-parent-1.7.1-SNAPSHOT.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/net.bytebuddy/byte-buddy-parent@1.7.1-SNAPSHOT" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/c3p0/c3p0/0.9.0.4/c3p0-0.9.0.4.pom.package.json b/tests/packagedcode/data/m2/c3p0/c3p0/0.9.0.4/c3p0-0.9.0.4.pom.package.json index f9cbfa80172..d41fee5b4e6 100644 --- a/tests/packagedcode/data/m2/c3p0/c3p0/0.9.0.4/c3p0-0.9.0.4.pom.package.json +++ b/tests/packagedcode/data/m2/c3p0/c3p0/0.9.0.4/c3p0-0.9.0.4.pom.package.json @@ -31,14 +31,15 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/c3p0/c3p0@0.9.0.4?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/c3p0/c3p0@0.9.0.4", "repository_homepage_url": "https://repo1.maven.org/maven2/c3p0/c3p0/0.9.0.4/", "repository_download_url": "https://repo1.maven.org/maven2/c3p0/c3p0/0.9.0.4/c3p0-0.9.0.4.jar", - "api_data_url": "https://repo1.maven.org/maven2/c3p0/c3p0/0.9.0.4/c3p0-0.9.0.4.pom" + "api_data_url": "https://repo1.maven.org/maven2/c3p0/c3p0/0.9.0.4/c3p0-0.9.0.4.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/c3p0/c3p0@0.9.0.4" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/cglib/cglib-nodep/2.1_3/cglib-nodep-2.1_3.pom.package.json b/tests/packagedcode/data/m2/cglib/cglib-nodep/2.1_3/cglib-nodep-2.1_3.pom.package.json index a168344c099..dd8eeadd191 100644 --- a/tests/packagedcode/data/m2/cglib/cglib-nodep/2.1_3/cglib-nodep-2.1_3.pom.package.json +++ b/tests/packagedcode/data/m2/cglib/cglib-nodep/2.1_3/cglib-nodep-2.1_3.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/cglib/cglib-nodep@2.1_3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/cglib/cglib-nodep@2.1_3", "repository_homepage_url": "https://repo1.maven.org/maven2/cglib/cglib-nodep/2.1_3/", "repository_download_url": "https://repo1.maven.org/maven2/cglib/cglib-nodep/2.1_3/cglib-nodep-2.1_3.jar", - "api_data_url": "https://repo1.maven.org/maven2/cglib/cglib-nodep/2.1_3/cglib-nodep-2.1_3.pom" + "api_data_url": "https://repo1.maven.org/maven2/cglib/cglib-nodep/2.1_3/cglib-nodep-2.1_3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/cglib/cglib-nodep@2.1_3" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/cglib/cglib/2.1_3/cglib-2.1_3.pom.package.json b/tests/packagedcode/data/m2/cglib/cglib/2.1_3/cglib-2.1_3.pom.package.json index 32afd07f55d..7ddf180d2fb 100644 --- a/tests/packagedcode/data/m2/cglib/cglib/2.1_3/cglib-2.1_3.pom.package.json +++ b/tests/packagedcode/data/m2/cglib/cglib/2.1_3/cglib-2.1_3.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/cglib/cglib@2.1_3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/cglib/cglib@2.1_3", "repository_homepage_url": "https://repo1.maven.org/maven2/cglib/cglib/2.1_3/", "repository_download_url": "https://repo1.maven.org/maven2/cglib/cglib/2.1_3/cglib-2.1_3.jar", - "api_data_url": "https://repo1.maven.org/maven2/cglib/cglib/2.1_3/cglib-2.1_3.pom" + "api_data_url": "https://repo1.maven.org/maven2/cglib/cglib/2.1_3/cglib-2.1_3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/cglib/cglib@2.1_3" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.pom.package.json b/tests/packagedcode/data/m2/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.pom.package.json index c0fbc1253d4..6d330894990 100644 --- a/tests/packagedcode/data/m2/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.pom.package.json +++ b/tests/packagedcode/data/m2/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.pom.package.json @@ -53,14 +53,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/classworlds/classworlds@1.1-alpha-2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/classworlds/classworlds@1.1-alpha-2", "repository_homepage_url": "https://repo1.maven.org/maven2/classworlds/classworlds/1.1-alpha-2/", "repository_download_url": "https://repo1.maven.org/maven2/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.jar", - "api_data_url": "https://repo1.maven.org/maven2/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.pom" + "api_data_url": "https://repo1.maven.org/maven2/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/classworlds/classworlds@1.1-alpha-2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/classworlds/classworlds/1.1/classworlds-1.1.pom.package.json b/tests/packagedcode/data/m2/classworlds/classworlds/1.1/classworlds-1.1.pom.package.json index 97467b07178..37b63244c5a 100644 --- a/tests/packagedcode/data/m2/classworlds/classworlds/1.1/classworlds-1.1.pom.package.json +++ b/tests/packagedcode/data/m2/classworlds/classworlds/1.1/classworlds-1.1.pom.package.json @@ -53,14 +53,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/classworlds/classworlds@1.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/classworlds/classworlds@1.1", "repository_homepage_url": "https://repo1.maven.org/maven2/classworlds/classworlds/1.1/", "repository_download_url": "https://repo1.maven.org/maven2/classworlds/classworlds/1.1/classworlds-1.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/classworlds/classworlds/1.1/classworlds-1.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/classworlds/classworlds/1.1/classworlds-1.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/classworlds/classworlds@1.1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/cli/commons-cli/1.0/commons-cli-1.0.pom.package.json b/tests/packagedcode/data/m2/cli/commons-cli/1.0/commons-cli-1.0.pom.package.json index fba3fa2ea41..69480b3ffa2 100644 --- a/tests/packagedcode/data/m2/cli/commons-cli/1.0/commons-cli-1.0.pom.package.json +++ b/tests/packagedcode/data/m2/cli/commons-cli/1.0/commons-cli-1.0.pom.package.json @@ -60,10 +60,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/commons-cli/commons-cli@1.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -94,8 +94,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/commons-cli/commons-cli@1.0", "repository_homepage_url": "https://repo1.maven.org/maven2/commons-cli/commons-cli/1.0/", "repository_download_url": "https://repo1.maven.org/maven2/commons-cli/commons-cli/1.0/commons-cli-1.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/commons-cli/commons-cli/1.0/commons-cli-1.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/commons-cli/commons-cli/1.0/commons-cli-1.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/commons-cli/commons-cli@1.0" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/codec/commons-codec/1.3/commons-codec-1.3.pom.package.json b/tests/packagedcode/data/m2/codec/commons-codec/1.3/commons-codec-1.3.pom.package.json index 1a34d8f2566..dbc944937ca 100644 --- a/tests/packagedcode/data/m2/codec/commons-codec/1.3/commons-codec-1.3.pom.package.json +++ b/tests/packagedcode/data/m2/codec/commons-codec/1.3/commons-codec-1.3.pom.package.json @@ -158,10 +158,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/commons-codec/commons-codec@1.3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -174,8 +174,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/commons-codec/commons-codec@1.3", "repository_homepage_url": "https://repo1.maven.org/maven2/commons-codec/commons-codec/1.3/", "repository_download_url": "https://repo1.maven.org/maven2/commons-codec/commons-codec/1.3/commons-codec-1.3.jar", - "api_data_url": "https://repo1.maven.org/maven2/commons-codec/commons-codec/1.3/commons-codec-1.3.pom" + "api_data_url": "https://repo1.maven.org/maven2/commons-codec/commons-codec/1.3/commons-codec-1.3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/commons-codec/commons-codec@1.3" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/collections/commons-collections/2.0/commons-collections-2.0.pom.package.json b/tests/packagedcode/data/m2/collections/commons-collections/2.0/commons-collections-2.0.pom.package.json index 17a23334e81..6cdd9fe957a 100644 --- a/tests/packagedcode/data/m2/collections/commons-collections/2.0/commons-collections-2.0.pom.package.json +++ b/tests/packagedcode/data/m2/collections/commons-collections/2.0/commons-collections-2.0.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/commons-collections/commons-collections@2.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/commons-collections/commons-collections@2.0", "repository_homepage_url": "https://repo1.maven.org/maven2/commons-collections/commons-collections/2.0/", "repository_download_url": "https://repo1.maven.org/maven2/commons-collections/commons-collections/2.0/commons-collections-2.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/commons-collections/commons-collections/2.0/commons-collections-2.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/commons-collections/commons-collections/2.0/commons-collections-2.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/commons-collections/commons-collections@2.0" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/collections/commons-collections/2.1/commons-collections-2.1.pom.package.json b/tests/packagedcode/data/m2/collections/commons-collections/2.1/commons-collections-2.1.pom.package.json index b3a650c977b..f6aa67688ec 100644 --- a/tests/packagedcode/data/m2/collections/commons-collections/2.1/commons-collections-2.1.pom.package.json +++ b/tests/packagedcode/data/m2/collections/commons-collections/2.1/commons-collections-2.1.pom.package.json @@ -60,10 +60,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/commons-collections/commons-collections@2.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -76,8 +76,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/commons-collections/commons-collections@2.1", "repository_homepage_url": "https://repo1.maven.org/maven2/commons-collections/commons-collections/2.1/", "repository_download_url": "https://repo1.maven.org/maven2/commons-collections/commons-collections/2.1/commons-collections-2.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/commons-collections/commons-collections/2.1/commons-collections-2.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/commons-collections/commons-collections/2.1/commons-collections-2.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/commons-collections/commons-collections@2.1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/collections/commons-collections/3.1/commons-collections-3.1.pom.package.json b/tests/packagedcode/data/m2/collections/commons-collections/3.1/commons-collections-3.1.pom.package.json index abf780d2981..163437d1b20 100644 --- a/tests/packagedcode/data/m2/collections/commons-collections/3.1/commons-collections-3.1.pom.package.json +++ b/tests/packagedcode/data/m2/collections/commons-collections/3.1/commons-collections-3.1.pom.package.json @@ -466,10 +466,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/commons-collections/commons-collections@3.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -482,8 +482,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/commons-collections/commons-collections@3.1", "repository_homepage_url": "https://repo1.maven.org/maven2/commons-collections/commons-collections/3.1/", "repository_download_url": "https://repo1.maven.org/maven2/commons-collections/commons-collections/3.1/commons-collections-3.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/commons-collections/commons-collections/3.1/commons-collections-3.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/commons-collections/commons-collections/3.1/commons-collections-3.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/commons-collections/commons-collections@3.1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/collections/commons-collections/3.2/commons-collections-3.2.pom.package.json b/tests/packagedcode/data/m2/collections/commons-collections/3.2/commons-collections-3.2.pom.package.json index 62c2ff5dfa9..c6dc65eda88 100644 --- a/tests/packagedcode/data/m2/collections/commons-collections/3.2/commons-collections-3.2.pom.package.json +++ b/tests/packagedcode/data/m2/collections/commons-collections/3.2/commons-collections-3.2.pom.package.json @@ -697,10 +697,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/commons-collections/commons-collections@3.2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -713,8 +713,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/commons-collections/commons-collections@3.2", "repository_homepage_url": "https://repo1.maven.org/maven2/commons-collections/commons-collections/3.2/", "repository_download_url": "https://repo1.maven.org/maven2/commons-collections/commons-collections/3.2/commons-collections-3.2.jar", - "api_data_url": "https://repo1.maven.org/maven2/commons-collections/commons-collections/3.2/commons-collections-3.2.pom" + "api_data_url": "https://repo1.maven.org/maven2/commons-collections/commons-collections/3.2/commons-collections-3.2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/commons-collections/commons-collections@3.2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/com/google/collect/com.ss.c.g.common.collect/0.5.0.alpha/com.ss.c.g.common.collect-0.5.0.alpha.pom.package.json b/tests/packagedcode/data/m2/com/google/collect/com.ss.c.g.common.collect/0.5.0.alpha/com.ss.c.g.common.collect-0.5.0.alpha.pom.package.json index 9328d078826..a30af65c769 100644 --- a/tests/packagedcode/data/m2/com/google/collect/com.ss.c.g.common.collect/0.5.0.alpha/com.ss.c.g.common.collect-0.5.0.alpha.pom.package.json +++ b/tests/packagedcode/data/m2/com/google/collect/com.ss.c.g.common.collect/0.5.0.alpha/com.ss.c.g.common.collect-0.5.0.alpha.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/com.google.collect/com.ss.c.g.common.collect@0.5.0.alpha?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/com.google.collect/com.ss.c.g.common.collect@0.5.0.alpha", "repository_homepage_url": "https://repo1.maven.org/maven2/com/google/collect/com.ss.c.g.common.collect/0.5.0.alpha/", "repository_download_url": "https://repo1.maven.org/maven2/com/google/collect/com.ss.c.g.common.collect/0.5.0.alpha/com.ss.c.g.common.collect-0.5.0.alpha.jar", - "api_data_url": "https://repo1.maven.org/maven2/com/google/collect/com.ss.c.g.common.collect/0.5.0.alpha/com.ss.c.g.common.collect-0.5.0.alpha.pom" + "api_data_url": "https://repo1.maven.org/maven2/com/google/collect/com.ss.c.g.common.collect/0.5.0.alpha/com.ss.c.g.common.collect-0.5.0.alpha.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/com.google.collect/com.ss.c.g.common.collect@0.5.0.alpha" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/com/jcraft/jsch/0.1.23/jsch-0.1.23.pom.package.json b/tests/packagedcode/data/m2/com/jcraft/jsch/0.1.23/jsch-0.1.23.pom.package.json index a7aea532c3c..4ac2209c96c 100644 --- a/tests/packagedcode/data/m2/com/jcraft/jsch/0.1.23/jsch-0.1.23.pom.package.json +++ b/tests/packagedcode/data/m2/com/jcraft/jsch/0.1.23/jsch-0.1.23.pom.package.json @@ -39,14 +39,15 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/com.jcraft/jsch@0.1.23?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/com.jcraft/jsch@0.1.23", "repository_homepage_url": "https://repo1.maven.org/maven2/com/jcraft/jsch/0.1.23/", "repository_download_url": "https://repo1.maven.org/maven2/com/jcraft/jsch/0.1.23/jsch-0.1.23.jar", - "api_data_url": "https://repo1.maven.org/maven2/com/jcraft/jsch/0.1.23/jsch-0.1.23.pom" + "api_data_url": "https://repo1.maven.org/maven2/com/jcraft/jsch/0.1.23/jsch-0.1.23.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/com.jcraft/jsch@0.1.23" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/com/jcraft/jsch/0.1.27/jsch-0.1.27.pom.package.json b/tests/packagedcode/data/m2/com/jcraft/jsch/0.1.27/jsch-0.1.27.pom.package.json index 494e2910238..1411b9f6db3 100644 --- a/tests/packagedcode/data/m2/com/jcraft/jsch/0.1.27/jsch-0.1.27.pom.package.json +++ b/tests/packagedcode/data/m2/com/jcraft/jsch/0.1.27/jsch-0.1.27.pom.package.json @@ -39,10 +39,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/com.jcraft/jsch@0.1.27?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -55,8 +55,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/com.jcraft/jsch@0.1.27", "repository_homepage_url": "https://repo1.maven.org/maven2/com/jcraft/jsch/0.1.27/", "repository_download_url": "https://repo1.maven.org/maven2/com/jcraft/jsch/0.1.27/jsch-0.1.27.jar", - "api_data_url": "https://repo1.maven.org/maven2/com/jcraft/jsch/0.1.27/jsch-0.1.27.pom" + "api_data_url": "https://repo1.maven.org/maven2/com/jcraft/jsch/0.1.27/jsch-0.1.27.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/com.jcraft/jsch@0.1.27" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/com/sun/facelets/el-api/1.1.11/el-api-1.1.11.pom.package.json b/tests/packagedcode/data/m2/com/sun/facelets/el-api/1.1.11/el-api-1.1.11.pom.package.json index 8ff06cf41cb..b6ea165a379 100644 --- a/tests/packagedcode/data/m2/com/sun/facelets/el-api/1.1.11/el-api-1.1.11.pom.package.json +++ b/tests/packagedcode/data/m2/com/sun/facelets/el-api/1.1.11/el-api-1.1.11.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/com.sun.facelets/el-api@1.1.11?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/com.sun.facelets/el-api@1.1.11", "repository_homepage_url": "https://repo1.maven.org/maven2/com/sun/facelets/el-api/1.1.11/", "repository_download_url": "https://repo1.maven.org/maven2/com/sun/facelets/el-api/1.1.11/el-api-1.1.11.jar", - "api_data_url": "https://repo1.maven.org/maven2/com/sun/facelets/el-api/1.1.11/el-api-1.1.11.pom" + "api_data_url": "https://repo1.maven.org/maven2/com/sun/facelets/el-api/1.1.11/el-api-1.1.11.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/com.sun.facelets/el-api@1.1.11" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/com/sun/facelets/el-ri/1.1.11/el-ri-1.1.11.pom.package.json b/tests/packagedcode/data/m2/com/sun/facelets/el-ri/1.1.11/el-ri-1.1.11.pom.package.json index 910582ef33f..910261b83a4 100644 --- a/tests/packagedcode/data/m2/com/sun/facelets/el-ri/1.1.11/el-ri-1.1.11.pom.package.json +++ b/tests/packagedcode/data/m2/com/sun/facelets/el-ri/1.1.11/el-ri-1.1.11.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/com.sun.facelets/el-ri@1.1.11?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/com.sun.facelets/el-ri@1.1.11", "repository_homepage_url": "https://repo1.maven.org/maven2/com/sun/facelets/el-ri/1.1.11/", "repository_download_url": "https://repo1.maven.org/maven2/com/sun/facelets/el-ri/1.1.11/el-ri-1.1.11.jar", - "api_data_url": "https://repo1.maven.org/maven2/com/sun/facelets/el-ri/1.1.11/el-ri-1.1.11.pom" + "api_data_url": "https://repo1.maven.org/maven2/com/sun/facelets/el-ri/1.1.11/el-ri-1.1.11.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/com.sun.facelets/el-ri@1.1.11" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/com/sun/facelets/jsf-facelets/1.1.14/jsf-facelets-1.1.14.pom.package.json b/tests/packagedcode/data/m2/com/sun/facelets/jsf-facelets/1.1.14/jsf-facelets-1.1.14.pom.package.json index ecd1ee46373..516d715e088 100644 --- a/tests/packagedcode/data/m2/com/sun/facelets/jsf-facelets/1.1.14/jsf-facelets-1.1.14.pom.package.json +++ b/tests/packagedcode/data/m2/com/sun/facelets/jsf-facelets/1.1.14/jsf-facelets-1.1.14.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/com.sun.facelets/jsf-facelets@1.1.14?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/com.sun.facelets/jsf-facelets@1.1.14", "repository_homepage_url": "https://repo1.maven.org/maven2/com/sun/facelets/jsf-facelets/1.1.14/", "repository_download_url": "https://repo1.maven.org/maven2/com/sun/facelets/jsf-facelets/1.1.14/jsf-facelets-1.1.14.jar", - "api_data_url": "https://repo1.maven.org/maven2/com/sun/facelets/jsf-facelets/1.1.14/jsf-facelets-1.1.14.pom" + "api_data_url": "https://repo1.maven.org/maven2/com/sun/facelets/jsf-facelets/1.1.14/jsf-facelets-1.1.14.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/com.sun.facelets/jsf-facelets@1.1.14" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/com/thoughtworks/xstream/xstream-parent/1.2.2/xstream-parent-1.2.2.pom.package.json b/tests/packagedcode/data/m2/com/thoughtworks/xstream/xstream-parent/1.2.2/xstream-parent-1.2.2.pom.package.json index 08c9892178c..dbd7038c1ed 100644 --- a/tests/packagedcode/data/m2/com/thoughtworks/xstream/xstream-parent/1.2.2/xstream-parent-1.2.2.pom.package.json +++ b/tests/packagedcode/data/m2/com/thoughtworks/xstream/xstream-parent/1.2.2/xstream-parent-1.2.2.pom.package.json @@ -39,10 +39,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/com.thoughtworks.xstream/xstream-parent@1.2.2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -190,8 +190,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/com.thoughtworks.xstream/xstream-parent@1.2.2", "repository_homepage_url": "https://repo1.maven.org/maven2/com/thoughtworks/xstream/xstream-parent/1.2.2/", "repository_download_url": "https://repo1.maven.org/maven2/com/thoughtworks/xstream/xstream-parent/1.2.2/xstream-parent-1.2.2.jar", - "api_data_url": "https://repo1.maven.org/maven2/com/thoughtworks/xstream/xstream-parent/1.2.2/xstream-parent-1.2.2.pom" + "api_data_url": "https://repo1.maven.org/maven2/com/thoughtworks/xstream/xstream-parent/1.2.2/xstream-parent-1.2.2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/com.thoughtworks.xstream/xstream-parent@1.2.2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/com/thoughtworks/xstream/xstream/1.2.2/xstream-1.2.2.pom.package.json b/tests/packagedcode/data/m2/com/thoughtworks/xstream/xstream/1.2.2/xstream-1.2.2.pom.package.json index 63f61917ef5..3e937bb4b3d 100644 --- a/tests/packagedcode/data/m2/com/thoughtworks/xstream/xstream/1.2.2/xstream-1.2.2.pom.package.json +++ b/tests/packagedcode/data/m2/com/thoughtworks/xstream/xstream/1.2.2/xstream-1.2.2.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/com.thoughtworks.xstream/xstream@1.2.2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -166,8 +166,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/com.thoughtworks.xstream/xstream@1.2.2", "repository_homepage_url": "https://repo1.maven.org/maven2/com/thoughtworks/xstream/xstream/1.2.2/", "repository_download_url": "https://repo1.maven.org/maven2/com/thoughtworks/xstream/xstream/1.2.2/xstream-1.2.2.jar", - "api_data_url": "https://repo1.maven.org/maven2/com/thoughtworks/xstream/xstream/1.2.2/xstream-1.2.2.pom" + "api_data_url": "https://repo1.maven.org/maven2/com/thoughtworks/xstream/xstream/1.2.2/xstream-1.2.2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/com.thoughtworks.xstream/xstream@1.2.2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/depman/foo.pom.package.json b/tests/packagedcode/data/m2/depman/foo.pom.package.json index 19112984940..37df9288f2f 100644 --- a/tests/packagedcode/data/m2/depman/foo.pom.package.json +++ b/tests/packagedcode/data/m2/depman/foo.pom.package.json @@ -39,10 +39,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.jboss.shrinkwrap.resolver/shrinkwrap-resolver-bom@3.0.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -190,8 +190,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.jboss.shrinkwrap.resolver/shrinkwrap-resolver-bom@3.0.1", "repository_homepage_url": "https://repo1.maven.org/maven2/org/jboss/shrinkwrap/resolver/shrinkwrap-resolver-bom/3.0.1/", "repository_download_url": "https://repo1.maven.org/maven2/org/jboss/shrinkwrap/resolver/shrinkwrap-resolver-bom/3.0.1/shrinkwrap-resolver-bom-3.0.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/jboss/shrinkwrap/resolver/shrinkwrap-resolver-bom/3.0.1/shrinkwrap-resolver-bom-3.0.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/jboss/shrinkwrap/resolver/shrinkwrap-resolver-bom/3.0.1/shrinkwrap-resolver-bom-3.0.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.jboss.shrinkwrap.resolver/shrinkwrap-resolver-bom@3.0.1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/digester/commons-digester/1.6/commons-digester-1.6.pom.package.json b/tests/packagedcode/data/m2/digester/commons-digester/1.6/commons-digester-1.6.pom.package.json index a49c815e42e..283ab85dc06 100644 --- a/tests/packagedcode/data/m2/digester/commons-digester/1.6/commons-digester-1.6.pom.package.json +++ b/tests/packagedcode/data/m2/digester/commons-digester/1.6/commons-digester-1.6.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/commons-digester/commons-digester@1.6?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -76,8 +76,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/commons-digester/commons-digester@1.6", "repository_homepage_url": "https://repo1.maven.org/maven2/commons-digester/commons-digester/1.6/", "repository_download_url": "https://repo1.maven.org/maven2/commons-digester/commons-digester/1.6/commons-digester-1.6.jar", - "api_data_url": "https://repo1.maven.org/maven2/commons-digester/commons-digester/1.6/commons-digester-1.6.pom" + "api_data_url": "https://repo1.maven.org/maven2/commons-digester/commons-digester/1.6/commons-digester-1.6.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/commons-digester/commons-digester@1.6" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/digester/commons-digester/1.8/commons-digester-1.8.pom.package.json b/tests/packagedcode/data/m2/digester/commons-digester/1.8/commons-digester-1.8.pom.package.json index f4a9488871d..35a54c326d2 100644 --- a/tests/packagedcode/data/m2/digester/commons-digester/1.8/commons-digester-1.8.pom.package.json +++ b/tests/packagedcode/data/m2/digester/commons-digester/1.8/commons-digester-1.8.pom.package.json @@ -193,10 +193,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/commons-digester/commons-digester@1.8?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -236,8 +236,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/commons-digester/commons-digester@1.8", "repository_homepage_url": "https://repo1.maven.org/maven2/commons-digester/commons-digester/1.8/", "repository_download_url": "https://repo1.maven.org/maven2/commons-digester/commons-digester/1.8/commons-digester-1.8.jar", - "api_data_url": "https://repo1.maven.org/maven2/commons-digester/commons-digester/1.8/commons-digester-1.8.pom" + "api_data_url": "https://repo1.maven.org/maven2/commons-digester/commons-digester/1.8/commons-digester-1.8.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/commons-digester/commons-digester@1.8" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/dom4j/dom4j/1.6.1/dom4j-1.6.1.pom.package.json b/tests/packagedcode/data/m2/dom4j/dom4j/1.6.1/dom4j-1.6.1.pom.package.json index 846bb9fdd1e..5920f124235 100644 --- a/tests/packagedcode/data/m2/dom4j/dom4j/1.6.1/dom4j-1.6.1.pom.package.json +++ b/tests/packagedcode/data/m2/dom4j/dom4j/1.6.1/dom4j-1.6.1.pom.package.json @@ -137,10 +137,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/dom4j/dom4j@1.6.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -252,8 +252,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/dom4j/dom4j@1.6.1", "repository_homepage_url": "https://repo1.maven.org/maven2/dom4j/dom4j/1.6.1/", "repository_download_url": "https://repo1.maven.org/maven2/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/dom4j/dom4j/1.6.1/dom4j-1.6.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/dom4j/dom4j/1.6.1/dom4j-1.6.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/dom4j/dom4j@1.6.1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/doxia/doxia-core/1.0-alpha-4/doxia-core-1.0-alpha-4.pom.package.json b/tests/packagedcode/data/m2/doxia/doxia-core/1.0-alpha-4/doxia-core-1.0-alpha-4.pom.package.json index 3a75fb69b38..42077f02312 100644 --- a/tests/packagedcode/data/m2/doxia/doxia-core/1.0-alpha-4/doxia-core-1.0-alpha-4.pom.package.json +++ b/tests/packagedcode/data/m2/doxia/doxia-core/1.0-alpha-4/doxia-core-1.0-alpha-4.pom.package.json @@ -39,10 +39,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/doxia/doxia-core@1.0-alpha-4?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -82,8 +82,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/doxia/doxia-core@1.0-alpha-4", "repository_homepage_url": "https://repo1.maven.org/maven2/doxia/doxia-core/1.0-alpha-4/", "repository_download_url": "https://repo1.maven.org/maven2/doxia/doxia-core/1.0-alpha-4/doxia-core-1.0-alpha-4.jar", - "api_data_url": "https://repo1.maven.org/maven2/doxia/doxia-core/1.0-alpha-4/doxia-core-1.0-alpha-4.pom" + "api_data_url": "https://repo1.maven.org/maven2/doxia/doxia-core/1.0-alpha-4/doxia-core-1.0-alpha-4.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/doxia/doxia-core@1.0-alpha-4" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/doxia/doxia-sink-api/1.0-alpha-4/doxia-sink-api-1.0-alpha-4.pom.package.json b/tests/packagedcode/data/m2/doxia/doxia-sink-api/1.0-alpha-4/doxia-sink-api-1.0-alpha-4.pom.package.json index 6dcb16e1d49..4856b1477d3 100644 --- a/tests/packagedcode/data/m2/doxia/doxia-sink-api/1.0-alpha-4/doxia-sink-api-1.0-alpha-4.pom.package.json +++ b/tests/packagedcode/data/m2/doxia/doxia-sink-api/1.0-alpha-4/doxia-sink-api-1.0-alpha-4.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/doxia/doxia-sink-api@1.0-alpha-4?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/doxia/doxia-sink-api@1.0-alpha-4", "repository_homepage_url": "https://repo1.maven.org/maven2/doxia/doxia-sink-api/1.0-alpha-4/", "repository_download_url": "https://repo1.maven.org/maven2/doxia/doxia-sink-api/1.0-alpha-4/doxia-sink-api-1.0-alpha-4.jar", - "api_data_url": "https://repo1.maven.org/maven2/doxia/doxia-sink-api/1.0-alpha-4/doxia-sink-api-1.0-alpha-4.pom" + "api_data_url": "https://repo1.maven.org/maven2/doxia/doxia-sink-api/1.0-alpha-4/doxia-sink-api-1.0-alpha-4.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/doxia/doxia-sink-api@1.0-alpha-4" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/el/commons-el/1.0/commons-el-1.0.pom.package.json b/tests/packagedcode/data/m2/el/commons-el/1.0/commons-el-1.0.pom.package.json index 066625417bb..0cfe16cb42d 100644 --- a/tests/packagedcode/data/m2/el/commons-el/1.0/commons-el-1.0.pom.package.json +++ b/tests/packagedcode/data/m2/el/commons-el/1.0/commons-el-1.0.pom.package.json @@ -74,10 +74,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/commons-el/commons-el@1.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -108,8 +108,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/commons-el/commons-el@1.0", "repository_homepage_url": "https://repo1.maven.org/maven2/commons-el/commons-el/1.0/", "repository_download_url": "https://repo1.maven.org/maven2/commons-el/commons-el/1.0/commons-el-1.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/commons-el/commons-el/1.0/commons-el-1.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/commons-el/commons-el/1.0/commons-el-1.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/commons-el/commons-el@1.0" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/fileupload/commons-fileupload/1.0/commons-fileupload-1.0.pom.package.json b/tests/packagedcode/data/m2/fileupload/commons-fileupload/1.0/commons-fileupload-1.0.pom.package.json index d6a91b82fed..dfda4410e5c 100644 --- a/tests/packagedcode/data/m2/fileupload/commons-fileupload/1.0/commons-fileupload-1.0.pom.package.json +++ b/tests/packagedcode/data/m2/fileupload/commons-fileupload/1.0/commons-fileupload-1.0.pom.package.json @@ -74,10 +74,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/commons-fileupload/commons-fileupload@1.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -99,8 +99,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/commons-fileupload/commons-fileupload@1.0", "repository_homepage_url": "https://repo1.maven.org/maven2/commons-fileupload/commons-fileupload/1.0/", "repository_download_url": "https://repo1.maven.org/maven2/commons-fileupload/commons-fileupload/1.0/commons-fileupload-1.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/commons-fileupload/commons-fileupload/1.0/commons-fileupload-1.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/commons-fileupload/commons-fileupload/1.0/commons-fileupload-1.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/commons-fileupload/commons-fileupload@1.0" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/hsqldb/hsqldb/1.8.0.7/hsqldb-1.8.0.7.pom.package.json b/tests/packagedcode/data/m2/hsqldb/hsqldb/1.8.0.7/hsqldb-1.8.0.7.pom.package.json index d3606e848f3..a302976e9eb 100644 --- a/tests/packagedcode/data/m2/hsqldb/hsqldb/1.8.0.7/hsqldb-1.8.0.7.pom.package.json +++ b/tests/packagedcode/data/m2/hsqldb/hsqldb/1.8.0.7/hsqldb-1.8.0.7.pom.package.json @@ -31,14 +31,15 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/hsqldb/hsqldb@1.8.0.7?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/hsqldb/hsqldb@1.8.0.7", "repository_homepage_url": "https://repo1.maven.org/maven2/hsqldb/hsqldb/1.8.0.7/", "repository_download_url": "https://repo1.maven.org/maven2/hsqldb/hsqldb/1.8.0.7/hsqldb-1.8.0.7.jar", - "api_data_url": "https://repo1.maven.org/maven2/hsqldb/hsqldb/1.8.0.7/hsqldb-1.8.0.7.pom" + "api_data_url": "https://repo1.maven.org/maven2/hsqldb/hsqldb/1.8.0.7/hsqldb-1.8.0.7.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/hsqldb/hsqldb@1.8.0.7" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/httpunit/httpunit/1.6.2/httpunit-1.6.2.pom.package.json b/tests/packagedcode/data/m2/httpunit/httpunit/1.6.2/httpunit-1.6.2.pom.package.json index e75f80fe422..0d4c9728f5b 100644 --- a/tests/packagedcode/data/m2/httpunit/httpunit/1.6.2/httpunit-1.6.2.pom.package.json +++ b/tests/packagedcode/data/m2/httpunit/httpunit/1.6.2/httpunit-1.6.2.pom.package.json @@ -31,10 +31,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/httpunit/httpunit@1.6.2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -110,8 +110,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/httpunit/httpunit@1.6.2", "repository_homepage_url": "https://repo1.maven.org/maven2/httpunit/httpunit/1.6.2/", "repository_download_url": "https://repo1.maven.org/maven2/httpunit/httpunit/1.6.2/httpunit-1.6.2.jar", - "api_data_url": "https://repo1.maven.org/maven2/httpunit/httpunit/1.6.2/httpunit-1.6.2.pom" + "api_data_url": "https://repo1.maven.org/maven2/httpunit/httpunit/1.6.2/httpunit-1.6.2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/httpunit/httpunit@1.6.2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/io/commons-io/1.3.1/commons-io-1.3.1.pom.package.json b/tests/packagedcode/data/m2/io/commons-io/1.3.1/commons-io-1.3.1.pom.package.json index 28bd5499b61..97a7c88e7a8 100644 --- a/tests/packagedcode/data/m2/io/commons-io/1.3.1/commons-io-1.3.1.pom.package.json +++ b/tests/packagedcode/data/m2/io/commons-io/1.3.1/commons-io-1.3.1.pom.package.json @@ -228,10 +228,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/commons-io/commons-io@1.3.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -244,8 +244,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/commons-io/commons-io@1.3.1", "repository_homepage_url": "https://repo1.maven.org/maven2/commons-io/commons-io/1.3.1/", "repository_download_url": "https://repo1.maven.org/maven2/commons-io/commons-io/1.3.1/commons-io-1.3.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/commons-io/commons-io/1.3.1/commons-io-1.3.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/commons-io/commons-io/1.3.1/commons-io-1.3.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/commons-io/commons-io@1.3.1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/javassist/javassist/3.4.GA/javassist-3.4.GA.pom.package.json b/tests/packagedcode/data/m2/javassist/javassist/3.4.GA/javassist-3.4.GA.pom.package.json index c2501d31b07..690916ea33c 100644 --- a/tests/packagedcode/data/m2/javassist/javassist/3.4.GA/javassist-3.4.GA.pom.package.json +++ b/tests/packagedcode/data/m2/javassist/javassist/3.4.GA/javassist-3.4.GA.pom.package.json @@ -31,14 +31,15 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/javassist/javassist@3.4.GA?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/javassist/javassist@3.4.GA", "repository_homepage_url": "https://repo1.maven.org/maven2/javassist/javassist/3.4.GA/", "repository_download_url": "https://repo1.maven.org/maven2/javassist/javassist/3.4.GA/javassist-3.4.GA.jar", - "api_data_url": "https://repo1.maven.org/maven2/javassist/javassist/3.4.GA/javassist-3.4.GA.pom" + "api_data_url": "https://repo1.maven.org/maven2/javassist/javassist/3.4.GA/javassist-3.4.GA.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/javassist/javassist@3.4.GA" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/javax/persistence/persistence-api/1.0.2/persistence-api-1.0.2.pom.package.json b/tests/packagedcode/data/m2/javax/persistence/persistence-api/1.0.2/persistence-api-1.0.2.pom.package.json index 5cafccfd8e4..d9ea8f95da2 100644 --- a/tests/packagedcode/data/m2/javax/persistence/persistence-api/1.0.2/persistence-api-1.0.2.pom.package.json +++ b/tests/packagedcode/data/m2/javax/persistence/persistence-api/1.0.2/persistence-api-1.0.2.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/javax.persistence/persistence-api@1.0.2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/javax.persistence/persistence-api@1.0.2", "repository_homepage_url": "https://repo1.maven.org/maven2/javax/persistence/persistence-api/1.0.2/", "repository_download_url": "https://repo1.maven.org/maven2/javax/persistence/persistence-api/1.0.2/persistence-api-1.0.2.jar", - "api_data_url": "https://repo1.maven.org/maven2/javax/persistence/persistence-api/1.0.2/persistence-api-1.0.2.pom" + "api_data_url": "https://repo1.maven.org/maven2/javax/persistence/persistence-api/1.0.2/persistence-api-1.0.2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/javax.persistence/persistence-api@1.0.2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/javax/persistence/persistence-api/1.0/persistence-api-1.0.pom.package.json b/tests/packagedcode/data/m2/javax/persistence/persistence-api/1.0/persistence-api-1.0.pom.package.json index 5689b6279bc..f203bf216ab 100644 --- a/tests/packagedcode/data/m2/javax/persistence/persistence-api/1.0/persistence-api-1.0.pom.package.json +++ b/tests/packagedcode/data/m2/javax/persistence/persistence-api/1.0/persistence-api-1.0.pom.package.json @@ -31,14 +31,15 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/javax.persistence/persistence-api@1.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/javax.persistence/persistence-api@1.0", "repository_homepage_url": "https://repo1.maven.org/maven2/javax/persistence/persistence-api/1.0/", "repository_download_url": "https://repo1.maven.org/maven2/javax/persistence/persistence-api/1.0/persistence-api-1.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/javax/persistence/persistence-api/1.0/persistence-api-1.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/javax/persistence/persistence-api/1.0/persistence-api-1.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/javax.persistence/persistence-api@1.0" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/javax/servlet/jstl/1.1.0/jstl-1.1.0.pom.package.json b/tests/packagedcode/data/m2/javax/servlet/jstl/1.1.0/jstl-1.1.0.pom.package.json index 1e447953f1c..bb2c0219dda 100644 --- a/tests/packagedcode/data/m2/javax/servlet/jstl/1.1.0/jstl-1.1.0.pom.package.json +++ b/tests/packagedcode/data/m2/javax/servlet/jstl/1.1.0/jstl-1.1.0.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/javax.servlet/jstl@1.1.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/javax.servlet/jstl@1.1.0", "repository_homepage_url": "https://repo1.maven.org/maven2/javax/servlet/jstl/1.1.0/", "repository_download_url": "https://repo1.maven.org/maven2/javax/servlet/jstl/1.1.0/jstl-1.1.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/javax/servlet/jstl/1.1.0/jstl-1.1.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/javax/servlet/jstl/1.1.0/jstl-1.1.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/javax.servlet/jstl@1.1.0" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/javax/servlet/servlet-api/2.4/servlet-api-2.4.pom.package.json b/tests/packagedcode/data/m2/javax/servlet/servlet-api/2.4/servlet-api-2.4.pom.package.json index 811d1dfa1a8..19db740008d 100644 --- a/tests/packagedcode/data/m2/javax/servlet/servlet-api/2.4/servlet-api-2.4.pom.package.json +++ b/tests/packagedcode/data/m2/javax/servlet/servlet-api/2.4/servlet-api-2.4.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/javax.servlet/servlet-api@2.4?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/javax.servlet/servlet-api@2.4", "repository_homepage_url": "https://repo1.maven.org/maven2/javax/servlet/servlet-api/2.4/", "repository_download_url": "https://repo1.maven.org/maven2/javax/servlet/servlet-api/2.4/servlet-api-2.4.jar", - "api_data_url": "https://repo1.maven.org/maven2/javax/servlet/servlet-api/2.4/servlet-api-2.4.pom" + "api_data_url": "https://repo1.maven.org/maven2/javax/servlet/servlet-api/2.4/servlet-api-2.4.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/javax.servlet/servlet-api@2.4" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/javax/servlet/servlet-api/2.5/servlet-api-2.5.pom.package.json b/tests/packagedcode/data/m2/javax/servlet/servlet-api/2.5/servlet-api-2.5.pom.package.json index cf809a8b190..134fd8db31c 100644 --- a/tests/packagedcode/data/m2/javax/servlet/servlet-api/2.5/servlet-api-2.5.pom.package.json +++ b/tests/packagedcode/data/m2/javax/servlet/servlet-api/2.5/servlet-api-2.5.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/javax.servlet/servlet-api@2.5?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/javax.servlet/servlet-api@2.5", "repository_homepage_url": "https://repo1.maven.org/maven2/javax/servlet/servlet-api/2.5/", "repository_download_url": "https://repo1.maven.org/maven2/javax/servlet/servlet-api/2.5/servlet-api-2.5.jar", - "api_data_url": "https://repo1.maven.org/maven2/javax/servlet/servlet-api/2.5/servlet-api-2.5.pom" + "api_data_url": "https://repo1.maven.org/maven2/javax/servlet/servlet-api/2.5/servlet-api-2.5.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/javax.servlet/servlet-api@2.5" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/javax/transaction/jta/1.0.1B/jta-1.0.1B.pom.package.json b/tests/packagedcode/data/m2/javax/transaction/jta/1.0.1B/jta-1.0.1B.pom.package.json index c583d3718fa..4c1dc1591f5 100644 --- a/tests/packagedcode/data/m2/javax/transaction/jta/1.0.1B/jta-1.0.1B.pom.package.json +++ b/tests/packagedcode/data/m2/javax/transaction/jta/1.0.1B/jta-1.0.1B.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/javax.transaction/jta@1.0.1B?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/javax.transaction/jta@1.0.1B", "repository_homepage_url": "https://repo1.maven.org/maven2/javax/transaction/jta/1.0.1B/", "repository_download_url": "https://repo1.maven.org/maven2/javax/transaction/jta/1.0.1B/jta-1.0.1B.jar", - "api_data_url": "https://repo1.maven.org/maven2/javax/transaction/jta/1.0.1B/jta-1.0.1B.pom" + "api_data_url": "https://repo1.maven.org/maven2/javax/transaction/jta/1.0.1B/jta-1.0.1B.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/javax.transaction/jta@1.0.1B" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/jboss/javassist/3.3.ga/javassist-3.3.ga.pom.package.json b/tests/packagedcode/data/m2/jboss/javassist/3.3.ga/javassist-3.3.ga.pom.package.json index a30fc38abbf..b4b0f30c1c4 100644 --- a/tests/packagedcode/data/m2/jboss/javassist/3.3.ga/javassist-3.3.ga.pom.package.json +++ b/tests/packagedcode/data/m2/jboss/javassist/3.3.ga/javassist-3.3.ga.pom.package.json @@ -39,14 +39,15 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/jboss/javassist@3.3.ga?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/jboss/javassist@3.3.ga", "repository_homepage_url": "https://repo1.maven.org/maven2/jboss/javassist/3.3.ga/", "repository_download_url": "https://repo1.maven.org/maven2/jboss/javassist/3.3.ga/javassist-3.3.ga.jar", - "api_data_url": "https://repo1.maven.org/maven2/jboss/javassist/3.3.ga/javassist-3.3.ga.pom" + "api_data_url": "https://repo1.maven.org/maven2/jboss/javassist/3.3.ga/javassist-3.3.ga.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/jboss/javassist@3.3.ga" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/jboss/jboss-archive-browsing/5.0.0alpha-200607201-119/jboss-archive-browsing-5.0.0alpha-200607201-119.pom.package.json b/tests/packagedcode/data/m2/jboss/jboss-archive-browsing/5.0.0alpha-200607201-119/jboss-archive-browsing-5.0.0alpha-200607201-119.pom.package.json index 79e624d5d86..dc6e2c56071 100644 --- a/tests/packagedcode/data/m2/jboss/jboss-archive-browsing/5.0.0alpha-200607201-119/jboss-archive-browsing-5.0.0alpha-200607201-119.pom.package.json +++ b/tests/packagedcode/data/m2/jboss/jboss-archive-browsing/5.0.0alpha-200607201-119/jboss-archive-browsing-5.0.0alpha-200607201-119.pom.package.json @@ -31,14 +31,15 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/jboss/jboss-archive-browsing@5.0.0alpha-200607201-119?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/jboss/jboss-archive-browsing@5.0.0alpha-200607201-119", "repository_homepage_url": "https://repo1.maven.org/maven2/jboss/jboss-archive-browsing/5.0.0alpha-200607201-119/", "repository_download_url": "https://repo1.maven.org/maven2/jboss/jboss-archive-browsing/5.0.0alpha-200607201-119/jboss-archive-browsing-5.0.0alpha-200607201-119.jar", - "api_data_url": "https://repo1.maven.org/maven2/jboss/jboss-archive-browsing/5.0.0alpha-200607201-119/jboss-archive-browsing-5.0.0alpha-200607201-119.pom" + "api_data_url": "https://repo1.maven.org/maven2/jboss/jboss-archive-browsing/5.0.0alpha-200607201-119/jboss-archive-browsing-5.0.0alpha-200607201-119.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/jboss/jboss-archive-browsing@5.0.0alpha-200607201-119" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/jetty/org.mortbay.jetty/5.1.10/org.mortbay.jetty-5.1.10.pom.package.json b/tests/packagedcode/data/m2/jetty/org.mortbay.jetty/5.1.10/org.mortbay.jetty-5.1.10.pom.package.json index 48e558776ab..62e98f206d6 100644 --- a/tests/packagedcode/data/m2/jetty/org.mortbay.jetty/5.1.10/org.mortbay.jetty-5.1.10.pom.package.json +++ b/tests/packagedcode/data/m2/jetty/org.mortbay.jetty/5.1.10/org.mortbay.jetty-5.1.10.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/jetty/org.mortbay.jetty@5.1.10?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/jetty/org.mortbay.jetty@5.1.10", "repository_homepage_url": "https://repo1.maven.org/maven2/jetty/org.mortbay.jetty/5.1.10/", "repository_download_url": "https://repo1.maven.org/maven2/jetty/org.mortbay.jetty/5.1.10/org.mortbay.jetty-5.1.10.jar", - "api_data_url": "https://repo1.maven.org/maven2/jetty/org.mortbay.jetty/5.1.10/org.mortbay.jetty-5.1.10.pom" + "api_data_url": "https://repo1.maven.org/maven2/jetty/org.mortbay.jetty/5.1.10/org.mortbay.jetty-5.1.10.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/jetty/org.mortbay.jetty@5.1.10" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/jtidy/jtidy/4aug2000r7-dev/jtidy-4aug2000r7-dev.pom.package.json b/tests/packagedcode/data/m2/jtidy/jtidy/4aug2000r7-dev/jtidy-4aug2000r7-dev.pom.package.json index fac48434ec6..68aec53cb83 100644 --- a/tests/packagedcode/data/m2/jtidy/jtidy/4aug2000r7-dev/jtidy-4aug2000r7-dev.pom.package.json +++ b/tests/packagedcode/data/m2/jtidy/jtidy/4aug2000r7-dev/jtidy-4aug2000r7-dev.pom.package.json @@ -39,14 +39,15 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/jtidy/jtidy@4aug2000r7-dev?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/jtidy/jtidy@4aug2000r7-dev", "repository_homepage_url": "https://repo1.maven.org/maven2/jtidy/jtidy/4aug2000r7-dev/", "repository_download_url": "https://repo1.maven.org/maven2/jtidy/jtidy/4aug2000r7-dev/jtidy-4aug2000r7-dev.jar", - "api_data_url": "https://repo1.maven.org/maven2/jtidy/jtidy/4aug2000r7-dev/jtidy-4aug2000r7-dev.pom" + "api_data_url": "https://repo1.maven.org/maven2/jtidy/jtidy/4aug2000r7-dev/jtidy-4aug2000r7-dev.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/jtidy/jtidy@4aug2000r7-dev" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/junit/junit/3.8.1/junit-3.8.1.pom.package.json b/tests/packagedcode/data/m2/junit/junit/3.8.1/junit-3.8.1.pom.package.json index 3979e829725..c7b8ba046da 100644 --- a/tests/packagedcode/data/m2/junit/junit/3.8.1/junit-3.8.1.pom.package.json +++ b/tests/packagedcode/data/m2/junit/junit/3.8.1/junit-3.8.1.pom.package.json @@ -39,14 +39,15 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/junit/junit@3.8.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/junit/junit@3.8.1", "repository_homepage_url": "https://repo1.maven.org/maven2/junit/junit/3.8.1/", "repository_download_url": "https://repo1.maven.org/maven2/junit/junit/3.8.1/junit-3.8.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/junit/junit/3.8.1/junit-3.8.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/junit/junit/3.8.1/junit-3.8.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/junit/junit@3.8.1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/junit/junit/3.8.2/junit-3.8.2.pom.package.json b/tests/packagedcode/data/m2/junit/junit/3.8.2/junit-3.8.2.pom.package.json index ac51346ddf3..df1a696bb92 100644 --- a/tests/packagedcode/data/m2/junit/junit/3.8.2/junit-3.8.2.pom.package.json +++ b/tests/packagedcode/data/m2/junit/junit/3.8.2/junit-3.8.2.pom.package.json @@ -39,14 +39,15 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/junit/junit@3.8.2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/junit/junit@3.8.2", "repository_homepage_url": "https://repo1.maven.org/maven2/junit/junit/3.8.2/", "repository_download_url": "https://repo1.maven.org/maven2/junit/junit/3.8.2/junit-3.8.2.jar", - "api_data_url": "https://repo1.maven.org/maven2/junit/junit/3.8.2/junit-3.8.2.pom" + "api_data_url": "https://repo1.maven.org/maven2/junit/junit/3.8.2/junit-3.8.2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/junit/junit@3.8.2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/junit/junit/4.4/junit-4.4.pom.package.json b/tests/packagedcode/data/m2/junit/junit/4.4/junit-4.4.pom.package.json index 3c507e07474..fcf50e779dc 100644 --- a/tests/packagedcode/data/m2/junit/junit/4.4/junit-4.4.pom.package.json +++ b/tests/packagedcode/data/m2/junit/junit/4.4/junit-4.4.pom.package.json @@ -39,14 +39,15 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/junit/junit@4.4?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/junit/junit@4.4", "repository_homepage_url": "https://repo1.maven.org/maven2/junit/junit/4.4/", "repository_download_url": "https://repo1.maven.org/maven2/junit/junit/4.4/junit-4.4.jar", - "api_data_url": "https://repo1.maven.org/maven2/junit/junit/4.4/junit-4.4.pom" + "api_data_url": "https://repo1.maven.org/maven2/junit/junit/4.4/junit-4.4.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/junit/junit@4.4" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/lang/commons-lang/2.1/commons-lang-2.1.pom.package.json b/tests/packagedcode/data/m2/lang/commons-lang/2.1/commons-lang-2.1.pom.package.json index 4b7af314071..43228d388c9 100644 --- a/tests/packagedcode/data/m2/lang/commons-lang/2.1/commons-lang-2.1.pom.package.json +++ b/tests/packagedcode/data/m2/lang/commons-lang/2.1/commons-lang-2.1.pom.package.json @@ -536,10 +536,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/commons-lang/commons-lang@2.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -552,8 +552,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/commons-lang/commons-lang@2.1", "repository_homepage_url": "https://repo1.maven.org/maven2/commons-lang/commons-lang/2.1/", "repository_download_url": "https://repo1.maven.org/maven2/commons-lang/commons-lang/2.1/commons-lang-2.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/commons-lang/commons-lang/2.1/commons-lang-2.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/commons-lang/commons-lang/2.1/commons-lang-2.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/commons-lang/commons-lang@2.1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/lang/commons-lang/2.3/commons-lang-2.3.pom.package.json b/tests/packagedcode/data/m2/lang/commons-lang/2.3/commons-lang-2.3.pom.package.json index b5b0722769e..1500e80c358 100644 --- a/tests/packagedcode/data/m2/lang/commons-lang/2.3/commons-lang-2.3.pom.package.json +++ b/tests/packagedcode/data/m2/lang/commons-lang/2.3/commons-lang-2.3.pom.package.json @@ -613,10 +613,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/commons-lang/commons-lang@2.3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -629,8 +629,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/commons-lang/commons-lang@2.3", "repository_homepage_url": "https://repo1.maven.org/maven2/commons-lang/commons-lang/2.3/", "repository_download_url": "https://repo1.maven.org/maven2/commons-lang/commons-lang/2.3/commons-lang-2.3.jar", - "api_data_url": "https://repo1.maven.org/maven2/commons-lang/commons-lang/2.3/commons-lang-2.3.pom" + "api_data_url": "https://repo1.maven.org/maven2/commons-lang/commons-lang/2.3/commons-lang-2.3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/commons-lang/commons-lang@2.3" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/lang/commons-lang/2.4/commons-lang-2.4.pom.package.json b/tests/packagedcode/data/m2/lang/commons-lang/2.4/commons-lang-2.4.pom.package.json index 42a6cf2db0e..eafa4f72be1 100644 --- a/tests/packagedcode/data/m2/lang/commons-lang/2.4/commons-lang-2.4.pom.package.json +++ b/tests/packagedcode/data/m2/lang/commons-lang/2.4/commons-lang-2.4.pom.package.json @@ -613,10 +613,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/commons-lang/commons-lang@2.4?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -629,8 +629,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/commons-lang/commons-lang@2.4", "repository_homepage_url": "https://repo1.maven.org/maven2/commons-lang/commons-lang/2.4/", "repository_download_url": "https://repo1.maven.org/maven2/commons-lang/commons-lang/2.4/commons-lang-2.4.jar", - "api_data_url": "https://repo1.maven.org/maven2/commons-lang/commons-lang/2.4/commons-lang-2.4.pom" + "api_data_url": "https://repo1.maven.org/maven2/commons-lang/commons-lang/2.4/commons-lang-2.4.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/commons-lang/commons-lang@2.4" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/log4j/log4j/1.2.15/log4j-1.2.15.pom.package.json b/tests/packagedcode/data/m2/log4j/log4j/1.2.15/log4j-1.2.15.pom.package.json index 9910162b479..e08e62d1a12 100644 --- a/tests/packagedcode/data/m2/log4j/log4j/1.2.15/log4j-1.2.15.pom.package.json +++ b/tests/packagedcode/data/m2/log4j/log4j/1.2.15/log4j-1.2.15.pom.package.json @@ -39,10 +39,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/log4j/log4j@1.2.15?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -100,8 +100,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/log4j/log4j@1.2.15", "repository_homepage_url": "https://repo1.maven.org/maven2/log4j/log4j/1.2.15/", "repository_download_url": "https://repo1.maven.org/maven2/log4j/log4j/1.2.15/log4j-1.2.15.jar", - "api_data_url": "https://repo1.maven.org/maven2/log4j/log4j/1.2.15/log4j-1.2.15.pom" + "api_data_url": "https://repo1.maven.org/maven2/log4j/log4j/1.2.15/log4j-1.2.15.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/log4j/log4j@1.2.15" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/log4j/log4j/1.2.9/log4j-1.2.9.pom.package.json b/tests/packagedcode/data/m2/log4j/log4j/1.2.9/log4j-1.2.9.pom.package.json index 67294acada8..b754d4519c5 100644 --- a/tests/packagedcode/data/m2/log4j/log4j/1.2.9/log4j-1.2.9.pom.package.json +++ b/tests/packagedcode/data/m2/log4j/log4j/1.2.9/log4j-1.2.9.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/log4j/log4j@1.2.9?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/log4j/log4j@1.2.9", "repository_homepage_url": "https://repo1.maven.org/maven2/log4j/log4j/1.2.9/", "repository_download_url": "https://repo1.maven.org/maven2/log4j/log4j/1.2.9/log4j-1.2.9.jar", - "api_data_url": "https://repo1.maven.org/maven2/log4j/log4j/1.2.9/log4j-1.2.9.pom" + "api_data_url": "https://repo1.maven.org/maven2/log4j/log4j/1.2.9/log4j-1.2.9.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/log4j/log4j@1.2.9" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/logging/commons-logging-api/1.0.4/commons-logging-api-1.0.4.pom.package.json b/tests/packagedcode/data/m2/logging/commons-logging-api/1.0.4/commons-logging-api-1.0.4.pom.package.json index 1e77036a63d..456908319e2 100644 --- a/tests/packagedcode/data/m2/logging/commons-logging-api/1.0.4/commons-logging-api-1.0.4.pom.package.json +++ b/tests/packagedcode/data/m2/logging/commons-logging-api/1.0.4/commons-logging-api-1.0.4.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/commons-logging/commons-logging-api@1.0.4?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/commons-logging/commons-logging-api@1.0.4", "repository_homepage_url": "https://repo1.maven.org/maven2/commons-logging/commons-logging-api/1.0.4/", "repository_download_url": "https://repo1.maven.org/maven2/commons-logging/commons-logging-api/1.0.4/commons-logging-api-1.0.4.jar", - "api_data_url": "https://repo1.maven.org/maven2/commons-logging/commons-logging-api/1.0.4/commons-logging-api-1.0.4.pom" + "api_data_url": "https://repo1.maven.org/maven2/commons-logging/commons-logging-api/1.0.4/commons-logging-api-1.0.4.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/commons-logging/commons-logging-api@1.0.4" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/logging/commons-logging/1.0.3/commons-logging-1.0.3.pom.package.json b/tests/packagedcode/data/m2/logging/commons-logging/1.0.3/commons-logging-1.0.3.pom.package.json index 401ac8d6d11..0cb7f994efd 100644 --- a/tests/packagedcode/data/m2/logging/commons-logging/1.0.3/commons-logging-1.0.3.pom.package.json +++ b/tests/packagedcode/data/m2/logging/commons-logging/1.0.3/commons-logging-1.0.3.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/commons-logging/commons-logging@1.0.3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -58,8 +58,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/commons-logging/commons-logging@1.0.3", "repository_homepage_url": "https://repo1.maven.org/maven2/commons-logging/commons-logging/1.0.3/", "repository_download_url": "https://repo1.maven.org/maven2/commons-logging/commons-logging/1.0.3/commons-logging-1.0.3.jar", - "api_data_url": "https://repo1.maven.org/maven2/commons-logging/commons-logging/1.0.3/commons-logging-1.0.3.pom" + "api_data_url": "https://repo1.maven.org/maven2/commons-logging/commons-logging/1.0.3/commons-logging-1.0.3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/commons-logging/commons-logging@1.0.3" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/logging/commons-logging/1.0.4/commons-logging-1.0.4.pom.package.json b/tests/packagedcode/data/m2/logging/commons-logging/1.0.4/commons-logging-1.0.4.pom.package.json index 6fd6d655c38..e9e672a3244 100644 --- a/tests/packagedcode/data/m2/logging/commons-logging/1.0.4/commons-logging-1.0.4.pom.package.json +++ b/tests/packagedcode/data/m2/logging/commons-logging/1.0.4/commons-logging-1.0.4.pom.package.json @@ -102,10 +102,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/commons-logging/commons-logging@1.0.4?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -145,8 +145,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/commons-logging/commons-logging@1.0.4", "repository_homepage_url": "https://repo1.maven.org/maven2/commons-logging/commons-logging/1.0.4/", "repository_download_url": "https://repo1.maven.org/maven2/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar", - "api_data_url": "https://repo1.maven.org/maven2/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.pom" + "api_data_url": "https://repo1.maven.org/maven2/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/commons-logging/commons-logging@1.0.4" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/logging/commons-logging/1.0/commons-logging-1.0.pom.package.json b/tests/packagedcode/data/m2/logging/commons-logging/1.0/commons-logging-1.0.pom.package.json index bbc58f2d1c3..0789639635a 100644 --- a/tests/packagedcode/data/m2/logging/commons-logging/1.0/commons-logging-1.0.pom.package.json +++ b/tests/packagedcode/data/m2/logging/commons-logging/1.0/commons-logging-1.0.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/commons-logging/commons-logging@1.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/commons-logging/commons-logging@1.0", "repository_homepage_url": "https://repo1.maven.org/maven2/commons-logging/commons-logging/1.0/", "repository_download_url": "https://repo1.maven.org/maven2/commons-logging/commons-logging/1.0/commons-logging-1.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/commons-logging/commons-logging/1.0/commons-logging-1.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/commons-logging/commons-logging/1.0/commons-logging-1.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/commons-logging/commons-logging@1.0" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/logging/commons-logging/1.1.1/commons-logging-1.1.1.pom.package.json b/tests/packagedcode/data/m2/logging/commons-logging/1.1.1/commons-logging-1.1.1.pom.package.json index 85810df85d0..838c34ed5b4 100644 --- a/tests/packagedcode/data/m2/logging/commons-logging/1.1.1/commons-logging-1.1.1.pom.package.json +++ b/tests/packagedcode/data/m2/logging/commons-logging/1.1.1/commons-logging-1.1.1.pom.package.json @@ -109,10 +109,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/commons-logging/commons-logging@1.1.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -161,8 +161,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/commons-logging/commons-logging@1.1.1", "repository_homepage_url": "https://repo1.maven.org/maven2/commons-logging/commons-logging/1.1.1/", "repository_download_url": "https://repo1.maven.org/maven2/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/commons-logging/commons-logging@1.1.1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/logging/commons-logging/1.1/commons-logging-1.1.pom.package.json b/tests/packagedcode/data/m2/logging/commons-logging/1.1/commons-logging-1.1.pom.package.json index f0263262510..1e63e28a7ce 100644 --- a/tests/packagedcode/data/m2/logging/commons-logging/1.1/commons-logging-1.1.pom.package.json +++ b/tests/packagedcode/data/m2/logging/commons-logging/1.1/commons-logging-1.1.pom.package.json @@ -123,10 +123,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/commons-logging/commons-logging@1.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -175,8 +175,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/commons-logging/commons-logging@1.1", "repository_homepage_url": "https://repo1.maven.org/maven2/commons-logging/commons-logging/1.1/", "repository_download_url": "https://repo1.maven.org/maven2/commons-logging/commons-logging/1.1/commons-logging-1.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/commons-logging/commons-logging/1.1/commons-logging-1.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/commons-logging/commons-logging/1.1/commons-logging-1.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/commons-logging/commons-logging@1.1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/logkit/logkit/1.0.1/logkit-1.0.1.pom.package.json b/tests/packagedcode/data/m2/logkit/logkit/1.0.1/logkit-1.0.1.pom.package.json index f05efde17e0..87c80ec9d19 100644 --- a/tests/packagedcode/data/m2/logkit/logkit/1.0.1/logkit-1.0.1.pom.package.json +++ b/tests/packagedcode/data/m2/logkit/logkit/1.0.1/logkit-1.0.1.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/logkit/logkit@1.0.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/logkit/logkit@1.0.1", "repository_homepage_url": "https://repo1.maven.org/maven2/logkit/logkit/1.0.1/", "repository_download_url": "https://repo1.maven.org/maven2/logkit/logkit/1.0.1/logkit-1.0.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/logkit/logkit/1.0.1/logkit-1.0.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/logkit/logkit/1.0.1/logkit-1.0.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/logkit/logkit@1.0.1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/math/commons-math/1.2/commons-math-1.2.pom.package.json b/tests/packagedcode/data/m2/math/commons-math/1.2/commons-math-1.2.pom.package.json index 8291ec5d354..63a276aee56 100644 --- a/tests/packagedcode/data/m2/math/commons-math/1.2/commons-math-1.2.pom.package.json +++ b/tests/packagedcode/data/m2/math/commons-math/1.2/commons-math-1.2.pom.package.json @@ -193,10 +193,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/commons-math/commons-math@1.2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -227,8 +227,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/commons-math/commons-math@1.2", "repository_homepage_url": "https://repo1.maven.org/maven2/commons-math/commons-math/1.2/", "repository_download_url": "https://repo1.maven.org/maven2/commons-math/commons-math/1.2/commons-math-1.2.jar", - "api_data_url": "https://repo1.maven.org/maven2/commons-math/commons-math/1.2/commons-math-1.2.pom" + "api_data_url": "https://repo1.maven.org/maven2/commons-math/commons-math/1.2/commons-math-1.2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/commons-math/commons-math@1.2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/mysql/mysql-connector-java/5.0.4/mysql-connector-java-5.0.4.pom.package.json b/tests/packagedcode/data/m2/mysql/mysql-connector-java/5.0.4/mysql-connector-java-5.0.4.pom.package.json index 07ce513445e..fccf14b4316 100644 --- a/tests/packagedcode/data/m2/mysql/mysql-connector-java/5.0.4/mysql-connector-java-5.0.4.pom.package.json +++ b/tests/packagedcode/data/m2/mysql/mysql-connector-java/5.0.4/mysql-connector-java-5.0.4.pom.package.json @@ -31,14 +31,15 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/mysql/mysql-connector-java@5.0.4?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/mysql/mysql-connector-java@5.0.4", "repository_homepage_url": "https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.0.4/", "repository_download_url": "https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.0.4/mysql-connector-java-5.0.4.jar", - "api_data_url": "https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.0.4/mysql-connector-java-5.0.4.pom" + "api_data_url": "https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.0.4/mysql-connector-java-5.0.4.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/mysql/mysql-connector-java@5.0.4" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/net/jcip/jcip-annotations/1.0/jcip-annotations-1.0.pom.package.json b/tests/packagedcode/data/m2/net/jcip/jcip-annotations/1.0/jcip-annotations-1.0.pom.package.json index 62f729854c5..3eb93719e74 100644 --- a/tests/packagedcode/data/m2/net/jcip/jcip-annotations/1.0/jcip-annotations-1.0.pom.package.json +++ b/tests/packagedcode/data/m2/net/jcip/jcip-annotations/1.0/jcip-annotations-1.0.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/net.jcip/jcip-annotations@1.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/net.jcip/jcip-annotations@1.0", "repository_homepage_url": "https://repo1.maven.org/maven2/net/jcip/jcip-annotations/1.0/", "repository_download_url": "https://repo1.maven.org/maven2/net/jcip/jcip-annotations/1.0/jcip-annotations-1.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/net/jcip/jcip-annotations/1.0/jcip-annotations-1.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/net/jcip/jcip-annotations/1.0/jcip-annotations-1.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/net.jcip/jcip-annotations@1.0" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/net/sf/ehcache/ehcache/1.2.3/ehcache-1.2.3.pom.package.json b/tests/packagedcode/data/m2/net/sf/ehcache/ehcache/1.2.3/ehcache-1.2.3.pom.package.json index 491ef1ac6d3..573fe60a32a 100644 --- a/tests/packagedcode/data/m2/net/sf/ehcache/ehcache/1.2.3/ehcache-1.2.3.pom.package.json +++ b/tests/packagedcode/data/m2/net/sf/ehcache/ehcache/1.2.3/ehcache-1.2.3.pom.package.json @@ -81,10 +81,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/net.sf.ehcache/ehcache@1.2.3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -160,8 +160,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/net.sf.ehcache/ehcache@1.2.3", "repository_homepage_url": "https://repo1.maven.org/maven2/net/sf/ehcache/ehcache/1.2.3/", "repository_download_url": "https://repo1.maven.org/maven2/net/sf/ehcache/ehcache/1.2.3/ehcache-1.2.3.jar", - "api_data_url": "https://repo1.maven.org/maven2/net/sf/ehcache/ehcache/1.2.3/ehcache-1.2.3.pom" + "api_data_url": "https://repo1.maven.org/maven2/net/sf/ehcache/ehcache/1.2.3/ehcache-1.2.3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/net.sf.ehcache/ehcache@1.2.3" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/net/sf/kxml/kxml2/2.2.2/kxml2-2.2.2.pom.package.json b/tests/packagedcode/data/m2/net/sf/kxml/kxml2/2.2.2/kxml2-2.2.2.pom.package.json index 510ab0febd0..4d49f0193db 100644 --- a/tests/packagedcode/data/m2/net/sf/kxml/kxml2/2.2.2/kxml2-2.2.2.pom.package.json +++ b/tests/packagedcode/data/m2/net/sf/kxml/kxml2/2.2.2/kxml2-2.2.2.pom.package.json @@ -46,10 +46,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/net.sf.kxml/kxml2@2.2.2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -71,8 +71,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/net.sf.kxml/kxml2@2.2.2", "repository_homepage_url": "https://repo1.maven.org/maven2/net/sf/kxml/kxml2/2.2.2/", "repository_download_url": "https://repo1.maven.org/maven2/net/sf/kxml/kxml2/2.2.2/kxml2-2.2.2.jar", - "api_data_url": "https://repo1.maven.org/maven2/net/sf/kxml/kxml2/2.2.2/kxml2-2.2.2.pom" + "api_data_url": "https://repo1.maven.org/maven2/net/sf/kxml/kxml2/2.2.2/kxml2-2.2.2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/net.sf.kxml/kxml2@2.2.2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/acegisecurity/acegi-security-parent/1.0.5/acegi-security-parent-1.0.5.pom.package.json b/tests/packagedcode/data/m2/org/acegisecurity/acegi-security-parent/1.0.5/acegi-security-parent-1.0.5.pom.package.json index 3c7dd12e65e..b3df11cee7a 100644 --- a/tests/packagedcode/data/m2/org/acegisecurity/acegi-security-parent/1.0.5/acegi-security-parent-1.0.5.pom.package.json +++ b/tests/packagedcode/data/m2/org/acegisecurity/acegi-security-parent/1.0.5/acegi-security-parent-1.0.5.pom.package.json @@ -235,10 +235,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.acegisecurity/acegi-security-parent@1.0.5?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -314,8 +314,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.acegisecurity/acegi-security-parent@1.0.5", "repository_homepage_url": "https://repo1.maven.org/maven2/org/acegisecurity/acegi-security-parent/1.0.5/", "repository_download_url": "https://repo1.maven.org/maven2/org/acegisecurity/acegi-security-parent/1.0.5/acegi-security-parent-1.0.5.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/acegisecurity/acegi-security-parent/1.0.5/acegi-security-parent-1.0.5.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/acegisecurity/acegi-security-parent/1.0.5/acegi-security-parent-1.0.5.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.acegisecurity/acegi-security-parent@1.0.5" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/acegisecurity/acegi-security-parent/1.0.7/acegi-security-parent-1.0.7.pom.package.json b/tests/packagedcode/data/m2/org/acegisecurity/acegi-security-parent/1.0.7/acegi-security-parent-1.0.7.pom.package.json index 7855973aea4..ec71b79ae1c 100644 --- a/tests/packagedcode/data/m2/org/acegisecurity/acegi-security-parent/1.0.7/acegi-security-parent-1.0.7.pom.package.json +++ b/tests/packagedcode/data/m2/org/acegisecurity/acegi-security-parent/1.0.7/acegi-security-parent-1.0.7.pom.package.json @@ -235,10 +235,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.acegisecurity/acegi-security-parent@1.0.7?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -314,8 +314,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.acegisecurity/acegi-security-parent@1.0.7", "repository_homepage_url": "https://repo1.maven.org/maven2/org/acegisecurity/acegi-security-parent/1.0.7/", "repository_download_url": "https://repo1.maven.org/maven2/org/acegisecurity/acegi-security-parent/1.0.7/acegi-security-parent-1.0.7.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/acegisecurity/acegi-security-parent/1.0.7/acegi-security-parent-1.0.7.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/acegisecurity/acegi-security-parent/1.0.7/acegi-security-parent-1.0.7.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.acegisecurity/acegi-security-parent@1.0.7" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/acegisecurity/acegi-security/1.0.5/acegi-security-1.0.5.pom.package.json b/tests/packagedcode/data/m2/org/acegisecurity/acegi-security/1.0.5/acegi-security-1.0.5.pom.package.json index 7d9cb7f46ab..e15f320502f 100644 --- a/tests/packagedcode/data/m2/org/acegisecurity/acegi-security/1.0.5/acegi-security-1.0.5.pom.package.json +++ b/tests/packagedcode/data/m2/org/acegisecurity/acegi-security/1.0.5/acegi-security-1.0.5.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.acegisecurity/acegi-security@1.0.5?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -238,8 +238,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.acegisecurity/acegi-security@1.0.5", "repository_homepage_url": "https://repo1.maven.org/maven2/org/acegisecurity/acegi-security/1.0.5/", "repository_download_url": "https://repo1.maven.org/maven2/org/acegisecurity/acegi-security/1.0.5/acegi-security-1.0.5.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/acegisecurity/acegi-security/1.0.5/acegi-security-1.0.5.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/acegisecurity/acegi-security/1.0.5/acegi-security-1.0.5.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.acegisecurity/acegi-security@1.0.5" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/acegisecurity/acegi-security/1.0.7/acegi-security-1.0.7.pom.package.json b/tests/packagedcode/data/m2/org/acegisecurity/acegi-security/1.0.7/acegi-security-1.0.7.pom.package.json index 622a6f6bf1f..9389e3171b4 100644 --- a/tests/packagedcode/data/m2/org/acegisecurity/acegi-security/1.0.7/acegi-security-1.0.7.pom.package.json +++ b/tests/packagedcode/data/m2/org/acegisecurity/acegi-security/1.0.7/acegi-security-1.0.7.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.acegisecurity/acegi-security@1.0.7?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -238,8 +238,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.acegisecurity/acegi-security@1.0.7", "repository_homepage_url": "https://repo1.maven.org/maven2/org/acegisecurity/acegi-security/1.0.7/", "repository_download_url": "https://repo1.maven.org/maven2/org/acegisecurity/acegi-security/1.0.7/acegi-security-1.0.7.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/acegisecurity/acegi-security/1.0.7/acegi-security-1.0.7.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/acegisecurity/acegi-security/1.0.7/acegi-security-1.0.7.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.acegisecurity/acegi-security@1.0.7" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/ajax4jsf/ajax4jsf/1.1.1/ajax4jsf-1.1.1.pom.package.json b/tests/packagedcode/data/m2/org/ajax4jsf/ajax4jsf/1.1.1/ajax4jsf-1.1.1.pom.package.json index 9c79410c832..13f81df8ad5 100644 --- a/tests/packagedcode/data/m2/org/ajax4jsf/ajax4jsf/1.1.1/ajax4jsf-1.1.1.pom.package.json +++ b/tests/packagedcode/data/m2/org/ajax4jsf/ajax4jsf/1.1.1/ajax4jsf-1.1.1.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.ajax4jsf/ajax4jsf@1.1.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -175,8 +175,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.ajax4jsf/ajax4jsf@1.1.1", "repository_homepage_url": "https://repo1.maven.org/maven2/org/ajax4jsf/ajax4jsf/1.1.1/", "repository_download_url": "https://repo1.maven.org/maven2/org/ajax4jsf/ajax4jsf/1.1.1/ajax4jsf-1.1.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/ajax4jsf/ajax4jsf/1.1.1/ajax4jsf-1.1.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/ajax4jsf/ajax4jsf/1.1.1/ajax4jsf-1.1.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.ajax4jsf/ajax4jsf@1.1.1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/ajax4jsf/master/1.1.1/master-1.1.1.pom.package.json b/tests/packagedcode/data/m2/org/ajax4jsf/master/1.1.1/master-1.1.1.pom.package.json index de72286a920..3096a8633c3 100644 --- a/tests/packagedcode/data/m2/org/ajax4jsf/master/1.1.1/master-1.1.1.pom.package.json +++ b/tests/packagedcode/data/m2/org/ajax4jsf/master/1.1.1/master-1.1.1.pom.package.json @@ -53,14 +53,15 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.ajax4jsf/master@1.1.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.ajax4jsf/master@1.1.1", "repository_homepage_url": "https://repo1.maven.org/maven2/org/ajax4jsf/master/1.1.1/", "repository_download_url": "https://repo1.maven.org/maven2/org/ajax4jsf/master/1.1.1/master-1.1.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/ajax4jsf/master/1.1.1/master-1.1.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/ajax4jsf/master/1.1.1/master-1.1.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.ajax4jsf/master@1.1.1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/apache/1/apache-1.pom.package.json b/tests/packagedcode/data/m2/org/apache/apache/1/apache-1.pom.package.json index 9daa09f06ba..b50258d9ba0 100644 --- a/tests/packagedcode/data/m2/org/apache/apache/1/apache-1.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/apache/1/apache-1.pom.package.json @@ -39,14 +39,15 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache/apache@1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.apache/apache@1", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/apache/1/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/apache/1/apache-1.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/apache/1/apache-1.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/apache/1/apache-1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache/apache@1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/apache/3/apache-3.pom.package.json b/tests/packagedcode/data/m2/org/apache/apache/3/apache-3.pom.package.json index 2d0dfb77ae3..d0b94cdba73 100644 --- a/tests/packagedcode/data/m2/org/apache/apache/3/apache-3.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/apache/3/apache-3.pom.package.json @@ -39,14 +39,15 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache/apache@3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.apache/apache@3", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/apache/3/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/apache/3/apache-3.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/apache/3/apache-3.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/apache/3/apache-3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache/apache@3" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/apache/4/apache-4.pom.package.json b/tests/packagedcode/data/m2/org/apache/apache/4/apache-4.pom.package.json index e84dc020af9..7ede662fde9 100644 --- a/tests/packagedcode/data/m2/org/apache/apache/4/apache-4.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/apache/4/apache-4.pom.package.json @@ -39,14 +39,15 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache/apache@4?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.apache/apache@4", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/apache/4/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/apache/4/apache-4.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/apache/4/apache-4.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/apache/4/apache-4.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache/apache@4" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/commons/commons-jaxrs/1.22/commons-jaxrs-1.22.pom.package.json b/tests/packagedcode/data/m2/org/apache/commons/commons-jaxrs/1.22/commons-jaxrs-1.22.pom.package.json index 9cfc2422e2f..c214bbb9480 100644 --- a/tests/packagedcode/data/m2/org/apache/commons/commons-jaxrs/1.22/commons-jaxrs-1.22.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/commons/commons-jaxrs/1.22/commons-jaxrs-1.22.pom.package.json @@ -74,10 +74,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/edu.psu.swe.commons/commons-jaxrs@1.22?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -243,8 +243,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/edu.psu.swe.commons/commons-jaxrs@1.22", "repository_homepage_url": "https://repo1.maven.org/maven2/edu/psu/swe/commons/commons-jaxrs/1.22/", "repository_download_url": "https://repo1.maven.org/maven2/edu/psu/swe/commons/commons-jaxrs/1.22/commons-jaxrs-1.22.jar", - "api_data_url": "https://repo1.maven.org/maven2/edu/psu/swe/commons/commons-jaxrs/1.22/commons-jaxrs-1.22.pom" + "api_data_url": "https://repo1.maven.org/maven2/edu/psu/swe/commons/commons-jaxrs/1.22/commons-jaxrs-1.22.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/edu.psu.swe.commons/commons-jaxrs@1.22" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/commons/commons-parent/5/commons-parent-5.pom.package.json b/tests/packagedcode/data/m2/org/apache/commons/commons-parent/5/commons-parent-5.pom.package.json index 9f7e76f1baa..e04ea6ba383 100644 --- a/tests/packagedcode/data/m2/org/apache/commons/commons-parent/5/commons-parent-5.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/commons/commons-parent/5/commons-parent-5.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.commons/commons-parent@5?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.apache.commons/commons-parent@5", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/commons/commons-parent/5/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/commons/commons-parent/5/commons-parent-5.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/commons/commons-parent/5/commons-parent-5.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/commons/commons-parent/5/commons-parent-5.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.commons/commons-parent@5" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/commons/commons-parent/7/commons-parent-7.pom.package.json b/tests/packagedcode/data/m2/org/apache/commons/commons-parent/7/commons-parent-7.pom.package.json index c39134ca4e9..1f1544133e9 100644 --- a/tests/packagedcode/data/m2/org/apache/commons/commons-parent/7/commons-parent-7.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/commons/commons-parent/7/commons-parent-7.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.commons/commons-parent@7?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.apache.commons/commons-parent@7", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/commons/commons-parent/7/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/commons/commons-parent/7/commons-parent-7.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/commons/commons-parent/7/commons-parent-7.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/commons/commons-parent/7/commons-parent-7.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.commons/commons-parent@7" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/commons/commons-parent/9/commons-parent-9.pom.package.json b/tests/packagedcode/data/m2/org/apache/commons/commons-parent/9/commons-parent-9.pom.package.json index d2befcbc31a..d8b94d4364c 100644 --- a/tests/packagedcode/data/m2/org/apache/commons/commons-parent/9/commons-parent-9.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/commons/commons-parent/9/commons-parent-9.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.commons/commons-parent@9?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.apache.commons/commons-parent@9", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/commons/commons-parent/9/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/commons/commons-parent/9/commons-parent-9.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/commons/commons-parent/9/commons-parent-9.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/commons/commons-parent/9/commons-parent-9.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.commons/commons-parent@9" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/felix/felix/1.0.0/felix-1.0.0.pom.package.json b/tests/packagedcode/data/m2/org/apache/felix/felix/1.0.0/felix-1.0.0.pom.package.json index 42269042829..6d439510658 100644 --- a/tests/packagedcode/data/m2/org/apache/felix/felix/1.0.0/felix-1.0.0.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/felix/felix/1.0.0/felix-1.0.0.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.felix/felix@1.0.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -49,8 +49,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.felix/felix@1.0.0", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/felix/felix/1.0.0/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/felix/felix/1.0.0/felix-1.0.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/felix/felix/1.0.0/felix-1.0.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/felix/felix/1.0.0/felix-1.0.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.felix/felix@1.0.0" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/felix/felix/1.0.2/felix-1.0.2.pom.package.json b/tests/packagedcode/data/m2/org/apache/felix/felix/1.0.2/felix-1.0.2.pom.package.json index 9a7c8495d2a..9e836854509 100644 --- a/tests/packagedcode/data/m2/org/apache/felix/felix/1.0.2/felix-1.0.2.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/felix/felix/1.0.2/felix-1.0.2.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.felix/felix@1.0.2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -49,8 +49,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.felix/felix@1.0.2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/felix/felix/1.0.2/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/felix/felix/1.0.2/felix-1.0.2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/felix/felix/1.0.2/felix-1.0.2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/felix/felix/1.0.2/felix-1.0.2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.felix/felix@1.0.2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/felix/maven-bundle-plugin/1.4.0/maven-bundle-plugin-1.4.0.pom.package.json b/tests/packagedcode/data/m2/org/apache/felix/maven-bundle-plugin/1.4.0/maven-bundle-plugin-1.4.0.pom.package.json index 6a0dbc6c1fb..4fa1b322875 100644 --- a/tests/packagedcode/data/m2/org/apache/felix/maven-bundle-plugin/1.4.0/maven-bundle-plugin-1.4.0.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/felix/maven-bundle-plugin/1.4.0/maven-bundle-plugin-1.4.0.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.felix/maven-bundle-plugin@1.4.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -202,8 +202,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.felix/maven-bundle-plugin@1.4.0", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/felix/maven-bundle-plugin/1.4.0/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/felix/maven-bundle-plugin/1.4.0/maven-bundle-plugin-1.4.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/felix/maven-bundle-plugin/1.4.0/maven-bundle-plugin-1.4.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/felix/maven-bundle-plugin/1.4.0/maven-bundle-plugin-1.4.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.felix/maven-bundle-plugin@1.4.0" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/felix/org.osgi.core/1.0.0/org.osgi.core-1.0.0.pom.package.json b/tests/packagedcode/data/m2/org/apache/felix/org.osgi.core/1.0.0/org.osgi.core-1.0.0.pom.package.json index f0698c939e8..b4c6abb3ead 100644 --- a/tests/packagedcode/data/m2/org/apache/felix/org.osgi.core/1.0.0/org.osgi.core-1.0.0.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/felix/org.osgi.core/1.0.0/org.osgi.core-1.0.0.pom.package.json @@ -32,14 +32,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.felix/org.osgi.core@1.0.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.apache.felix/org.osgi.core@1.0.0", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/felix/org.osgi.core/1.0.0/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/felix/org.osgi.core/1.0.0/org.osgi.core-1.0.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/felix/org.osgi.core/1.0.0/org.osgi.core-1.0.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/felix/org.osgi.core/1.0.0/org.osgi.core-1.0.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.felix/org.osgi.core@1.0.0" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/felix/org.osgi.service.obr/1.0.1/org.osgi.service.obr-1.0.1.pom.package.json b/tests/packagedcode/data/m2/org/apache/felix/org.osgi.service.obr/1.0.1/org.osgi.service.obr-1.0.1.pom.package.json index da2b871ed87..1ff2fcc29c7 100644 --- a/tests/packagedcode/data/m2/org/apache/felix/org.osgi.service.obr/1.0.1/org.osgi.service.obr-1.0.1.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/felix/org.osgi.service.obr/1.0.1/org.osgi.service.obr-1.0.1.pom.package.json @@ -32,10 +32,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.felix/org.osgi.service.obr@1.0.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -48,8 +48,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.felix/org.osgi.service.obr@1.0.1", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/felix/org.osgi.service.obr/1.0.1/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/felix/org.osgi.service.obr/1.0.1/org.osgi.service.obr-1.0.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/felix/org.osgi.service.obr/1.0.1/org.osgi.service.obr-1.0.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/felix/org.osgi.service.obr/1.0.1/org.osgi.service.obr-1.0.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.felix/org.osgi.service.obr@1.0.1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/geronimo/genesis/config/config/1.1/config-1.1.pom.package.json b/tests/packagedcode/data/m2/org/apache/geronimo/genesis/config/config/1.1/config-1.1.pom.package.json index 4b83f05deaa..0ee39a2b6a2 100644 --- a/tests/packagedcode/data/m2/org/apache/geronimo/genesis/config/config/1.1/config-1.1.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/geronimo/genesis/config/config/1.1/config-1.1.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.geronimo.genesis.config/config@1.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.apache.geronimo.genesis.config/config@1.1", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/geronimo/genesis/config/config/1.1/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/geronimo/genesis/config/config/1.1/config-1.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/geronimo/genesis/config/config/1.1/config-1.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/geronimo/genesis/config/config/1.1/config-1.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.geronimo.genesis.config/config@1.1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/geronimo/genesis/config/project-config/1.1/project-config-1.1.pom.package.json b/tests/packagedcode/data/m2/org/apache/geronimo/genesis/config/project-config/1.1/project-config-1.1.pom.package.json index 552f5ed7111..9691003406a 100644 --- a/tests/packagedcode/data/m2/org/apache/geronimo/genesis/config/project-config/1.1/project-config-1.1.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/geronimo/genesis/config/project-config/1.1/project-config-1.1.pom.package.json @@ -39,10 +39,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.geronimo.genesis.config/project-config@1.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -91,8 +91,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.geronimo.genesis.config/project-config@1.1", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/geronimo/genesis/config/project-config/1.1/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/geronimo/genesis/config/project-config/1.1/project-config-1.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/geronimo/genesis/config/project-config/1.1/project-config-1.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/geronimo/genesis/config/project-config/1.1/project-config-1.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.geronimo.genesis.config/project-config@1.1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/geronimo/genesis/genesis/1.1/genesis-1.1.pom.package.json b/tests/packagedcode/data/m2/org/apache/geronimo/genesis/genesis/1.1/genesis-1.1.pom.package.json index 6d19c6ba531..4f1ffa00235 100644 --- a/tests/packagedcode/data/m2/org/apache/geronimo/genesis/genesis/1.1/genesis-1.1.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/geronimo/genesis/genesis/1.1/genesis-1.1.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.geronimo.genesis/genesis@1.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.apache.geronimo.genesis/genesis@1.1", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/geronimo/genesis/genesis/1.1/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/geronimo/genesis/genesis/1.1/genesis-1.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/geronimo/genesis/genesis/1.1/genesis-1.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/geronimo/genesis/genesis/1.1/genesis-1.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.geronimo.genesis/genesis@1.1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/geronimo/specs/geronimo-jsp_2.0_spec/1.1/geronimo-jsp_2.0_spec-1.1.pom.package.json b/tests/packagedcode/data/m2/org/apache/geronimo/specs/geronimo-jsp_2.0_spec/1.1/geronimo-jsp_2.0_spec-1.1.pom.package.json index f1154852778..e3e50dc553a 100644 --- a/tests/packagedcode/data/m2/org/apache/geronimo/specs/geronimo-jsp_2.0_spec/1.1/geronimo-jsp_2.0_spec-1.1.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/geronimo/specs/geronimo-jsp_2.0_spec/1.1/geronimo-jsp_2.0_spec-1.1.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.geronimo.specs/geronimo-jsp_2.0_spec@1.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.geronimo.specs/geronimo-jsp_2.0_spec@1.1", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/geronimo/specs/geronimo-jsp_2.0_spec/1.1/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/geronimo/specs/geronimo-jsp_2.0_spec/1.1/geronimo-jsp_2.0_spec-1.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/geronimo/specs/geronimo-jsp_2.0_spec/1.1/geronimo-jsp_2.0_spec-1.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/geronimo/specs/geronimo-jsp_2.0_spec/1.1/geronimo-jsp_2.0_spec-1.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.geronimo.specs/geronimo-jsp_2.0_spec@1.1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/geronimo/specs/geronimo-servlet_2.4_spec/1.1.1/geronimo-servlet_2.4_spec-1.1.1.pom.package.json b/tests/packagedcode/data/m2/org/apache/geronimo/specs/geronimo-servlet_2.4_spec/1.1.1/geronimo-servlet_2.4_spec-1.1.1.pom.package.json index 9b6e353e8f5..0a2a58ece80 100644 --- a/tests/packagedcode/data/m2/org/apache/geronimo/specs/geronimo-servlet_2.4_spec/1.1.1/geronimo-servlet_2.4_spec-1.1.1.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/geronimo/specs/geronimo-servlet_2.4_spec/1.1.1/geronimo-servlet_2.4_spec-1.1.1.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.geronimo.specs/geronimo-servlet_2.4_spec@1.1.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.apache.geronimo.specs/geronimo-servlet_2.4_spec@1.1.1", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/geronimo/specs/geronimo-servlet_2.4_spec/1.1.1/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/geronimo/specs/geronimo-servlet_2.4_spec/1.1.1/geronimo-servlet_2.4_spec-1.1.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/geronimo/specs/geronimo-servlet_2.4_spec/1.1.1/geronimo-servlet_2.4_spec-1.1.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/geronimo/specs/geronimo-servlet_2.4_spec/1.1.1/geronimo-servlet_2.4_spec-1.1.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.geronimo.specs/geronimo-servlet_2.4_spec@1.1.1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/geronimo/specs/specs/1.2/specs-1.2.pom.package.json b/tests/packagedcode/data/m2/org/apache/geronimo/specs/specs/1.2/specs-1.2.pom.package.json index bfaef4ff057..1a353418669 100644 --- a/tests/packagedcode/data/m2/org/apache/geronimo/specs/specs/1.2/specs-1.2.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/geronimo/specs/specs/1.2/specs-1.2.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.geronimo.specs/specs@1.2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.geronimo.specs/specs@1.2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/geronimo/specs/specs/1.2/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/geronimo/specs/specs/1.2/specs-1.2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/geronimo/specs/specs/1.2/specs-1.2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/geronimo/specs/specs/1.2/specs-1.2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.geronimo.specs/specs@1.2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-core/1.0-alpha-10/doxia-core-1.0-alpha-10.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-core/1.0-alpha-10/doxia-core-1.0-alpha-10.pom.package.json index 9960d6333f7..f23ea6b59cf 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-core/1.0-alpha-10/doxia-core-1.0-alpha-10.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-core/1.0-alpha-10/doxia-core-1.0-alpha-10.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.doxia/doxia-core@1.0-alpha-10?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -58,8 +58,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.doxia/doxia-core@1.0-alpha-10", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-core/1.0-alpha-10/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-core/1.0-alpha-10/doxia-core-1.0-alpha-10.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-core/1.0-alpha-10/doxia-core-1.0-alpha-10.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-core/1.0-alpha-10/doxia-core-1.0-alpha-10.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.doxia/doxia-core@1.0-alpha-10" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-core/1.0-alpha-7/doxia-core-1.0-alpha-7.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-core/1.0-alpha-7/doxia-core-1.0-alpha-7.pom.package.json index e7c4c8ee445..dcb9ce8b647 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-core/1.0-alpha-7/doxia-core-1.0-alpha-7.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-core/1.0-alpha-7/doxia-core-1.0-alpha-7.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.doxia/doxia-core@1.0-alpha-7?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -67,8 +67,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.doxia/doxia-core@1.0-alpha-7", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-core/1.0-alpha-7/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-core/1.0-alpha-7/doxia-core-1.0-alpha-7.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-core/1.0-alpha-7/doxia-core-1.0-alpha-7.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-core/1.0-alpha-7/doxia-core-1.0-alpha-7.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.doxia/doxia-core@1.0-alpha-7" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-core/1.0-alpha-8/doxia-core-1.0-alpha-8.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-core/1.0-alpha-8/doxia-core-1.0-alpha-8.pom.package.json index e5d41a2668a..eb86408be6e 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-core/1.0-alpha-8/doxia-core-1.0-alpha-8.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-core/1.0-alpha-8/doxia-core-1.0-alpha-8.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.doxia/doxia-core@1.0-alpha-8?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -67,8 +67,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.doxia/doxia-core@1.0-alpha-8", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-core/1.0-alpha-8/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-core/1.0-alpha-8/doxia-core-1.0-alpha-8.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-core/1.0-alpha-8/doxia-core-1.0-alpha-8.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-core/1.0-alpha-8/doxia-core-1.0-alpha-8.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.doxia/doxia-core@1.0-alpha-8" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-decoration-model/1.0-alpha-10/doxia-decoration-model-1.0-alpha-10.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-decoration-model/1.0-alpha-10/doxia-decoration-model-1.0-alpha-10.pom.package.json index f2df1fa2d72..6dae3000b5d 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-decoration-model/1.0-alpha-10/doxia-decoration-model-1.0-alpha-10.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-decoration-model/1.0-alpha-10/doxia-decoration-model-1.0-alpha-10.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.doxia/doxia-decoration-model@1.0-alpha-10?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.doxia/doxia-decoration-model@1.0-alpha-10", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-decoration-model/1.0-alpha-10/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-decoration-model/1.0-alpha-10/doxia-decoration-model-1.0-alpha-10.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-decoration-model/1.0-alpha-10/doxia-decoration-model-1.0-alpha-10.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-decoration-model/1.0-alpha-10/doxia-decoration-model-1.0-alpha-10.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.doxia/doxia-decoration-model@1.0-alpha-10" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-decoration-model/1.0-alpha-7/doxia-decoration-model-1.0-alpha-7.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-decoration-model/1.0-alpha-7/doxia-decoration-model-1.0-alpha-7.pom.package.json index d8a6df55b50..4082e76e59b 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-decoration-model/1.0-alpha-7/doxia-decoration-model-1.0-alpha-7.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-decoration-model/1.0-alpha-7/doxia-decoration-model-1.0-alpha-7.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.doxia/doxia-decoration-model@1.0-alpha-7?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -49,8 +49,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.doxia/doxia-decoration-model@1.0-alpha-7", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-decoration-model/1.0-alpha-7/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-decoration-model/1.0-alpha-7/doxia-decoration-model-1.0-alpha-7.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-decoration-model/1.0-alpha-7/doxia-decoration-model-1.0-alpha-7.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-decoration-model/1.0-alpha-7/doxia-decoration-model-1.0-alpha-7.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.doxia/doxia-decoration-model@1.0-alpha-7" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-decoration-model/1.0-alpha-8/doxia-decoration-model-1.0-alpha-8.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-decoration-model/1.0-alpha-8/doxia-decoration-model-1.0-alpha-8.pom.package.json index 6a7091adfcc..1001ed1081d 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-decoration-model/1.0-alpha-8/doxia-decoration-model-1.0-alpha-8.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-decoration-model/1.0-alpha-8/doxia-decoration-model-1.0-alpha-8.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.doxia/doxia-decoration-model@1.0-alpha-8?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -49,8 +49,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.doxia/doxia-decoration-model@1.0-alpha-8", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-decoration-model/1.0-alpha-8/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-decoration-model/1.0-alpha-8/doxia-decoration-model-1.0-alpha-8.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-decoration-model/1.0-alpha-8/doxia-decoration-model-1.0-alpha-8.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-decoration-model/1.0-alpha-8/doxia-decoration-model-1.0-alpha-8.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.doxia/doxia-decoration-model@1.0-alpha-8" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-module-apt/1.0-alpha-10/doxia-module-apt-1.0-alpha-10.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-module-apt/1.0-alpha-10/doxia-module-apt-1.0-alpha-10.pom.package.json index b0787335a19..a1b1addf389 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-module-apt/1.0-alpha-10/doxia-module-apt-1.0-alpha-10.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-module-apt/1.0-alpha-10/doxia-module-apt-1.0-alpha-10.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.doxia/doxia-module-apt@1.0-alpha-10?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.doxia/doxia-module-apt@1.0-alpha-10", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-module-apt/1.0-alpha-10/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-module-apt/1.0-alpha-10/doxia-module-apt-1.0-alpha-10.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-module-apt/1.0-alpha-10/doxia-module-apt-1.0-alpha-10.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-module-apt/1.0-alpha-10/doxia-module-apt-1.0-alpha-10.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.doxia/doxia-module-apt@1.0-alpha-10" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-module-fml/1.0-alpha-10/doxia-module-fml-1.0-alpha-10.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-module-fml/1.0-alpha-10/doxia-module-fml-1.0-alpha-10.pom.package.json index 7d0b7cf32b3..7ac4a5ac432 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-module-fml/1.0-alpha-10/doxia-module-fml-1.0-alpha-10.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-module-fml/1.0-alpha-10/doxia-module-fml-1.0-alpha-10.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.doxia/doxia-module-fml@1.0-alpha-10?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.doxia/doxia-module-fml@1.0-alpha-10", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-module-fml/1.0-alpha-10/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-module-fml/1.0-alpha-10/doxia-module-fml-1.0-alpha-10.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-module-fml/1.0-alpha-10/doxia-module-fml-1.0-alpha-10.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-module-fml/1.0-alpha-10/doxia-module-fml-1.0-alpha-10.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.doxia/doxia-module-fml@1.0-alpha-10" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-module-xdoc/1.0-alpha-10/doxia-module-xdoc-1.0-alpha-10.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-module-xdoc/1.0-alpha-10/doxia-module-xdoc-1.0-alpha-10.pom.package.json index a58f809d6c8..f9818f395a6 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-module-xdoc/1.0-alpha-10/doxia-module-xdoc-1.0-alpha-10.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-module-xdoc/1.0-alpha-10/doxia-module-xdoc-1.0-alpha-10.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.doxia/doxia-module-xdoc@1.0-alpha-10?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.doxia/doxia-module-xdoc@1.0-alpha-10", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-module-xdoc/1.0-alpha-10/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-module-xdoc/1.0-alpha-10/doxia-module-xdoc-1.0-alpha-10.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-module-xdoc/1.0-alpha-10/doxia-module-xdoc-1.0-alpha-10.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-module-xdoc/1.0-alpha-10/doxia-module-xdoc-1.0-alpha-10.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.doxia/doxia-module-xdoc@1.0-alpha-10" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-module-xhtml/1.0-alpha-10/doxia-module-xhtml-1.0-alpha-10.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-module-xhtml/1.0-alpha-10/doxia-module-xhtml-1.0-alpha-10.pom.package.json index ecfbdd4d7e9..4a627a3dd85 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-module-xhtml/1.0-alpha-10/doxia-module-xhtml-1.0-alpha-10.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-module-xhtml/1.0-alpha-10/doxia-module-xhtml-1.0-alpha-10.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.doxia/doxia-module-xhtml@1.0-alpha-10?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.doxia/doxia-module-xhtml@1.0-alpha-10", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-module-xhtml/1.0-alpha-10/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-module-xhtml/1.0-alpha-10/doxia-module-xhtml-1.0-alpha-10.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-module-xhtml/1.0-alpha-10/doxia-module-xhtml-1.0-alpha-10.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-module-xhtml/1.0-alpha-10/doxia-module-xhtml-1.0-alpha-10.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.doxia/doxia-module-xhtml@1.0-alpha-10" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-modules/1.0-alpha-10/doxia-modules-1.0-alpha-10.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-modules/1.0-alpha-10/doxia-modules-1.0-alpha-10.pom.package.json index 43e6ed3d254..f4ebfd19f2a 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-modules/1.0-alpha-10/doxia-modules-1.0-alpha-10.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-modules/1.0-alpha-10/doxia-modules-1.0-alpha-10.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.doxia/doxia-modules@1.0-alpha-10?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -58,8 +58,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.doxia/doxia-modules@1.0-alpha-10", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-modules/1.0-alpha-10/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-modules/1.0-alpha-10/doxia-modules-1.0-alpha-10.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-modules/1.0-alpha-10/doxia-modules-1.0-alpha-10.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-modules/1.0-alpha-10/doxia-modules-1.0-alpha-10.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.doxia/doxia-modules@1.0-alpha-10" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-sink-api/1.0-alpha-10/doxia-sink-api-1.0-alpha-10.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-sink-api/1.0-alpha-10/doxia-sink-api-1.0-alpha-10.pom.package.json index 0805863fcca..be0bf07b214 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-sink-api/1.0-alpha-10/doxia-sink-api-1.0-alpha-10.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-sink-api/1.0-alpha-10/doxia-sink-api-1.0-alpha-10.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.doxia/doxia-sink-api@1.0-alpha-10?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.apache.maven.doxia/doxia-sink-api@1.0-alpha-10", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-sink-api/1.0-alpha-10/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-sink-api/1.0-alpha-10/doxia-sink-api-1.0-alpha-10.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-sink-api/1.0-alpha-10/doxia-sink-api-1.0-alpha-10.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-sink-api/1.0-alpha-10/doxia-sink-api-1.0-alpha-10.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.doxia/doxia-sink-api@1.0-alpha-10" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.pom.package.json index 6367be2fd3c..f9c42a31a58 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.doxia/doxia-sink-api@1.0-alpha-7?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.apache.maven.doxia/doxia-sink-api@1.0-alpha-7", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.doxia/doxia-sink-api@1.0-alpha-7" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-sink-api/1.0-alpha-8/doxia-sink-api-1.0-alpha-8.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-sink-api/1.0-alpha-8/doxia-sink-api-1.0-alpha-8.pom.package.json index c206ce15b00..90e75b2af41 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-sink-api/1.0-alpha-8/doxia-sink-api-1.0-alpha-8.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-sink-api/1.0-alpha-8/doxia-sink-api-1.0-alpha-8.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.doxia/doxia-sink-api@1.0-alpha-8?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.apache.maven.doxia/doxia-sink-api@1.0-alpha-8", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-sink-api/1.0-alpha-8/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-sink-api/1.0-alpha-8/doxia-sink-api-1.0-alpha-8.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-sink-api/1.0-alpha-8/doxia-sink-api-1.0-alpha-8.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-sink-api/1.0-alpha-8/doxia-sink-api-1.0-alpha-8.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.doxia/doxia-sink-api@1.0-alpha-8" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-sink-api/1.0-alpha-9/doxia-sink-api-1.0-alpha-9.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-sink-api/1.0-alpha-9/doxia-sink-api-1.0-alpha-9.pom.package.json index e416ffd9bdd..159a97c358d 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-sink-api/1.0-alpha-9/doxia-sink-api-1.0-alpha-9.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-sink-api/1.0-alpha-9/doxia-sink-api-1.0-alpha-9.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.doxia/doxia-sink-api@1.0-alpha-9?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.apache.maven.doxia/doxia-sink-api@1.0-alpha-9", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-sink-api/1.0-alpha-9/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-sink-api/1.0-alpha-9/doxia-sink-api-1.0-alpha-9.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-sink-api/1.0-alpha-9/doxia-sink-api-1.0-alpha-9.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-sink-api/1.0-alpha-9/doxia-sink-api-1.0-alpha-9.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.doxia/doxia-sink-api@1.0-alpha-9" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-site-renderer/1.0-alpha-10/doxia-site-renderer-1.0-alpha-10.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-site-renderer/1.0-alpha-10/doxia-site-renderer-1.0-alpha-10.pom.package.json index aa58630f0a2..dd1ea317400 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-site-renderer/1.0-alpha-10/doxia-site-renderer-1.0-alpha-10.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-site-renderer/1.0-alpha-10/doxia-site-renderer-1.0-alpha-10.pom.package.json @@ -32,10 +32,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.doxia/doxia-site-renderer@1.0-alpha-10?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -165,8 +165,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.doxia/doxia-site-renderer@1.0-alpha-10", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-site-renderer/1.0-alpha-10/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-site-renderer/1.0-alpha-10/doxia-site-renderer-1.0-alpha-10.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-site-renderer/1.0-alpha-10/doxia-site-renderer-1.0-alpha-10.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-site-renderer/1.0-alpha-10/doxia-site-renderer-1.0-alpha-10.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.doxia/doxia-site-renderer@1.0-alpha-10" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-site-renderer/1.0-alpha-7/doxia-site-renderer-1.0-alpha-7.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-site-renderer/1.0-alpha-7/doxia-site-renderer-1.0-alpha-7.pom.package.json index 2b175215b30..4a8d227d3ae 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-site-renderer/1.0-alpha-7/doxia-site-renderer-1.0-alpha-7.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-site-renderer/1.0-alpha-7/doxia-site-renderer-1.0-alpha-7.pom.package.json @@ -32,10 +32,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.doxia/doxia-site-renderer@1.0-alpha-7?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -75,8 +75,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.doxia/doxia-site-renderer@1.0-alpha-7", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-site-renderer/1.0-alpha-7/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-site-renderer/1.0-alpha-7/doxia-site-renderer-1.0-alpha-7.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-site-renderer/1.0-alpha-7/doxia-site-renderer-1.0-alpha-7.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-site-renderer/1.0-alpha-7/doxia-site-renderer-1.0-alpha-7.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.doxia/doxia-site-renderer@1.0-alpha-7" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-site-renderer/1.0-alpha-8/doxia-site-renderer-1.0-alpha-8.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-site-renderer/1.0-alpha-8/doxia-site-renderer-1.0-alpha-8.pom.package.json index ce843295022..8c63d4e1516 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-site-renderer/1.0-alpha-8/doxia-site-renderer-1.0-alpha-8.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-site-renderer/1.0-alpha-8/doxia-site-renderer-1.0-alpha-8.pom.package.json @@ -32,10 +32,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.doxia/doxia-site-renderer@1.0-alpha-8?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -75,8 +75,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.doxia/doxia-site-renderer@1.0-alpha-8", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-site-renderer/1.0-alpha-8/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-site-renderer/1.0-alpha-8/doxia-site-renderer-1.0-alpha-8.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-site-renderer/1.0-alpha-8/doxia-site-renderer-1.0-alpha-8.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-site-renderer/1.0-alpha-8/doxia-site-renderer-1.0-alpha-8.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.doxia/doxia-site-renderer@1.0-alpha-8" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-sitetools/1.0-alpha-10/doxia-sitetools-1.0-alpha-10.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-sitetools/1.0-alpha-10/doxia-sitetools-1.0-alpha-10.pom.package.json index 3c217cfd202..8d25eaa51ba 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-sitetools/1.0-alpha-10/doxia-sitetools-1.0-alpha-10.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia-sitetools/1.0-alpha-10/doxia-sitetools-1.0-alpha-10.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.doxia/doxia-sitetools@1.0-alpha-10?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -130,8 +130,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.doxia/doxia-sitetools@1.0-alpha-10", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-sitetools/1.0-alpha-10/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-sitetools/1.0-alpha-10/doxia-sitetools-1.0-alpha-10.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-sitetools/1.0-alpha-10/doxia-sitetools-1.0-alpha-10.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-sitetools/1.0-alpha-10/doxia-sitetools-1.0-alpha-10.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.doxia/doxia-sitetools@1.0-alpha-10" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia/1.0-alpha-10/doxia-1.0-alpha-10.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia/1.0-alpha-10/doxia-1.0-alpha-10.pom.package.json index cf26128608a..7a2dca04a72 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia/1.0-alpha-10/doxia-1.0-alpha-10.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia/1.0-alpha-10/doxia-1.0-alpha-10.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.doxia/doxia@1.0-alpha-10?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -76,8 +76,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.doxia/doxia@1.0-alpha-10", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia/1.0-alpha-10/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia/1.0-alpha-10/doxia-1.0-alpha-10.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia/1.0-alpha-10/doxia-1.0-alpha-10.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia/1.0-alpha-10/doxia-1.0-alpha-10.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.doxia/doxia@1.0-alpha-10" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia/1.0-alpha-7/doxia-1.0-alpha-7.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia/1.0-alpha-7/doxia-1.0-alpha-7.pom.package.json index 6cec45c86fe..94edc2aba76 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia/1.0-alpha-7/doxia-1.0-alpha-7.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia/1.0-alpha-7/doxia-1.0-alpha-7.pom.package.json @@ -46,14 +46,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.doxia/doxia@1.0-alpha-7?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.apache.maven.doxia/doxia@1.0-alpha-7", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia/1.0-alpha-7/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia/1.0-alpha-7/doxia-1.0-alpha-7.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia/1.0-alpha-7/doxia-1.0-alpha-7.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia/1.0-alpha-7/doxia-1.0-alpha-7.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.doxia/doxia@1.0-alpha-7" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia/1.0-alpha-8/doxia-1.0-alpha-8.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia/1.0-alpha-8/doxia-1.0-alpha-8.pom.package.json index 35f03ec91a8..71504496b45 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia/1.0-alpha-8/doxia-1.0-alpha-8.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia/1.0-alpha-8/doxia-1.0-alpha-8.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.doxia/doxia@1.0-alpha-8?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.apache.maven.doxia/doxia@1.0-alpha-8", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia/1.0-alpha-8/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia/1.0-alpha-8/doxia-1.0-alpha-8.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia/1.0-alpha-8/doxia-1.0-alpha-8.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia/1.0-alpha-8/doxia-1.0-alpha-8.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.doxia/doxia@1.0-alpha-8" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia/1.0-alpha-9/doxia-1.0-alpha-9.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia/1.0-alpha-9/doxia-1.0-alpha-9.pom.package.json index dac477ce90b..28b3628f937 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia/1.0-alpha-9/doxia-1.0-alpha-9.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/doxia/doxia/1.0-alpha-9/doxia-1.0-alpha-9.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.doxia/doxia@1.0-alpha-9?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -76,8 +76,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.doxia/doxia@1.0-alpha-9", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia/1.0-alpha-9/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia/1.0-alpha-9/doxia-1.0-alpha-9.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia/1.0-alpha-9/doxia-1.0-alpha-9.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia/1.0-alpha-9/doxia-1.0-alpha-9.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.doxia/doxia@1.0-alpha-9" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-archiver/2.2/maven-archiver-2.2.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-archiver/2.2/maven-archiver-2.2.pom.package.json index 0ebe24f0352..6bd63964589 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-archiver/2.2/maven-archiver-2.2.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-archiver/2.2/maven-archiver-2.2.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-archiver@2.2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -58,8 +58,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-archiver@2.2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-archiver/2.2/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-archiver/2.2/maven-archiver-2.2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-archiver/2.2/maven-archiver-2.2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-archiver/2.2/maven-archiver-2.2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-archiver@2.2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-archiver/2.3/maven-archiver-2.3.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-archiver/2.3/maven-archiver-2.3.pom.package.json index 0f5ac3c245f..3ecf5a5f6d3 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-archiver/2.3/maven-archiver-2.3.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-archiver/2.3/maven-archiver-2.3.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-archiver@2.3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -85,8 +85,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-archiver@2.3", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-archiver/2.3/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-archiver/2.3/maven-archiver-2.3.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-archiver/2.3/maven-archiver-2.3.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-archiver/2.3/maven-archiver-2.3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-archiver@2.3" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-artifact-manager/2.0.1/maven-artifact-manager-2.0.1.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-artifact-manager/2.0.1/maven-artifact-manager-2.0.1.pom.package.json index 12a82fca81c..b01cd7ea907 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-artifact-manager/2.0.1/maven-artifact-manager-2.0.1.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-artifact-manager/2.0.1/maven-artifact-manager-2.0.1.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-artifact-manager@2.0.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -85,8 +85,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-artifact-manager@2.0.1", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact-manager/2.0.1/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact-manager/2.0.1/maven-artifact-manager-2.0.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact-manager/2.0.1/maven-artifact-manager-2.0.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact-manager/2.0.1/maven-artifact-manager-2.0.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-artifact-manager@2.0.1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-artifact-manager/2.0.2/maven-artifact-manager-2.0.2.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-artifact-manager/2.0.2/maven-artifact-manager-2.0.2.pom.package.json index 6c2ed0ab61f..f3cbf2a39eb 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-artifact-manager/2.0.2/maven-artifact-manager-2.0.2.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-artifact-manager/2.0.2/maven-artifact-manager-2.0.2.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-artifact-manager@2.0.2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -85,8 +85,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-artifact-manager@2.0.2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact-manager/2.0.2/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact-manager/2.0.2/maven-artifact-manager-2.0.2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact-manager/2.0.2/maven-artifact-manager-2.0.2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact-manager/2.0.2/maven-artifact-manager-2.0.2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-artifact-manager@2.0.2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-artifact-manager/2.0.4/maven-artifact-manager-2.0.4.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-artifact-manager/2.0.4/maven-artifact-manager-2.0.4.pom.package.json index f1eea970f73..f38dbcc3a6c 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-artifact-manager/2.0.4/maven-artifact-manager-2.0.4.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-artifact-manager/2.0.4/maven-artifact-manager-2.0.4.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-artifact-manager@2.0.4?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -85,8 +85,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-artifact-manager@2.0.4", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact-manager/2.0.4/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact-manager/2.0.4/maven-artifact-manager-2.0.4.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact-manager/2.0.4/maven-artifact-manager-2.0.4.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact-manager/2.0.4/maven-artifact-manager-2.0.4.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-artifact-manager@2.0.4" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-artifact-manager/2.0.6/maven-artifact-manager-2.0.6.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-artifact-manager/2.0.6/maven-artifact-manager-2.0.6.pom.package.json index 8b22d8d56ca..564b90221ac 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-artifact-manager/2.0.6/maven-artifact-manager-2.0.6.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-artifact-manager/2.0.6/maven-artifact-manager-2.0.6.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-artifact-manager@2.0.6?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -94,8 +94,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-artifact-manager@2.0.6", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact-manager/2.0.6/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact-manager/2.0.6/maven-artifact-manager-2.0.6.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact-manager/2.0.6/maven-artifact-manager-2.0.6.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact-manager/2.0.6/maven-artifact-manager-2.0.6.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-artifact-manager@2.0.6" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-artifact-manager/2.0.7/maven-artifact-manager-2.0.7.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-artifact-manager/2.0.7/maven-artifact-manager-2.0.7.pom.package.json index 6378b1c0acd..00780d9d4ca 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-artifact-manager/2.0.7/maven-artifact-manager-2.0.7.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-artifact-manager/2.0.7/maven-artifact-manager-2.0.7.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-artifact-manager@2.0.7?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -94,8 +94,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-artifact-manager@2.0.7", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact-manager/2.0.7/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact-manager/2.0.7/maven-artifact-manager-2.0.7.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact-manager/2.0.7/maven-artifact-manager-2.0.7.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact-manager/2.0.7/maven-artifact-manager-2.0.7.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-artifact-manager@2.0.7" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-artifact-manager/2.0.8/maven-artifact-manager-2.0.8.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-artifact-manager/2.0.8/maven-artifact-manager-2.0.8.pom.package.json index 97ae52cd71a..8763e548306 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-artifact-manager/2.0.8/maven-artifact-manager-2.0.8.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-artifact-manager/2.0.8/maven-artifact-manager-2.0.8.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-artifact-manager@2.0.8?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -94,8 +94,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-artifact-manager@2.0.8", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact-manager/2.0.8/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact-manager/2.0.8/maven-artifact-manager-2.0.8.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact-manager/2.0.8/maven-artifact-manager-2.0.8.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact-manager/2.0.8/maven-artifact-manager-2.0.8.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-artifact-manager@2.0.8" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-artifact-manager/2.0/maven-artifact-manager-2.0.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-artifact-manager/2.0/maven-artifact-manager-2.0.pom.package.json index f0d61bddb6b..d0e22305ac7 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-artifact-manager/2.0/maven-artifact-manager-2.0.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-artifact-manager/2.0/maven-artifact-manager-2.0.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-artifact-manager@2.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -85,8 +85,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-artifact-manager@2.0", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact-manager/2.0/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact-manager/2.0/maven-artifact-manager-2.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact-manager/2.0/maven-artifact-manager-2.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact-manager/2.0/maven-artifact-manager-2.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-artifact-manager@2.0" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-artifact/2.0.1/maven-artifact-2.0.1.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-artifact/2.0.1/maven-artifact-2.0.1.pom.package.json index 3237dd08e15..968b83f1314 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-artifact/2.0.1/maven-artifact-2.0.1.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-artifact/2.0.1/maven-artifact-2.0.1.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-artifact@2.0.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -49,8 +49,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-artifact@2.0.1", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact/2.0.1/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact/2.0.1/maven-artifact-2.0.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact/2.0.1/maven-artifact-2.0.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact/2.0.1/maven-artifact-2.0.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-artifact@2.0.1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-artifact/2.0.2/maven-artifact-2.0.2.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-artifact/2.0.2/maven-artifact-2.0.2.pom.package.json index fa942e34724..a31a1412f59 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-artifact/2.0.2/maven-artifact-2.0.2.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-artifact/2.0.2/maven-artifact-2.0.2.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-artifact@2.0.2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -49,8 +49,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-artifact@2.0.2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact/2.0.2/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact/2.0.2/maven-artifact-2.0.2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact/2.0.2/maven-artifact-2.0.2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact/2.0.2/maven-artifact-2.0.2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-artifact@2.0.2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-artifact/2.0.4/maven-artifact-2.0.4.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-artifact/2.0.4/maven-artifact-2.0.4.pom.package.json index e34c45278c9..26a5ddea2cb 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-artifact/2.0.4/maven-artifact-2.0.4.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-artifact/2.0.4/maven-artifact-2.0.4.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-artifact@2.0.4?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -49,8 +49,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-artifact@2.0.4", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact/2.0.4/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact/2.0.4/maven-artifact-2.0.4.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact/2.0.4/maven-artifact-2.0.4.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact/2.0.4/maven-artifact-2.0.4.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-artifact@2.0.4" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-artifact/2.0.5/maven-artifact-2.0.5.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-artifact/2.0.5/maven-artifact-2.0.5.pom.package.json index 69ec09caba6..d6122052223 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-artifact/2.0.5/maven-artifact-2.0.5.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-artifact/2.0.5/maven-artifact-2.0.5.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-artifact@2.0.5?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -49,8 +49,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-artifact@2.0.5", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact/2.0.5/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact/2.0.5/maven-artifact-2.0.5.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact/2.0.5/maven-artifact-2.0.5.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact/2.0.5/maven-artifact-2.0.5.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-artifact@2.0.5" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-artifact/2.0.6/maven-artifact-2.0.6.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-artifact/2.0.6/maven-artifact-2.0.6.pom.package.json index add31b47897..a974e6119b9 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-artifact/2.0.6/maven-artifact-2.0.6.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-artifact/2.0.6/maven-artifact-2.0.6.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-artifact@2.0.6?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -49,8 +49,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-artifact@2.0.6", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact/2.0.6/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact/2.0.6/maven-artifact-2.0.6.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact/2.0.6/maven-artifact-2.0.6.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact/2.0.6/maven-artifact-2.0.6.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-artifact@2.0.6" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-artifact/2.0.7/maven-artifact-2.0.7.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-artifact/2.0.7/maven-artifact-2.0.7.pom.package.json index 474ab36e65b..29da5949924 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-artifact/2.0.7/maven-artifact-2.0.7.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-artifact/2.0.7/maven-artifact-2.0.7.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-artifact@2.0.7?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -49,8 +49,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-artifact@2.0.7", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact/2.0.7/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact/2.0.7/maven-artifact-2.0.7.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact/2.0.7/maven-artifact-2.0.7.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact/2.0.7/maven-artifact-2.0.7.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-artifact@2.0.7" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-artifact/2.0.8/maven-artifact-2.0.8.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-artifact/2.0.8/maven-artifact-2.0.8.pom.package.json index 823f92300a2..8fa965723e2 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-artifact/2.0.8/maven-artifact-2.0.8.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-artifact/2.0.8/maven-artifact-2.0.8.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-artifact@2.0.8?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -49,8 +49,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-artifact@2.0.8", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact/2.0.8/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact/2.0.8/maven-artifact-2.0.8.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact/2.0.8/maven-artifact-2.0.8.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact/2.0.8/maven-artifact-2.0.8.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-artifact@2.0.8" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-artifact/2.0/maven-artifact-2.0.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-artifact/2.0/maven-artifact-2.0.pom.package.json index 21520c0fbee..260aa4460af 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-artifact/2.0/maven-artifact-2.0.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-artifact/2.0/maven-artifact-2.0.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-artifact@2.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -49,8 +49,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-artifact@2.0", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact/2.0/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact/2.0/maven-artifact-2.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact/2.0/maven-artifact-2.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact/2.0/maven-artifact-2.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-artifact@2.0" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-core/2.0.8/maven-core-2.0.8.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-core/2.0.8/maven-core-2.0.8.pom.package.json index 300ff191569..6612f344843 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-core/2.0.8/maven-core-2.0.8.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-core/2.0.8/maven-core-2.0.8.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-core@2.0.8?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -238,8 +238,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-core@2.0.8", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-core/2.0.8/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-core/2.0.8/maven-core-2.0.8.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-core/2.0.8/maven-core-2.0.8.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-core/2.0.8/maven-core-2.0.8.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-core@2.0.8" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-core/2.0/maven-core-2.0.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-core/2.0/maven-core-2.0.pom.package.json index fd06db8b4b9..0120d2a6920 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-core/2.0/maven-core-2.0.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-core/2.0/maven-core-2.0.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-core@2.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -229,8 +229,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-core@2.0", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-core/2.0/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-core/2.0/maven-core-2.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-core/2.0/maven-core-2.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-core/2.0/maven-core-2.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-core@2.0" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-error-diagnostics/2.0.8/maven-error-diagnostics-2.0.8.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-error-diagnostics/2.0.8/maven-error-diagnostics-2.0.8.pom.package.json index bae6871ba23..e0ea5141e26 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-error-diagnostics/2.0.8/maven-error-diagnostics-2.0.8.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-error-diagnostics/2.0.8/maven-error-diagnostics-2.0.8.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-error-diagnostics@2.0.8?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-error-diagnostics@2.0.8", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-error-diagnostics/2.0.8/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-error-diagnostics/2.0.8/maven-error-diagnostics-2.0.8.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-error-diagnostics/2.0.8/maven-error-diagnostics-2.0.8.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-error-diagnostics/2.0.8/maven-error-diagnostics-2.0.8.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-error-diagnostics@2.0.8" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-error-diagnostics/2.0/maven-error-diagnostics-2.0.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-error-diagnostics/2.0/maven-error-diagnostics-2.0.pom.package.json index 8077e5bd0e0..dc9b56d0617 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-error-diagnostics/2.0/maven-error-diagnostics-2.0.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-error-diagnostics/2.0/maven-error-diagnostics-2.0.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-error-diagnostics@2.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-error-diagnostics@2.0", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-error-diagnostics/2.0/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-error-diagnostics/2.0/maven-error-diagnostics-2.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-error-diagnostics/2.0/maven-error-diagnostics-2.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-error-diagnostics/2.0/maven-error-diagnostics-2.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-error-diagnostics@2.0" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-model/2.0.1/maven-model-2.0.1.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-model/2.0.1/maven-model-2.0.1.pom.package.json index a5a36c6b25f..3edc3041800 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-model/2.0.1/maven-model-2.0.1.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-model/2.0.1/maven-model-2.0.1.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-model@2.0.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-model@2.0.1", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-model/2.0.1/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-model/2.0.1/maven-model-2.0.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-model/2.0.1/maven-model-2.0.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-model/2.0.1/maven-model-2.0.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-model@2.0.1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-model/2.0.2/maven-model-2.0.2.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-model/2.0.2/maven-model-2.0.2.pom.package.json index faef8de31ef..0ede3b87261 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-model/2.0.2/maven-model-2.0.2.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-model/2.0.2/maven-model-2.0.2.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-model@2.0.2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-model@2.0.2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-model/2.0.2/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-model/2.0.2/maven-model-2.0.2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-model/2.0.2/maven-model-2.0.2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-model/2.0.2/maven-model-2.0.2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-model@2.0.2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-model/2.0.4/maven-model-2.0.4.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-model/2.0.4/maven-model-2.0.4.pom.package.json index 75800c7ca60..5cf69d0fb87 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-model/2.0.4/maven-model-2.0.4.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-model/2.0.4/maven-model-2.0.4.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-model@2.0.4?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-model@2.0.4", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-model/2.0.4/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-model/2.0.4/maven-model-2.0.4.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-model/2.0.4/maven-model-2.0.4.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-model/2.0.4/maven-model-2.0.4.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-model@2.0.4" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-model/2.0.5/maven-model-2.0.5.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-model/2.0.5/maven-model-2.0.5.pom.package.json index fd2bd17002c..dbc20498ebf 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-model/2.0.5/maven-model-2.0.5.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-model/2.0.5/maven-model-2.0.5.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-model@2.0.5?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-model@2.0.5", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-model/2.0.5/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-model/2.0.5/maven-model-2.0.5.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-model/2.0.5/maven-model-2.0.5.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-model/2.0.5/maven-model-2.0.5.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-model@2.0.5" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-model/2.0.6/maven-model-2.0.6.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-model/2.0.6/maven-model-2.0.6.pom.package.json index 622abe6b780..12db88b2fbb 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-model/2.0.6/maven-model-2.0.6.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-model/2.0.6/maven-model-2.0.6.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-model@2.0.6?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-model@2.0.6", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-model/2.0.6/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-model/2.0.6/maven-model-2.0.6.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-model/2.0.6/maven-model-2.0.6.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-model/2.0.6/maven-model-2.0.6.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-model@2.0.6" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-model/2.0.7/maven-model-2.0.7.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-model/2.0.7/maven-model-2.0.7.pom.package.json index 714c7f88562..b2b806d807c 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-model/2.0.7/maven-model-2.0.7.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-model/2.0.7/maven-model-2.0.7.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-model@2.0.7?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-model@2.0.7", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-model/2.0.7/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-model/2.0.7/maven-model-2.0.7.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-model/2.0.7/maven-model-2.0.7.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-model/2.0.7/maven-model-2.0.7.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-model@2.0.7" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-model/2.0.8/maven-model-2.0.8.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-model/2.0.8/maven-model-2.0.8.pom.package.json index 1f02eb41bba..e32433cc630 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-model/2.0.8/maven-model-2.0.8.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-model/2.0.8/maven-model-2.0.8.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-model@2.0.8?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-model@2.0.8", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-model/2.0.8/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-model/2.0.8/maven-model-2.0.8.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-model/2.0.8/maven-model-2.0.8.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-model/2.0.8/maven-model-2.0.8.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-model@2.0.8" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-model/2.0/maven-model-2.0.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-model/2.0/maven-model-2.0.pom.package.json index 62aa81f3d83..254476ab2f3 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-model/2.0/maven-model-2.0.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-model/2.0/maven-model-2.0.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-model@2.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-model@2.0", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-model/2.0/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-model/2.0/maven-model-2.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-model/2.0/maven-model-2.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-model/2.0/maven-model-2.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-model@2.0" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-monitor/2.0.8/maven-monitor-2.0.8.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-monitor/2.0.8/maven-monitor-2.0.8.pom.package.json index 14dc9bda71c..a9ca47ef312 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-monitor/2.0.8/maven-monitor-2.0.8.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-monitor/2.0.8/maven-monitor-2.0.8.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-monitor@2.0.8?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.apache.maven/maven-monitor@2.0.8", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-monitor/2.0.8/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-monitor/2.0.8/maven-monitor-2.0.8.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-monitor/2.0.8/maven-monitor-2.0.8.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-monitor/2.0.8/maven-monitor-2.0.8.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-monitor@2.0.8" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-monitor/2.0/maven-monitor-2.0.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-monitor/2.0/maven-monitor-2.0.pom.package.json index d063385aca6..d947a9ee7d0 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-monitor/2.0/maven-monitor-2.0.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-monitor/2.0/maven-monitor-2.0.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-monitor@2.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.apache.maven/maven-monitor@2.0", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-monitor/2.0/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-monitor/2.0/maven-monitor-2.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-monitor/2.0/maven-monitor-2.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-monitor/2.0/maven-monitor-2.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-monitor@2.0" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-parent/1/maven-parent-1.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-parent/1/maven-parent-1.pom.package.json index 4904e79a6c4..11a7b1266be 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-parent/1/maven-parent-1.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-parent/1/maven-parent-1.pom.package.json @@ -109,14 +109,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-parent@1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.apache.maven/maven-parent@1", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-parent/1/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-parent/1/maven-parent-1.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-parent/1/maven-parent-1.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-parent/1/maven-parent-1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-parent@1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-parent/4/maven-parent-4.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-parent/4/maven-parent-4.pom.package.json index b6b616968c1..f493b8a541f 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-parent/4/maven-parent-4.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-parent/4/maven-parent-4.pom.package.json @@ -123,14 +123,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-parent@4?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.apache.maven/maven-parent@4", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-parent/4/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-parent/4/maven-parent-4.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-parent/4/maven-parent-4.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-parent/4/maven-parent-4.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-parent@4" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-parent/5/maven-parent-5.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-parent/5/maven-parent-5.pom.package.json index 4f82c9a90de..77be00c3ed6 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-parent/5/maven-parent-5.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-parent/5/maven-parent-5.pom.package.json @@ -165,14 +165,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-parent@5?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.apache.maven/maven-parent@5", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-parent/5/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-parent/5/maven-parent-5.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-parent/5/maven-parent-5.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-parent/5/maven-parent-5.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-parent@5" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-parent/6/maven-parent-6.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-parent/6/maven-parent-6.pom.package.json index 5534fa6c80e..af680fa3f8a 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-parent/6/maven-parent-6.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-parent/6/maven-parent-6.pom.package.json @@ -319,14 +319,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-parent@6?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.apache.maven/maven-parent@6", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-parent/6/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-parent/6/maven-parent-6.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-parent/6/maven-parent-6.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-parent/6/maven-parent-6.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-parent@6" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-parent/7/maven-parent-7.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-parent/7/maven-parent-7.pom.package.json index cbbaed508d6..54d73f06443 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-parent/7/maven-parent-7.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-parent/7/maven-parent-7.pom.package.json @@ -333,14 +333,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-parent@7?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.apache.maven/maven-parent@7", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-parent/7/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-parent/7/maven-parent-7.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-parent/7/maven-parent-7.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-parent/7/maven-parent-7.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-parent@7" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-parent/8/maven-parent-8.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-parent/8/maven-parent-8.pom.package.json index 766ead851e6..d2ff22d50b6 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-parent/8/maven-parent-8.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-parent/8/maven-parent-8.pom.package.json @@ -347,14 +347,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-parent@8?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.apache.maven/maven-parent@8", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-parent/8/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-parent/8/maven-parent-8.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-parent/8/maven-parent-8.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-parent/8/maven-parent-8.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-parent@8" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-api/2.0.1/maven-plugin-api-2.0.1.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-api/2.0.1/maven-plugin-api-2.0.1.pom.package.json index 3c8b7f0c1aa..c5ffed970e4 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-api/2.0.1/maven-plugin-api-2.0.1.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-api/2.0.1/maven-plugin-api-2.0.1.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-plugin-api@2.0.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-plugin-api@2.0.1", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-api/2.0.1/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-api/2.0.1/maven-plugin-api-2.0.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-api/2.0.1/maven-plugin-api-2.0.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-api/2.0.1/maven-plugin-api-2.0.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-plugin-api@2.0.1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-api/2.0.2/maven-plugin-api-2.0.2.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-api/2.0.2/maven-plugin-api-2.0.2.pom.package.json index da2476cd1a0..0fe44d97aea 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-api/2.0.2/maven-plugin-api-2.0.2.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-api/2.0.2/maven-plugin-api-2.0.2.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-plugin-api@2.0.2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-plugin-api@2.0.2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-api/2.0.2/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-api/2.0.2/maven-plugin-api-2.0.2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-api/2.0.2/maven-plugin-api-2.0.2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-api/2.0.2/maven-plugin-api-2.0.2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-plugin-api@2.0.2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-api/2.0.4/maven-plugin-api-2.0.4.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-api/2.0.4/maven-plugin-api-2.0.4.pom.package.json index 9ddc295f61e..0ecaab0a937 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-api/2.0.4/maven-plugin-api-2.0.4.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-api/2.0.4/maven-plugin-api-2.0.4.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-plugin-api@2.0.4?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-plugin-api@2.0.4", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-api/2.0.4/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-api/2.0.4/maven-plugin-api-2.0.4.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-api/2.0.4/maven-plugin-api-2.0.4.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-api/2.0.4/maven-plugin-api-2.0.4.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-plugin-api@2.0.4" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-api/2.0.6/maven-plugin-api-2.0.6.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-api/2.0.6/maven-plugin-api-2.0.6.pom.package.json index b448f544826..47ad9ae0a00 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-api/2.0.6/maven-plugin-api-2.0.6.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-api/2.0.6/maven-plugin-api-2.0.6.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-plugin-api@2.0.6?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-plugin-api@2.0.6", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-api/2.0.6/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-api/2.0.6/maven-plugin-api-2.0.6.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-api/2.0.6/maven-plugin-api-2.0.6.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-api/2.0.6/maven-plugin-api-2.0.6.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-plugin-api@2.0.6" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-api/2.0.7/maven-plugin-api-2.0.7.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-api/2.0.7/maven-plugin-api-2.0.7.pom.package.json index 1f1aa46b756..da68fde3bd9 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-api/2.0.7/maven-plugin-api-2.0.7.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-api/2.0.7/maven-plugin-api-2.0.7.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-plugin-api@2.0.7?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-plugin-api@2.0.7", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-api/2.0.7/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-api/2.0.7/maven-plugin-api-2.0.7.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-api/2.0.7/maven-plugin-api-2.0.7.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-api/2.0.7/maven-plugin-api-2.0.7.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-plugin-api@2.0.7" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-api/2.0.8/maven-plugin-api-2.0.8.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-api/2.0.8/maven-plugin-api-2.0.8.pom.package.json index 80e115c1acf..3fe0322ea88 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-api/2.0.8/maven-plugin-api-2.0.8.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-api/2.0.8/maven-plugin-api-2.0.8.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-plugin-api@2.0.8?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-plugin-api@2.0.8", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-api/2.0.8/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-api/2.0.8/maven-plugin-api-2.0.8.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-api/2.0.8/maven-plugin-api-2.0.8.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-api/2.0.8/maven-plugin-api-2.0.8.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-plugin-api@2.0.8" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0.pom.package.json index 46763daa884..ae511a3faef 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-plugin-api@2.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-plugin-api@2.0", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-api/2.0/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-plugin-api@2.0" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-descriptor/2.0.8/maven-plugin-descriptor-2.0.8.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-descriptor/2.0.8/maven-plugin-descriptor-2.0.8.pom.package.json index 4e085208377..e380b0ecd5a 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-descriptor/2.0.8/maven-plugin-descriptor-2.0.8.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-descriptor/2.0.8/maven-plugin-descriptor-2.0.8.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-plugin-descriptor@2.0.8?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -58,8 +58,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-plugin-descriptor@2.0.8", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-descriptor/2.0.8/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-descriptor/2.0.8/maven-plugin-descriptor-2.0.8.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-descriptor/2.0.8/maven-plugin-descriptor-2.0.8.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-descriptor/2.0.8/maven-plugin-descriptor-2.0.8.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-plugin-descriptor@2.0.8" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-descriptor/2.0/maven-plugin-descriptor-2.0.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-descriptor/2.0/maven-plugin-descriptor-2.0.pom.package.json index 4e431715ead..24b166538a9 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-descriptor/2.0/maven-plugin-descriptor-2.0.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-descriptor/2.0/maven-plugin-descriptor-2.0.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-plugin-descriptor@2.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -58,8 +58,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-plugin-descriptor@2.0", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-descriptor/2.0/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-descriptor/2.0/maven-plugin-descriptor-2.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-descriptor/2.0/maven-plugin-descriptor-2.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-descriptor/2.0/maven-plugin-descriptor-2.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-plugin-descriptor@2.0" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-parameter-documenter/2.0.8/maven-plugin-parameter-documenter-2.0.8.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-parameter-documenter/2.0.8/maven-plugin-parameter-documenter-2.0.8.pom.package.json index 8f43c9c9ee5..c07fd61c599 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-parameter-documenter/2.0.8/maven-plugin-parameter-documenter-2.0.8.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-parameter-documenter/2.0.8/maven-plugin-parameter-documenter-2.0.8.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-plugin-parameter-documenter@2.0.8?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -49,8 +49,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-plugin-parameter-documenter@2.0.8", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-parameter-documenter/2.0.8/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-parameter-documenter/2.0.8/maven-plugin-parameter-documenter-2.0.8.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-parameter-documenter/2.0.8/maven-plugin-parameter-documenter-2.0.8.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-parameter-documenter/2.0.8/maven-plugin-parameter-documenter-2.0.8.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-plugin-parameter-documenter@2.0.8" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-parameter-documenter/2.0/maven-plugin-parameter-documenter-2.0.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-parameter-documenter/2.0/maven-plugin-parameter-documenter-2.0.pom.package.json index b54643bf231..79c25f27161 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-parameter-documenter/2.0/maven-plugin-parameter-documenter-2.0.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-parameter-documenter/2.0/maven-plugin-parameter-documenter-2.0.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-plugin-parameter-documenter@2.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -49,8 +49,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-plugin-parameter-documenter@2.0", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-parameter-documenter/2.0/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-parameter-documenter/2.0/maven-plugin-parameter-documenter-2.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-parameter-documenter/2.0/maven-plugin-parameter-documenter-2.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-parameter-documenter/2.0/maven-plugin-parameter-documenter-2.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-plugin-parameter-documenter@2.0" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-registry/2.0.6/maven-plugin-registry-2.0.6.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-registry/2.0.6/maven-plugin-registry-2.0.6.pom.package.json index 93c0ab1fcbe..749c47d0ff1 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-registry/2.0.6/maven-plugin-registry-2.0.6.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-registry/2.0.6/maven-plugin-registry-2.0.6.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-plugin-registry@2.0.6?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -49,8 +49,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-plugin-registry@2.0.6", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-registry/2.0.6/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-registry/2.0.6/maven-plugin-registry-2.0.6.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-registry/2.0.6/maven-plugin-registry-2.0.6.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-registry/2.0.6/maven-plugin-registry-2.0.6.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-plugin-registry@2.0.6" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-registry/2.0.7/maven-plugin-registry-2.0.7.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-registry/2.0.7/maven-plugin-registry-2.0.7.pom.package.json index 8bc6d56014b..6becb3dae29 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-registry/2.0.7/maven-plugin-registry-2.0.7.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-registry/2.0.7/maven-plugin-registry-2.0.7.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-plugin-registry@2.0.7?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -49,8 +49,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-plugin-registry@2.0.7", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-registry/2.0.7/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-registry/2.0.7/maven-plugin-registry-2.0.7.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-registry/2.0.7/maven-plugin-registry-2.0.7.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-registry/2.0.7/maven-plugin-registry-2.0.7.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-plugin-registry@2.0.7" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-registry/2.0.8/maven-plugin-registry-2.0.8.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-registry/2.0.8/maven-plugin-registry-2.0.8.pom.package.json index 48840bb7fe2..aa7540f7dd2 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-registry/2.0.8/maven-plugin-registry-2.0.8.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-registry/2.0.8/maven-plugin-registry-2.0.8.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-plugin-registry@2.0.8?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -49,8 +49,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-plugin-registry@2.0.8", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-registry/2.0.8/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-registry/2.0.8/maven-plugin-registry-2.0.8.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-registry/2.0.8/maven-plugin-registry-2.0.8.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-registry/2.0.8/maven-plugin-registry-2.0.8.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-plugin-registry@2.0.8" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-registry/2.0/maven-plugin-registry-2.0.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-registry/2.0/maven-plugin-registry-2.0.pom.package.json index 5b683d295ca..9bed6bbd0d0 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-registry/2.0/maven-plugin-registry-2.0.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-plugin-registry/2.0/maven-plugin-registry-2.0.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-plugin-registry@2.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -49,8 +49,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-plugin-registry@2.0", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-registry/2.0/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-registry/2.0/maven-plugin-registry-2.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-registry/2.0/maven-plugin-registry-2.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-registry/2.0/maven-plugin-registry-2.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-plugin-registry@2.0" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-profile/2.0.1/maven-profile-2.0.1.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-profile/2.0.1/maven-profile-2.0.1.pom.package.json index dd020f3e989..27448fb2e2d 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-profile/2.0.1/maven-profile-2.0.1.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-profile/2.0.1/maven-profile-2.0.1.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-profile@2.0.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -58,8 +58,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-profile@2.0.1", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-profile/2.0.1/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-profile/2.0.1/maven-profile-2.0.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-profile/2.0.1/maven-profile-2.0.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-profile/2.0.1/maven-profile-2.0.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-profile@2.0.1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-profile/2.0.2/maven-profile-2.0.2.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-profile/2.0.2/maven-profile-2.0.2.pom.package.json index 443bb50756f..a8eb2150735 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-profile/2.0.2/maven-profile-2.0.2.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-profile/2.0.2/maven-profile-2.0.2.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-profile@2.0.2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -58,8 +58,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-profile@2.0.2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-profile/2.0.2/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-profile/2.0.2/maven-profile-2.0.2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-profile/2.0.2/maven-profile-2.0.2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-profile/2.0.2/maven-profile-2.0.2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-profile@2.0.2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-profile/2.0.4/maven-profile-2.0.4.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-profile/2.0.4/maven-profile-2.0.4.pom.package.json index dec4712c951..5d692944bb8 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-profile/2.0.4/maven-profile-2.0.4.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-profile/2.0.4/maven-profile-2.0.4.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-profile@2.0.4?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -58,8 +58,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-profile@2.0.4", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-profile/2.0.4/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-profile/2.0.4/maven-profile-2.0.4.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-profile/2.0.4/maven-profile-2.0.4.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-profile/2.0.4/maven-profile-2.0.4.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-profile@2.0.4" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-profile/2.0.6/maven-profile-2.0.6.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-profile/2.0.6/maven-profile-2.0.6.pom.package.json index b2a1c819dbb..8620633d472 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-profile/2.0.6/maven-profile-2.0.6.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-profile/2.0.6/maven-profile-2.0.6.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-profile@2.0.6?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -58,8 +58,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-profile@2.0.6", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-profile/2.0.6/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-profile/2.0.6/maven-profile-2.0.6.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-profile/2.0.6/maven-profile-2.0.6.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-profile/2.0.6/maven-profile-2.0.6.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-profile@2.0.6" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-profile/2.0.7/maven-profile-2.0.7.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-profile/2.0.7/maven-profile-2.0.7.pom.package.json index 062d905a3e5..0a082100081 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-profile/2.0.7/maven-profile-2.0.7.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-profile/2.0.7/maven-profile-2.0.7.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-profile@2.0.7?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -58,8 +58,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-profile@2.0.7", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-profile/2.0.7/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-profile/2.0.7/maven-profile-2.0.7.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-profile/2.0.7/maven-profile-2.0.7.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-profile/2.0.7/maven-profile-2.0.7.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-profile@2.0.7" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-profile/2.0.8/maven-profile-2.0.8.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-profile/2.0.8/maven-profile-2.0.8.pom.package.json index d584207b36b..860cb0f89bf 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-profile/2.0.8/maven-profile-2.0.8.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-profile/2.0.8/maven-profile-2.0.8.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-profile@2.0.8?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -58,8 +58,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-profile@2.0.8", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-profile/2.0.8/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-profile/2.0.8/maven-profile-2.0.8.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-profile/2.0.8/maven-profile-2.0.8.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-profile/2.0.8/maven-profile-2.0.8.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-profile@2.0.8" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-profile/2.0/maven-profile-2.0.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-profile/2.0/maven-profile-2.0.pom.package.json index 7d743b4e34f..c2828186a7b 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-profile/2.0/maven-profile-2.0.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-profile/2.0/maven-profile-2.0.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-profile@2.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -58,8 +58,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-profile@2.0", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-profile/2.0/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-profile/2.0/maven-profile-2.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-profile/2.0/maven-profile-2.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-profile/2.0/maven-profile-2.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-profile@2.0" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-project/2.0.1/maven-project-2.0.1.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-project/2.0.1/maven-project-2.0.1.pom.package.json index 1db55f50331..f82bf5e94af 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-project/2.0.1/maven-project-2.0.1.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-project/2.0.1/maven-project-2.0.1.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-project@2.0.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -94,8 +94,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-project@2.0.1", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-project/2.0.1/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-project/2.0.1/maven-project-2.0.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-project/2.0.1/maven-project-2.0.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-project/2.0.1/maven-project-2.0.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-project@2.0.1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-project/2.0.2/maven-project-2.0.2.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-project/2.0.2/maven-project-2.0.2.pom.package.json index deb685f5044..6574d16d173 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-project/2.0.2/maven-project-2.0.2.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-project/2.0.2/maven-project-2.0.2.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-project@2.0.2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -94,8 +94,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-project@2.0.2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-project/2.0.2/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-project/2.0.2/maven-project-2.0.2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-project/2.0.2/maven-project-2.0.2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-project/2.0.2/maven-project-2.0.2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-project@2.0.2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-project/2.0.4/maven-project-2.0.4.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-project/2.0.4/maven-project-2.0.4.pom.package.json index c0db2f879f5..b7d9ab93071 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-project/2.0.4/maven-project-2.0.4.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-project/2.0.4/maven-project-2.0.4.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-project@2.0.4?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -103,8 +103,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-project@2.0.4", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-project/2.0.4/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-project/2.0.4/maven-project-2.0.4.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-project/2.0.4/maven-project-2.0.4.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-project/2.0.4/maven-project-2.0.4.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-project@2.0.4" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-project/2.0.5/maven-project-2.0.5.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-project/2.0.5/maven-project-2.0.5.pom.package.json index c7bca4e07eb..46318a70cc4 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-project/2.0.5/maven-project-2.0.5.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-project/2.0.5/maven-project-2.0.5.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-project@2.0.5?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -103,8 +103,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-project@2.0.5", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-project/2.0.5/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-project/2.0.5/maven-project-2.0.5.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-project/2.0.5/maven-project-2.0.5.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-project/2.0.5/maven-project-2.0.5.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-project@2.0.5" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-project/2.0.6/maven-project-2.0.6.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-project/2.0.6/maven-project-2.0.6.pom.package.json index d272220ba1a..050a6b381a6 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-project/2.0.6/maven-project-2.0.6.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-project/2.0.6/maven-project-2.0.6.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-project@2.0.6?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -112,8 +112,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-project@2.0.6", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-project/2.0.6/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-project/2.0.6/maven-project-2.0.6.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-project/2.0.6/maven-project-2.0.6.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-project/2.0.6/maven-project-2.0.6.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-project@2.0.6" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-project/2.0.7/maven-project-2.0.7.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-project/2.0.7/maven-project-2.0.7.pom.package.json index 7489b7cb9c5..251bf597e96 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-project/2.0.7/maven-project-2.0.7.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-project/2.0.7/maven-project-2.0.7.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-project@2.0.7?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -112,8 +112,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-project@2.0.7", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-project/2.0.7/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-project/2.0.7/maven-project-2.0.7.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-project/2.0.7/maven-project-2.0.7.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-project/2.0.7/maven-project-2.0.7.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-project@2.0.7" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-project/2.0.8/maven-project-2.0.8.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-project/2.0.8/maven-project-2.0.8.pom.package.json index acb3e1dad82..2e00420584f 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-project/2.0.8/maven-project-2.0.8.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-project/2.0.8/maven-project-2.0.8.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-project@2.0.8?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -112,8 +112,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-project@2.0.8", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-project/2.0.8/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-project/2.0.8/maven-project-2.0.8.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-project/2.0.8/maven-project-2.0.8.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-project/2.0.8/maven-project-2.0.8.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-project@2.0.8" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-project/2.0/maven-project-2.0.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-project/2.0/maven-project-2.0.pom.package.json index 6dcbd0453ad..a94ddeb2d02 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-project/2.0/maven-project-2.0.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-project/2.0/maven-project-2.0.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-project@2.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -94,8 +94,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-project@2.0", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-project/2.0/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-project/2.0/maven-project-2.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-project/2.0/maven-project-2.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-project/2.0/maven-project-2.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-project@2.0" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-repository-metadata/2.0.1/maven-repository-metadata-2.0.1.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-repository-metadata/2.0.1/maven-repository-metadata-2.0.1.pom.package.json index 9f7b79e41c5..65813880c0f 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-repository-metadata/2.0.1/maven-repository-metadata-2.0.1.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-repository-metadata/2.0.1/maven-repository-metadata-2.0.1.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-repository-metadata@2.0.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-repository-metadata@2.0.1", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-repository-metadata/2.0.1/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-repository-metadata/2.0.1/maven-repository-metadata-2.0.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-repository-metadata/2.0.1/maven-repository-metadata-2.0.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-repository-metadata/2.0.1/maven-repository-metadata-2.0.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-repository-metadata@2.0.1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-repository-metadata/2.0.2/maven-repository-metadata-2.0.2.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-repository-metadata/2.0.2/maven-repository-metadata-2.0.2.pom.package.json index 08c7e715b6e..0f1d29e59a2 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-repository-metadata/2.0.2/maven-repository-metadata-2.0.2.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-repository-metadata/2.0.2/maven-repository-metadata-2.0.2.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-repository-metadata@2.0.2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-repository-metadata@2.0.2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-repository-metadata/2.0.2/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-repository-metadata/2.0.2/maven-repository-metadata-2.0.2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-repository-metadata/2.0.2/maven-repository-metadata-2.0.2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-repository-metadata/2.0.2/maven-repository-metadata-2.0.2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-repository-metadata@2.0.2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-repository-metadata/2.0.4/maven-repository-metadata-2.0.4.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-repository-metadata/2.0.4/maven-repository-metadata-2.0.4.pom.package.json index 9eba1b7da29..4c2e4a850d9 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-repository-metadata/2.0.4/maven-repository-metadata-2.0.4.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-repository-metadata/2.0.4/maven-repository-metadata-2.0.4.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-repository-metadata@2.0.4?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-repository-metadata@2.0.4", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-repository-metadata/2.0.4/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-repository-metadata/2.0.4/maven-repository-metadata-2.0.4.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-repository-metadata/2.0.4/maven-repository-metadata-2.0.4.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-repository-metadata/2.0.4/maven-repository-metadata-2.0.4.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-repository-metadata@2.0.4" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-repository-metadata/2.0.6/maven-repository-metadata-2.0.6.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-repository-metadata/2.0.6/maven-repository-metadata-2.0.6.pom.package.json index 553566ee47d..0d8f5bdab86 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-repository-metadata/2.0.6/maven-repository-metadata-2.0.6.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-repository-metadata/2.0.6/maven-repository-metadata-2.0.6.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-repository-metadata@2.0.6?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-repository-metadata@2.0.6", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-repository-metadata/2.0.6/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-repository-metadata/2.0.6/maven-repository-metadata-2.0.6.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-repository-metadata/2.0.6/maven-repository-metadata-2.0.6.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-repository-metadata/2.0.6/maven-repository-metadata-2.0.6.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-repository-metadata@2.0.6" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-repository-metadata/2.0.7/maven-repository-metadata-2.0.7.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-repository-metadata/2.0.7/maven-repository-metadata-2.0.7.pom.package.json index 685a217f55f..b50826f0f98 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-repository-metadata/2.0.7/maven-repository-metadata-2.0.7.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-repository-metadata/2.0.7/maven-repository-metadata-2.0.7.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-repository-metadata@2.0.7?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-repository-metadata@2.0.7", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-repository-metadata/2.0.7/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-repository-metadata/2.0.7/maven-repository-metadata-2.0.7.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-repository-metadata/2.0.7/maven-repository-metadata-2.0.7.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-repository-metadata/2.0.7/maven-repository-metadata-2.0.7.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-repository-metadata@2.0.7" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-repository-metadata/2.0.8/maven-repository-metadata-2.0.8.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-repository-metadata/2.0.8/maven-repository-metadata-2.0.8.pom.package.json index a4107cd5734..4e47e1891af 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-repository-metadata/2.0.8/maven-repository-metadata-2.0.8.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-repository-metadata/2.0.8/maven-repository-metadata-2.0.8.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-repository-metadata@2.0.8?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-repository-metadata@2.0.8", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-repository-metadata/2.0.8/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-repository-metadata/2.0.8/maven-repository-metadata-2.0.8.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-repository-metadata/2.0.8/maven-repository-metadata-2.0.8.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-repository-metadata/2.0.8/maven-repository-metadata-2.0.8.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-repository-metadata@2.0.8" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-repository-metadata/2.0/maven-repository-metadata-2.0.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-repository-metadata/2.0/maven-repository-metadata-2.0.pom.package.json index df96c7af23f..b64c9224cff 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-repository-metadata/2.0/maven-repository-metadata-2.0.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-repository-metadata/2.0/maven-repository-metadata-2.0.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-repository-metadata@2.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-repository-metadata@2.0", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-repository-metadata/2.0/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-repository-metadata/2.0/maven-repository-metadata-2.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-repository-metadata/2.0/maven-repository-metadata-2.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-repository-metadata/2.0/maven-repository-metadata-2.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-repository-metadata@2.0" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-settings/2.0.2/maven-settings-2.0.2.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-settings/2.0.2/maven-settings-2.0.2.pom.package.json index c97eb82eb8c..da3a4e5aaa1 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-settings/2.0.2/maven-settings-2.0.2.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-settings/2.0.2/maven-settings-2.0.2.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-settings@2.0.2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -58,8 +58,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-settings@2.0.2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-settings/2.0.2/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-settings/2.0.2/maven-settings-2.0.2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-settings/2.0.2/maven-settings-2.0.2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-settings/2.0.2/maven-settings-2.0.2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-settings@2.0.2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-settings/2.0.4/maven-settings-2.0.4.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-settings/2.0.4/maven-settings-2.0.4.pom.package.json index 0ce61b5451c..6a947880ca7 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-settings/2.0.4/maven-settings-2.0.4.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-settings/2.0.4/maven-settings-2.0.4.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-settings@2.0.4?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -58,8 +58,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-settings@2.0.4", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-settings/2.0.4/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-settings/2.0.4/maven-settings-2.0.4.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-settings/2.0.4/maven-settings-2.0.4.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-settings/2.0.4/maven-settings-2.0.4.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-settings@2.0.4" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-settings/2.0.6/maven-settings-2.0.6.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-settings/2.0.6/maven-settings-2.0.6.pom.package.json index 39d1d5f738d..07d16108157 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-settings/2.0.6/maven-settings-2.0.6.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-settings/2.0.6/maven-settings-2.0.6.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-settings@2.0.6?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -58,8 +58,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-settings@2.0.6", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-settings/2.0.6/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-settings/2.0.6/maven-settings-2.0.6.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-settings/2.0.6/maven-settings-2.0.6.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-settings/2.0.6/maven-settings-2.0.6.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-settings@2.0.6" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-settings/2.0.7/maven-settings-2.0.7.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-settings/2.0.7/maven-settings-2.0.7.pom.package.json index 97171bf0486..2ea30d2a7d5 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-settings/2.0.7/maven-settings-2.0.7.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-settings/2.0.7/maven-settings-2.0.7.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-settings@2.0.7?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -58,8 +58,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-settings@2.0.7", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-settings/2.0.7/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-settings/2.0.7/maven-settings-2.0.7.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-settings/2.0.7/maven-settings-2.0.7.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-settings/2.0.7/maven-settings-2.0.7.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-settings@2.0.7" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-settings/2.0.8/maven-settings-2.0.8.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-settings/2.0.8/maven-settings-2.0.8.pom.package.json index 316a458d134..8469a104a7f 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-settings/2.0.8/maven-settings-2.0.8.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-settings/2.0.8/maven-settings-2.0.8.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-settings@2.0.8?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -58,8 +58,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-settings@2.0.8", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-settings/2.0.8/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-settings/2.0.8/maven-settings-2.0.8.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-settings/2.0.8/maven-settings-2.0.8.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-settings/2.0.8/maven-settings-2.0.8.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-settings@2.0.8" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven-settings/2.0/maven-settings-2.0.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven-settings/2.0/maven-settings-2.0.pom.package.json index b39b9ca25c4..0ea86966b36 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven-settings/2.0/maven-settings-2.0.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven-settings/2.0/maven-settings-2.0.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven-settings@2.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -58,8 +58,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven-settings@2.0", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-settings/2.0/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-settings/2.0/maven-settings-2.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-settings/2.0/maven-settings-2.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven-settings/2.0/maven-settings-2.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven-settings@2.0" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven/2.0.1/maven-2.0.1.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven/2.0.1/maven-2.0.1.pom.package.json index fb7e94c8928..df895ddd141 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven/2.0.1/maven-2.0.1.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven/2.0.1/maven-2.0.1.pom.package.json @@ -95,10 +95,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven@2.0.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -165,8 +165,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven@2.0.1", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven/2.0.1/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven/2.0.1/maven-2.0.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven/2.0.1/maven-2.0.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven/2.0.1/maven-2.0.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven@2.0.1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven/2.0.2/maven-2.0.2.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven/2.0.2/maven-2.0.2.pom.package.json index 2515686b56f..351d6e935ed 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven/2.0.2/maven-2.0.2.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven/2.0.2/maven-2.0.2.pom.package.json @@ -95,10 +95,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven@2.0.2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -174,8 +174,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven@2.0.2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven/2.0.2/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven/2.0.2/maven-2.0.2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven/2.0.2/maven-2.0.2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven/2.0.2/maven-2.0.2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven@2.0.2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven/2.0.4/maven-2.0.4.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven/2.0.4/maven-2.0.4.pom.package.json index ba7f17b1aa7..3ce8b8fd904 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven/2.0.4/maven-2.0.4.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven/2.0.4/maven-2.0.4.pom.package.json @@ -95,10 +95,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven@2.0.4?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -174,8 +174,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven@2.0.4", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven/2.0.4/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven/2.0.4/maven-2.0.4.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven/2.0.4/maven-2.0.4.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven/2.0.4/maven-2.0.4.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven@2.0.4" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven/2.0.5/maven-2.0.5.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven/2.0.5/maven-2.0.5.pom.package.json index 434b70f2f6f..cc6aa69c58a 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven/2.0.5/maven-2.0.5.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven/2.0.5/maven-2.0.5.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven@2.0.5?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -121,8 +121,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven@2.0.5", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven/2.0.5/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven/2.0.5/maven-2.0.5.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven/2.0.5/maven-2.0.5.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven/2.0.5/maven-2.0.5.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven@2.0.5" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven/2.0.6/maven-2.0.6.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven/2.0.6/maven-2.0.6.pom.package.json index 5c99b09c691..3cac95deece 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven/2.0.6/maven-2.0.6.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven/2.0.6/maven-2.0.6.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven@2.0.6?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -238,8 +238,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven@2.0.6", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven/2.0.6/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven/2.0.6/maven-2.0.6.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven/2.0.6/maven-2.0.6.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven/2.0.6/maven-2.0.6.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven@2.0.6" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven/2.0.7/maven-2.0.7.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven/2.0.7/maven-2.0.7.pom.package.json index 101507dbee2..adbc4aeed4a 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven/2.0.7/maven-2.0.7.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven/2.0.7/maven-2.0.7.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven@2.0.7?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -256,8 +256,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven@2.0.7", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven/2.0.7/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven/2.0.7/maven-2.0.7.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven/2.0.7/maven-2.0.7.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven/2.0.7/maven-2.0.7.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven@2.0.7" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven/2.0.8/maven-2.0.8.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven/2.0.8/maven-2.0.8.pom.package.json index 45440d2cb1b..ebda319dd34 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven/2.0.8/maven-2.0.8.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven/2.0.8/maven-2.0.8.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven@2.0.8?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -256,8 +256,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven@2.0.8", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven/2.0.8/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven/2.0.8/maven-2.0.8.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven/2.0.8/maven-2.0.8.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven/2.0.8/maven-2.0.8.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven@2.0.8" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven/2.0/maven-2.0.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven/2.0/maven-2.0.pom.package.json index 3dc44c586e3..4002dd1f812 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven/2.0/maven-2.0.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven/2.0/maven-2.0.pom.package.json @@ -95,10 +95,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven/maven@2.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -165,8 +165,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven/maven@2.0", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/maven/2.0/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/maven/2.0/maven-2.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven/2.0/maven-2.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/maven/2.0/maven-2.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven/maven@2.0" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-antrun-plugin/1.1/maven-antrun-plugin-1.1.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-antrun-plugin/1.1/maven-antrun-plugin-1.1.pom.package.json index dcd1466f66a..30fd6ca57b7 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-antrun-plugin/1.1/maven-antrun-plugin-1.1.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-antrun-plugin/1.1/maven-antrun-plugin-1.1.pom.package.json @@ -32,10 +32,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.plugins/maven-antrun-plugin@1.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -66,8 +66,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.plugins/maven-antrun-plugin@1.1", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-antrun-plugin/1.1/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-antrun-plugin/1.1/maven-antrun-plugin-1.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-antrun-plugin/1.1/maven-antrun-plugin-1.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-antrun-plugin/1.1/maven-antrun-plugin-1.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.plugins/maven-antrun-plugin@1.1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-assembly-plugin/2.2-beta-2/maven-assembly-plugin-2.2-beta-2.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-assembly-plugin/2.2-beta-2/maven-assembly-plugin-2.2-beta-2.pom.package.json index c275e10e510..43f0bd03d00 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-assembly-plugin/2.2-beta-2/maven-assembly-plugin-2.2-beta-2.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-assembly-plugin/2.2-beta-2/maven-assembly-plugin-2.2-beta-2.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.plugins/maven-assembly-plugin@2.2-beta-2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -229,8 +229,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.plugins/maven-assembly-plugin@2.2-beta-2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-assembly-plugin/2.2-beta-2/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-assembly-plugin/2.2-beta-2/maven-assembly-plugin-2.2-beta-2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-assembly-plugin/2.2-beta-2/maven-assembly-plugin-2.2-beta-2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-assembly-plugin/2.2-beta-2/maven-assembly-plugin-2.2-beta-2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.plugins/maven-assembly-plugin@2.2-beta-2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-checkstyle-plugin/2.1/maven-checkstyle-plugin-2.1.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-checkstyle-plugin/2.1/maven-checkstyle-plugin-2.1.pom.package.json index de6f8bc610b..f46f2c344d1 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-checkstyle-plugin/2.1/maven-checkstyle-plugin-2.1.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-checkstyle-plugin/2.1/maven-checkstyle-plugin-2.1.pom.package.json @@ -32,10 +32,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.plugins/maven-checkstyle-plugin@2.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -102,8 +102,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.plugins/maven-checkstyle-plugin@2.1", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-checkstyle-plugin/2.1/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-checkstyle-plugin/2.1/maven-checkstyle-plugin-2.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-checkstyle-plugin/2.1/maven-checkstyle-plugin-2.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-checkstyle-plugin/2.1/maven-checkstyle-plugin-2.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.plugins/maven-checkstyle-plugin@2.1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-checkstyle-plugin/2.2/maven-checkstyle-plugin-2.2.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-checkstyle-plugin/2.2/maven-checkstyle-plugin-2.2.pom.package.json index b5f719fe5c5..507b7e04f1a 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-checkstyle-plugin/2.2/maven-checkstyle-plugin-2.2.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-checkstyle-plugin/2.2/maven-checkstyle-plugin-2.2.pom.package.json @@ -32,10 +32,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.plugins/maven-checkstyle-plugin@2.2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -165,8 +165,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.plugins/maven-checkstyle-plugin@2.2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-checkstyle-plugin/2.2/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-checkstyle-plugin/2.2/maven-checkstyle-plugin-2.2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-checkstyle-plugin/2.2/maven-checkstyle-plugin-2.2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-checkstyle-plugin/2.2/maven-checkstyle-plugin-2.2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.plugins/maven-checkstyle-plugin@2.2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-clean-plugin/2.2/maven-clean-plugin-2.2.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-clean-plugin/2.2/maven-clean-plugin-2.2.pom.package.json index 396953a93f5..749c9f83bed 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-clean-plugin/2.2/maven-clean-plugin-2.2.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-clean-plugin/2.2/maven-clean-plugin-2.2.pom.package.json @@ -32,10 +32,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.plugins/maven-clean-plugin@2.2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -84,8 +84,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.plugins/maven-clean-plugin@2.2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-clean-plugin/2.2/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-clean-plugin/2.2/maven-clean-plugin-2.2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-clean-plugin/2.2/maven-clean-plugin-2.2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-clean-plugin/2.2/maven-clean-plugin-2.2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.plugins/maven-clean-plugin@2.2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-compiler-plugin/2.0.2/maven-compiler-plugin-2.0.2.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-compiler-plugin/2.0.2/maven-compiler-plugin-2.0.2.pom.package.json index 39cfafebf5a..11127a14347 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-compiler-plugin/2.0.2/maven-compiler-plugin-2.0.2.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-compiler-plugin/2.0.2/maven-compiler-plugin-2.0.2.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.plugins/maven-compiler-plugin@2.0.2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -94,8 +94,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.plugins/maven-compiler-plugin@2.0.2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-compiler-plugin/2.0.2/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-compiler-plugin/2.0.2/maven-compiler-plugin-2.0.2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-compiler-plugin/2.0.2/maven-compiler-plugin-2.0.2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-compiler-plugin/2.0.2/maven-compiler-plugin-2.0.2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.plugins/maven-compiler-plugin@2.0.2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-dependency-plugin/2.0/maven-dependency-plugin-2.0.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-dependency-plugin/2.0/maven-dependency-plugin-2.0.pom.package.json index c5461586c39..ad64387e022 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-dependency-plugin/2.0/maven-dependency-plugin-2.0.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-dependency-plugin/2.0/maven-dependency-plugin-2.0.pom.package.json @@ -53,10 +53,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.plugins/maven-dependency-plugin@2.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -240,8 +240,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.plugins/maven-dependency-plugin@2.0", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-dependency-plugin/2.0/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-dependency-plugin/2.0/maven-dependency-plugin-2.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-dependency-plugin/2.0/maven-dependency-plugin-2.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-dependency-plugin/2.0/maven-dependency-plugin-2.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.plugins/maven-dependency-plugin@2.0" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-install-plugin/2.2/maven-install-plugin-2.2.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-install-plugin/2.2/maven-install-plugin-2.2.pom.package.json index ddd62841bdd..a6484c40f6d 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-install-plugin/2.2/maven-install-plugin-2.2.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-install-plugin/2.2/maven-install-plugin-2.2.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.plugins/maven-install-plugin@2.2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -85,8 +85,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.plugins/maven-install-plugin@2.2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-install-plugin/2.2/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-install-plugin/2.2/maven-install-plugin-2.2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-install-plugin/2.2/maven-install-plugin-2.2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-install-plugin/2.2/maven-install-plugin-2.2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.plugins/maven-install-plugin@2.2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-jar-plugin/2.2/maven-jar-plugin-2.2.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-jar-plugin/2.2/maven-jar-plugin-2.2.pom.package.json index 26b13c5df60..e00f0f74dd2 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-jar-plugin/2.2/maven-jar-plugin-2.2.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-jar-plugin/2.2/maven-jar-plugin-2.2.pom.package.json @@ -32,10 +32,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.plugins/maven-jar-plugin@2.2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -111,8 +111,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.plugins/maven-jar-plugin@2.2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-jar-plugin/2.2/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-jar-plugin/2.2/maven-jar-plugin-2.2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-jar-plugin/2.2/maven-jar-plugin-2.2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-jar-plugin/2.2/maven-jar-plugin-2.2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.plugins/maven-jar-plugin@2.2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-plugin-parent/2.0.1/maven-plugin-parent-2.0.1.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-plugin-parent/2.0.1/maven-plugin-parent-2.0.1.pom.package.json index ec3006f58fb..ef419f4fd17 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-plugin-parent/2.0.1/maven-plugin-parent-2.0.1.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-plugin-parent/2.0.1/maven-plugin-parent-2.0.1.pom.package.json @@ -88,10 +88,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.plugins/maven-plugin-parent@2.0.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -140,8 +140,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.plugins/maven-plugin-parent@2.0.1", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-plugin-parent/2.0.1/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-plugin-parent/2.0.1/maven-plugin-parent-2.0.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-plugin-parent/2.0.1/maven-plugin-parent-2.0.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-plugin-parent/2.0.1/maven-plugin-parent-2.0.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.plugins/maven-plugin-parent@2.0.1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-plugins/1/maven-plugins-1.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-plugins/1/maven-plugins-1.pom.package.json index 148127fa2c1..680628438d2 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-plugins/1/maven-plugins-1.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-plugins/1/maven-plugins-1.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.plugins/maven-plugins@1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.apache.maven.plugins/maven-plugins@1", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-plugins/1/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-plugins/1/maven-plugins-1.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-plugins/1/maven-plugins-1.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-plugins/1/maven-plugins-1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.plugins/maven-plugins@1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-plugins/10/maven-plugins-10.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-plugins/10/maven-plugins-10.pom.package.json index 13d44cbed95..729acd1efc6 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-plugins/10/maven-plugins-10.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-plugins/10/maven-plugins-10.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.plugins/maven-plugins@10?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.apache.maven.plugins/maven-plugins@10", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-plugins/10/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-plugins/10/maven-plugins-10.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-plugins/10/maven-plugins-10.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-plugins/10/maven-plugins-10.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.plugins/maven-plugins@10" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-plugins/11/maven-plugins-11.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-plugins/11/maven-plugins-11.pom.package.json index 29c4a50e1c9..03130de3a03 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-plugins/11/maven-plugins-11.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-plugins/11/maven-plugins-11.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.plugins/maven-plugins@11?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.apache.maven.plugins/maven-plugins@11", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-plugins/11/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-plugins/11/maven-plugins-11.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-plugins/11/maven-plugins-11.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-plugins/11/maven-plugins-11.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.plugins/maven-plugins@11" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-plugins/8/maven-plugins-8.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-plugins/8/maven-plugins-8.pom.package.json index fdfef435cba..93cb15ae212 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-plugins/8/maven-plugins-8.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-plugins/8/maven-plugins-8.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.plugins/maven-plugins@8?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.apache.maven.plugins/maven-plugins@8", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-plugins/8/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-plugins/8/maven-plugins-8.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-plugins/8/maven-plugins-8.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-plugins/8/maven-plugins-8.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.plugins/maven-plugins@8" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-pmd-plugin/2.3/maven-pmd-plugin-2.3.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-pmd-plugin/2.3/maven-pmd-plugin-2.3.pom.package.json index 897bfa6358e..d2382d9c2ff 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-pmd-plugin/2.3/maven-pmd-plugin-2.3.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-pmd-plugin/2.3/maven-pmd-plugin-2.3.pom.package.json @@ -32,10 +32,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.plugins/maven-pmd-plugin@2.3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -129,8 +129,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.plugins/maven-pmd-plugin@2.3", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-pmd-plugin/2.3/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-pmd-plugin/2.3/maven-pmd-plugin-2.3.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-pmd-plugin/2.3/maven-pmd-plugin-2.3.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-pmd-plugin/2.3/maven-pmd-plugin-2.3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.plugins/maven-pmd-plugin@2.3" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-release-plugin/2.0-beta-7/maven-release-plugin-2.0-beta-7.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-release-plugin/2.0-beta-7/maven-release-plugin-2.0-beta-7.pom.package.json index 02c8e709aa0..554e2fe398c 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-release-plugin/2.0-beta-7/maven-release-plugin-2.0-beta-7.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-release-plugin/2.0-beta-7/maven-release-plugin-2.0-beta-7.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.plugins/maven-release-plugin@2.0-beta-7?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -76,8 +76,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.plugins/maven-release-plugin@2.0-beta-7", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-release-plugin/2.0-beta-7/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-release-plugin/2.0-beta-7/maven-release-plugin-2.0-beta-7.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-release-plugin/2.0-beta-7/maven-release-plugin-2.0-beta-7.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-release-plugin/2.0-beta-7/maven-release-plugin-2.0-beta-7.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.plugins/maven-release-plugin@2.0-beta-7" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-resources-plugin/2.2/maven-resources-plugin-2.2.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-resources-plugin/2.2/maven-resources-plugin-2.2.pom.package.json index 53abf50de4e..9b6097dc6f0 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-resources-plugin/2.2/maven-resources-plugin-2.2.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-resources-plugin/2.2/maven-resources-plugin-2.2.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.plugins/maven-resources-plugin@2.2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -67,8 +67,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.plugins/maven-resources-plugin@2.2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-resources-plugin/2.2/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-resources-plugin/2.2/maven-resources-plugin-2.2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-resources-plugin/2.2/maven-resources-plugin-2.2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-resources-plugin/2.2/maven-resources-plugin-2.2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.plugins/maven-resources-plugin@2.2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-site-plugin/2.0-beta-6/maven-site-plugin-2.0-beta-6.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-site-plugin/2.0-beta-6/maven-site-plugin-2.0-beta-6.pom.package.json index cfd0952bdf1..93f2f98fd98 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-site-plugin/2.0-beta-6/maven-site-plugin-2.0-beta-6.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-site-plugin/2.0-beta-6/maven-site-plugin-2.0-beta-6.pom.package.json @@ -116,10 +116,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.plugins/maven-site-plugin@2.0-beta-6?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -285,8 +285,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.plugins/maven-site-plugin@2.0-beta-6", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-site-plugin/2.0-beta-6/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-site-plugin/2.0-beta-6/maven-site-plugin-2.0-beta-6.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-site-plugin/2.0-beta-6/maven-site-plugin-2.0-beta-6.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-site-plugin/2.0-beta-6/maven-site-plugin-2.0-beta-6.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.plugins/maven-site-plugin@2.0-beta-6" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-source-plugin/2.0.4/maven-source-plugin-2.0.4.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-source-plugin/2.0.4/maven-source-plugin-2.0.4.pom.package.json index b0747027aeb..5958d523299 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-source-plugin/2.0.4/maven-source-plugin-2.0.4.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-source-plugin/2.0.4/maven-source-plugin-2.0.4.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.plugins/maven-source-plugin@2.0.4?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -112,8 +112,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.plugins/maven-source-plugin@2.0.4", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-source-plugin/2.0.4/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-source-plugin/2.0.4/maven-source-plugin-2.0.4.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-source-plugin/2.0.4/maven-source-plugin-2.0.4.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-source-plugin/2.0.4/maven-source-plugin-2.0.4.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.plugins/maven-source-plugin@2.0.4" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-surefire-plugin/2.4.2/maven-surefire-plugin-2.4.2.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-surefire-plugin/2.4.2/maven-surefire-plugin-2.4.2.pom.package.json index a52ddbf879d..67b3c5077ea 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-surefire-plugin/2.4.2/maven-surefire-plugin-2.4.2.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-surefire-plugin/2.4.2/maven-surefire-plugin-2.4.2.pom.package.json @@ -32,10 +32,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.plugins/maven-surefire-plugin@2.4.2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -93,8 +93,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.plugins/maven-surefire-plugin@2.4.2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-surefire-plugin/2.4.2/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-surefire-plugin/2.4.2/maven-surefire-plugin-2.4.2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-surefire-plugin/2.4.2/maven-surefire-plugin-2.4.2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-surefire-plugin/2.4.2/maven-surefire-plugin-2.4.2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.plugins/maven-surefire-plugin@2.4.2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-war-plugin/2.1-alpha-1/maven-war-plugin-2.1-alpha-1.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-war-plugin/2.1-alpha-1/maven-war-plugin-2.1-alpha-1.pom.package.json index 5c35c208398..f8ab275ffba 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-war-plugin/2.1-alpha-1/maven-war-plugin-2.1-alpha-1.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-war-plugin/2.1-alpha-1/maven-war-plugin-2.1-alpha-1.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.plugins/maven-war-plugin@2.1-alpha-1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -94,8 +94,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.plugins/maven-war-plugin@2.1-alpha-1", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-war-plugin/2.1-alpha-1/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-war-plugin/2.1-alpha-1/maven-war-plugin-2.1-alpha-1.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-war-plugin/2.1-alpha-1/maven-war-plugin-2.1-alpha-1.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-war-plugin/2.1-alpha-1/maven-war-plugin-2.1-alpha-1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.plugins/maven-war-plugin@2.1-alpha-1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/release/maven-release/4/maven-release-4.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/release/maven-release/4/maven-release-4.pom.package.json index 56902c9303b..45e3753dce5 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/release/maven-release/4/maven-release-4.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/release/maven-release/4/maven-release-4.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.release/maven-release@4?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.apache.maven.release/maven-release@4", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/release/maven-release/4/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/release/maven-release/4/maven-release-4.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/release/maven-release/4/maven-release-4.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/release/maven-release/4/maven-release-4.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.release/maven-release@4" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/reporting/maven-reporting-api/2.0.4/maven-reporting-api-2.0.4.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/reporting/maven-reporting-api/2.0.4/maven-reporting-api-2.0.4.pom.package.json index d2dee707643..7350b32d591 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/reporting/maven-reporting-api/2.0.4/maven-reporting-api-2.0.4.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/reporting/maven-reporting-api/2.0.4/maven-reporting-api-2.0.4.pom.package.json @@ -32,10 +32,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.reporting/maven-reporting-api@2.0.4?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -48,8 +48,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.reporting/maven-reporting-api@2.0.4", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting-api/2.0.4/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting-api/2.0.4/maven-reporting-api-2.0.4.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting-api/2.0.4/maven-reporting-api-2.0.4.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting-api/2.0.4/maven-reporting-api-2.0.4.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.reporting/maven-reporting-api@2.0.4" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/reporting/maven-reporting-api/2.0.6/maven-reporting-api-2.0.6.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/reporting/maven-reporting-api/2.0.6/maven-reporting-api-2.0.6.pom.package.json index 7852dfdde5d..b414e1df85a 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/reporting/maven-reporting-api/2.0.6/maven-reporting-api-2.0.6.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/reporting/maven-reporting-api/2.0.6/maven-reporting-api-2.0.6.pom.package.json @@ -32,10 +32,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.reporting/maven-reporting-api@2.0.6?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -48,8 +48,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.reporting/maven-reporting-api@2.0.6", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting-api/2.0.6/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting-api/2.0.6/maven-reporting-api-2.0.6.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting-api/2.0.6/maven-reporting-api-2.0.6.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting-api/2.0.6/maven-reporting-api-2.0.6.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.reporting/maven-reporting-api@2.0.6" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/reporting/maven-reporting-api/2.0.8/maven-reporting-api-2.0.8.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/reporting/maven-reporting-api/2.0.8/maven-reporting-api-2.0.8.pom.package.json index 61829db4604..8a370328c42 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/reporting/maven-reporting-api/2.0.8/maven-reporting-api-2.0.8.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/reporting/maven-reporting-api/2.0.8/maven-reporting-api-2.0.8.pom.package.json @@ -32,10 +32,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.reporting/maven-reporting-api@2.0.8?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -48,8 +48,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.reporting/maven-reporting-api@2.0.8", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting-api/2.0.8/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting-api/2.0.8/maven-reporting-api-2.0.8.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting-api/2.0.8/maven-reporting-api-2.0.8.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting-api/2.0.8/maven-reporting-api-2.0.8.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.reporting/maven-reporting-api@2.0.8" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/reporting/maven-reporting-api/2.0/maven-reporting-api-2.0.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/reporting/maven-reporting-api/2.0/maven-reporting-api-2.0.pom.package.json index bed223d0fb9..9e8a4d31866 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/reporting/maven-reporting-api/2.0/maven-reporting-api-2.0.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/reporting/maven-reporting-api/2.0/maven-reporting-api-2.0.pom.package.json @@ -32,10 +32,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.reporting/maven-reporting-api@2.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -48,8 +48,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.reporting/maven-reporting-api@2.0", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting-api/2.0/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting-api/2.0/maven-reporting-api-2.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting-api/2.0/maven-reporting-api-2.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting-api/2.0/maven-reporting-api-2.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.reporting/maven-reporting-api@2.0" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/reporting/maven-reporting-impl/2.0.4/maven-reporting-impl-2.0.4.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/reporting/maven-reporting-impl/2.0.4/maven-reporting-impl-2.0.4.pom.package.json index 287d68fa01b..b9d169eb816 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/reporting/maven-reporting-impl/2.0.4/maven-reporting-impl-2.0.4.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/reporting/maven-reporting-impl/2.0.4/maven-reporting-impl-2.0.4.pom.package.json @@ -32,10 +32,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.reporting/maven-reporting-impl@2.0.4?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -102,8 +102,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.reporting/maven-reporting-impl@2.0.4", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting-impl/2.0.4/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting-impl/2.0.4/maven-reporting-impl-2.0.4.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting-impl/2.0.4/maven-reporting-impl-2.0.4.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting-impl/2.0.4/maven-reporting-impl-2.0.4.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.reporting/maven-reporting-impl@2.0.4" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/reporting/maven-reporting-impl/2.0/maven-reporting-impl-2.0.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/reporting/maven-reporting-impl/2.0/maven-reporting-impl-2.0.pom.package.json index 5dd12e2f5e5..68412697979 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/reporting/maven-reporting-impl/2.0/maven-reporting-impl-2.0.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/reporting/maven-reporting-impl/2.0/maven-reporting-impl-2.0.pom.package.json @@ -32,10 +32,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.reporting/maven-reporting-impl@2.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -93,8 +93,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.reporting/maven-reporting-impl@2.0", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting-impl/2.0/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting-impl/2.0/maven-reporting-impl-2.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting-impl/2.0/maven-reporting-impl-2.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting-impl/2.0/maven-reporting-impl-2.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.reporting/maven-reporting-impl@2.0" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/reporting/maven-reporting/2.0.4/maven-reporting-2.0.4.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/reporting/maven-reporting/2.0.4/maven-reporting-2.0.4.pom.package.json index 76f2b3d4888..2557e2200c9 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/reporting/maven-reporting/2.0.4/maven-reporting-2.0.4.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/reporting/maven-reporting/2.0.4/maven-reporting-2.0.4.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.reporting/maven-reporting@2.0.4?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.apache.maven.reporting/maven-reporting@2.0.4", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting/2.0.4/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting/2.0.4/maven-reporting-2.0.4.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting/2.0.4/maven-reporting-2.0.4.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting/2.0.4/maven-reporting-2.0.4.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.reporting/maven-reporting@2.0.4" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/reporting/maven-reporting/2.0.6/maven-reporting-2.0.6.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/reporting/maven-reporting/2.0.6/maven-reporting-2.0.6.pom.package.json index 226f760c1ac..97e4e3f8904 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/reporting/maven-reporting/2.0.6/maven-reporting-2.0.6.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/reporting/maven-reporting/2.0.6/maven-reporting-2.0.6.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.reporting/maven-reporting@2.0.6?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.apache.maven.reporting/maven-reporting@2.0.6", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting/2.0.6/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting/2.0.6/maven-reporting-2.0.6.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting/2.0.6/maven-reporting-2.0.6.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting/2.0.6/maven-reporting-2.0.6.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.reporting/maven-reporting@2.0.6" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/reporting/maven-reporting/2.0.8/maven-reporting-2.0.8.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/reporting/maven-reporting/2.0.8/maven-reporting-2.0.8.pom.package.json index a831e05c94c..a5fa6b96a43 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/reporting/maven-reporting/2.0.8/maven-reporting-2.0.8.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/reporting/maven-reporting/2.0.8/maven-reporting-2.0.8.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.reporting/maven-reporting@2.0.8?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.apache.maven.reporting/maven-reporting@2.0.8", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting/2.0.8/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting/2.0.8/maven-reporting-2.0.8.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting/2.0.8/maven-reporting-2.0.8.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting/2.0.8/maven-reporting-2.0.8.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.reporting/maven-reporting@2.0.8" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/reporting/maven-reporting/2.0/maven-reporting-2.0.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/reporting/maven-reporting/2.0/maven-reporting-2.0.pom.package.json index 15335b51a56..1fd46f00354 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/reporting/maven-reporting/2.0/maven-reporting-2.0.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/reporting/maven-reporting/2.0/maven-reporting-2.0.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.reporting/maven-reporting@2.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.apache.maven.reporting/maven-reporting@2.0", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting/2.0/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting/2.0/maven-reporting-2.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting/2.0/maven-reporting-2.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting/2.0/maven-reporting-2.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.reporting/maven-reporting@2.0" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm-api/1.0-beta-3/maven-scm-api-1.0-beta-3.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm-api/1.0-beta-3/maven-scm-api-1.0-beta-3.pom.package.json index ab05e723373..e776044e8b4 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm-api/1.0-beta-3/maven-scm-api-1.0-beta-3.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm-api/1.0-beta-3/maven-scm-api-1.0-beta-3.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.scm/maven-scm-api@1.0-beta-3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.scm/maven-scm-api@1.0-beta-3", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-api/1.0-beta-3/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-api/1.0-beta-3/maven-scm-api-1.0-beta-3.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-api/1.0-beta-3/maven-scm-api-1.0-beta-3.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-api/1.0-beta-3/maven-scm-api-1.0-beta-3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.scm/maven-scm-api@1.0-beta-3" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm-manager-plexus/1.0-beta-3/maven-scm-manager-plexus-1.0-beta-3.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm-manager-plexus/1.0-beta-3/maven-scm-manager-plexus-1.0-beta-3.pom.package.json index d9069628a19..0d96ca878d1 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm-manager-plexus/1.0-beta-3/maven-scm-manager-plexus-1.0-beta-3.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm-manager-plexus/1.0-beta-3/maven-scm-manager-plexus-1.0-beta-3.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.scm/maven-scm-manager-plexus@1.0-beta-3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.scm/maven-scm-manager-plexus@1.0-beta-3", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-manager-plexus/1.0-beta-3/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-manager-plexus/1.0-beta-3/maven-scm-manager-plexus-1.0-beta-3.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-manager-plexus/1.0-beta-3/maven-scm-manager-plexus-1.0-beta-3.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-manager-plexus/1.0-beta-3/maven-scm-manager-plexus-1.0-beta-3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.scm/maven-scm-manager-plexus@1.0-beta-3" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm-managers/1.0-beta-3/maven-scm-managers-1.0-beta-3.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm-managers/1.0-beta-3/maven-scm-managers-1.0-beta-3.pom.package.json index 941b21a1661..1ec6a32743b 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm-managers/1.0-beta-3/maven-scm-managers-1.0-beta-3.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm-managers/1.0-beta-3/maven-scm-managers-1.0-beta-3.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.scm/maven-scm-managers@1.0-beta-3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.scm/maven-scm-managers@1.0-beta-3", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-managers/1.0-beta-3/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-managers/1.0-beta-3/maven-scm-managers-1.0-beta-3.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-managers/1.0-beta-3/maven-scm-managers-1.0-beta-3.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-managers/1.0-beta-3/maven-scm-managers-1.0-beta-3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.scm/maven-scm-managers@1.0-beta-3" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm-provider-clearcase/1.0-beta-3/maven-scm-provider-clearcase-1.0-beta-3.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm-provider-clearcase/1.0-beta-3/maven-scm-provider-clearcase-1.0-beta-3.pom.package.json index 95a0fcb77c1..7c60dde2c6c 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm-provider-clearcase/1.0-beta-3/maven-scm-provider-clearcase-1.0-beta-3.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm-provider-clearcase/1.0-beta-3/maven-scm-provider-clearcase-1.0-beta-3.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.scm/maven-scm-provider-clearcase@1.0-beta-3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.apache.maven.scm/maven-scm-provider-clearcase@1.0-beta-3", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-provider-clearcase/1.0-beta-3/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-provider-clearcase/1.0-beta-3/maven-scm-provider-clearcase-1.0-beta-3.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-provider-clearcase/1.0-beta-3/maven-scm-provider-clearcase-1.0-beta-3.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-provider-clearcase/1.0-beta-3/maven-scm-provider-clearcase-1.0-beta-3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.scm/maven-scm-provider-clearcase@1.0-beta-3" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm-provider-cvs-commons/1.0-beta-3/maven-scm-provider-cvs-commons-1.0-beta-3.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm-provider-cvs-commons/1.0-beta-3/maven-scm-provider-cvs-commons-1.0-beta-3.pom.package.json index 2657648064b..fe5c8eadcc1 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm-provider-cvs-commons/1.0-beta-3/maven-scm-provider-cvs-commons-1.0-beta-3.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm-provider-cvs-commons/1.0-beta-3/maven-scm-provider-cvs-commons-1.0-beta-3.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.scm/maven-scm-provider-cvs-commons@1.0-beta-3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.scm/maven-scm-provider-cvs-commons@1.0-beta-3", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-provider-cvs-commons/1.0-beta-3/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-provider-cvs-commons/1.0-beta-3/maven-scm-provider-cvs-commons-1.0-beta-3.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-provider-cvs-commons/1.0-beta-3/maven-scm-provider-cvs-commons-1.0-beta-3.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-provider-cvs-commons/1.0-beta-3/maven-scm-provider-cvs-commons-1.0-beta-3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.scm/maven-scm-provider-cvs-commons@1.0-beta-3" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm-provider-cvsexe/1.0-beta-3/maven-scm-provider-cvsexe-1.0-beta-3.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm-provider-cvsexe/1.0-beta-3/maven-scm-provider-cvsexe-1.0-beta-3.pom.package.json index 7ec0c1d65fc..cf989194c43 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm-provider-cvsexe/1.0-beta-3/maven-scm-provider-cvsexe-1.0-beta-3.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm-provider-cvsexe/1.0-beta-3/maven-scm-provider-cvsexe-1.0-beta-3.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.scm/maven-scm-provider-cvsexe@1.0-beta-3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -49,8 +49,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.scm/maven-scm-provider-cvsexe@1.0-beta-3", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-provider-cvsexe/1.0-beta-3/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-provider-cvsexe/1.0-beta-3/maven-scm-provider-cvsexe-1.0-beta-3.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-provider-cvsexe/1.0-beta-3/maven-scm-provider-cvsexe-1.0-beta-3.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-provider-cvsexe/1.0-beta-3/maven-scm-provider-cvsexe-1.0-beta-3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.scm/maven-scm-provider-cvsexe@1.0-beta-3" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm-provider-perforce/1.0-beta-3/maven-scm-provider-perforce-1.0-beta-3.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm-provider-perforce/1.0-beta-3/maven-scm-provider-perforce-1.0-beta-3.pom.package.json index fc1d373ac5a..f4d8499aa6d 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm-provider-perforce/1.0-beta-3/maven-scm-provider-perforce-1.0-beta-3.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm-provider-perforce/1.0-beta-3/maven-scm-provider-perforce-1.0-beta-3.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.scm/maven-scm-provider-perforce@1.0-beta-3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.scm/maven-scm-provider-perforce@1.0-beta-3", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-provider-perforce/1.0-beta-3/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-provider-perforce/1.0-beta-3/maven-scm-provider-perforce-1.0-beta-3.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-provider-perforce/1.0-beta-3/maven-scm-provider-perforce-1.0-beta-3.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-provider-perforce/1.0-beta-3/maven-scm-provider-perforce-1.0-beta-3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.scm/maven-scm-provider-perforce@1.0-beta-3" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm-provider-starteam/1.0-beta-3/maven-scm-provider-starteam-1.0-beta-3.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm-provider-starteam/1.0-beta-3/maven-scm-provider-starteam-1.0-beta-3.pom.package.json index 675388739db..c68119ff9c0 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm-provider-starteam/1.0-beta-3/maven-scm-provider-starteam-1.0-beta-3.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm-provider-starteam/1.0-beta-3/maven-scm-provider-starteam-1.0-beta-3.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.scm/maven-scm-provider-starteam@1.0-beta-3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.apache.maven.scm/maven-scm-provider-starteam@1.0-beta-3", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-provider-starteam/1.0-beta-3/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-provider-starteam/1.0-beta-3/maven-scm-provider-starteam-1.0-beta-3.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-provider-starteam/1.0-beta-3/maven-scm-provider-starteam-1.0-beta-3.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-provider-starteam/1.0-beta-3/maven-scm-provider-starteam-1.0-beta-3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.scm/maven-scm-provider-starteam@1.0-beta-3" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm-provider-svn-commons/1.0-beta-3/maven-scm-provider-svn-commons-1.0-beta-3.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm-provider-svn-commons/1.0-beta-3/maven-scm-provider-svn-commons-1.0-beta-3.pom.package.json index 569ae286063..8d5a1d8a871 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm-provider-svn-commons/1.0-beta-3/maven-scm-provider-svn-commons-1.0-beta-3.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm-provider-svn-commons/1.0-beta-3/maven-scm-provider-svn-commons-1.0-beta-3.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.scm/maven-scm-provider-svn-commons@1.0-beta-3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.apache.maven.scm/maven-scm-provider-svn-commons@1.0-beta-3", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-provider-svn-commons/1.0-beta-3/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-provider-svn-commons/1.0-beta-3/maven-scm-provider-svn-commons-1.0-beta-3.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-provider-svn-commons/1.0-beta-3/maven-scm-provider-svn-commons-1.0-beta-3.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-provider-svn-commons/1.0-beta-3/maven-scm-provider-svn-commons-1.0-beta-3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.scm/maven-scm-provider-svn-commons@1.0-beta-3" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm-provider-svnexe/1.0-beta-3/maven-scm-provider-svnexe-1.0-beta-3.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm-provider-svnexe/1.0-beta-3/maven-scm-provider-svnexe-1.0-beta-3.pom.package.json index aba4c8ce0bb..ae089d4cec8 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm-provider-svnexe/1.0-beta-3/maven-scm-provider-svnexe-1.0-beta-3.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm-provider-svnexe/1.0-beta-3/maven-scm-provider-svnexe-1.0-beta-3.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.scm/maven-scm-provider-svnexe@1.0-beta-3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -58,8 +58,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.scm/maven-scm-provider-svnexe@1.0-beta-3", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-provider-svnexe/1.0-beta-3/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-provider-svnexe/1.0-beta-3/maven-scm-provider-svnexe-1.0-beta-3.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-provider-svnexe/1.0-beta-3/maven-scm-provider-svnexe-1.0-beta-3.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-provider-svnexe/1.0-beta-3/maven-scm-provider-svnexe-1.0-beta-3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.scm/maven-scm-provider-svnexe@1.0-beta-3" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm-providers-cvs/1.0-beta-3/maven-scm-providers-cvs-1.0-beta-3.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm-providers-cvs/1.0-beta-3/maven-scm-providers-cvs-1.0-beta-3.pom.package.json index 61cf1b07049..aa9fac925aa 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm-providers-cvs/1.0-beta-3/maven-scm-providers-cvs-1.0-beta-3.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm-providers-cvs/1.0-beta-3/maven-scm-providers-cvs-1.0-beta-3.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.scm/maven-scm-providers-cvs@1.0-beta-3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.apache.maven.scm/maven-scm-providers-cvs@1.0-beta-3", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-providers-cvs/1.0-beta-3/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-providers-cvs/1.0-beta-3/maven-scm-providers-cvs-1.0-beta-3.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-providers-cvs/1.0-beta-3/maven-scm-providers-cvs-1.0-beta-3.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-providers-cvs/1.0-beta-3/maven-scm-providers-cvs-1.0-beta-3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.scm/maven-scm-providers-cvs@1.0-beta-3" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm-providers-svn/1.0-beta-3/maven-scm-providers-svn-1.0-beta-3.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm-providers-svn/1.0-beta-3/maven-scm-providers-svn-1.0-beta-3.pom.package.json index 38069eeec04..0c0e6fa8a94 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm-providers-svn/1.0-beta-3/maven-scm-providers-svn-1.0-beta-3.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm-providers-svn/1.0-beta-3/maven-scm-providers-svn-1.0-beta-3.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.scm/maven-scm-providers-svn@1.0-beta-3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.apache.maven.scm/maven-scm-providers-svn@1.0-beta-3", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-providers-svn/1.0-beta-3/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-providers-svn/1.0-beta-3/maven-scm-providers-svn-1.0-beta-3.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-providers-svn/1.0-beta-3/maven-scm-providers-svn-1.0-beta-3.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-providers-svn/1.0-beta-3/maven-scm-providers-svn-1.0-beta-3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.scm/maven-scm-providers-svn@1.0-beta-3" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm-providers/1.0-beta-3/maven-scm-providers-1.0-beta-3.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm-providers/1.0-beta-3/maven-scm-providers-1.0-beta-3.pom.package.json index 7a6ae1813f6..0bcf9883ed7 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm-providers/1.0-beta-3/maven-scm-providers-1.0-beta-3.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm-providers/1.0-beta-3/maven-scm-providers-1.0-beta-3.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.scm/maven-scm-providers@1.0-beta-3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -49,8 +49,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.scm/maven-scm-providers@1.0-beta-3", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-providers/1.0-beta-3/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-providers/1.0-beta-3/maven-scm-providers-1.0-beta-3.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-providers/1.0-beta-3/maven-scm-providers-1.0-beta-3.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-providers/1.0-beta-3/maven-scm-providers-1.0-beta-3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.scm/maven-scm-providers@1.0-beta-3" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm/1.0-beta-3/maven-scm-1.0-beta-3.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm/1.0-beta-3/maven-scm-1.0-beta-3.pom.package.json index 19a6283e917..1bcea40a8ac 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm/1.0-beta-3/maven-scm-1.0-beta-3.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/scm/maven-scm/1.0-beta-3/maven-scm-1.0-beta-3.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.scm/maven-scm@1.0-beta-3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.scm/maven-scm@1.0-beta-3", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm/1.0-beta-3/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm/1.0-beta-3/maven-scm-1.0-beta-3.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm/1.0-beta-3/maven-scm-1.0-beta-3.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm/1.0-beta-3/maven-scm-1.0-beta-3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.scm/maven-scm@1.0-beta-3" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/shared/file-management/1.1/file-management-1.1.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/shared/file-management/1.1/file-management-1.1.pom.package.json index f90c7db3a4e..103c42d6d6a 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/shared/file-management/1.1/file-management-1.1.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/shared/file-management/1.1/file-management-1.1.pom.package.json @@ -32,10 +32,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.shared/file-management@1.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -84,8 +84,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.shared/file-management@1.1", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/file-management/1.1/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/file-management/1.1/file-management-1.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/file-management/1.1/file-management-1.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/file-management/1.1/file-management-1.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.shared/file-management@1.1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/shared/file-management/1.2/file-management-1.2.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/shared/file-management/1.2/file-management-1.2.pom.package.json index dbb70c17938..589c4f3a1fc 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/shared/file-management/1.2/file-management-1.2.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/shared/file-management/1.2/file-management-1.2.pom.package.json @@ -32,10 +32,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.shared/file-management@1.2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -84,8 +84,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.shared/file-management@1.2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/file-management/1.2/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/file-management/1.2/file-management-1.2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/file-management/1.2/file-management-1.2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/file-management/1.2/file-management-1.2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.shared/file-management@1.2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/shared/maven-common-artifact-filters/1.0-alpha-1/maven-common-artifact-filters-1.0-alpha-1.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/shared/maven-common-artifact-filters/1.0-alpha-1/maven-common-artifact-filters-1.0-alpha-1.pom.package.json index 82b4b8d8e26..de7bdc3186f 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/shared/maven-common-artifact-filters/1.0-alpha-1/maven-common-artifact-filters-1.0-alpha-1.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/shared/maven-common-artifact-filters/1.0-alpha-1/maven-common-artifact-filters-1.0-alpha-1.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.shared/maven-common-artifact-filters@1.0-alpha-1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -76,8 +76,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.shared/maven-common-artifact-filters@1.0-alpha-1", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-common-artifact-filters/1.0-alpha-1/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-common-artifact-filters/1.0-alpha-1/maven-common-artifact-filters-1.0-alpha-1.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-common-artifact-filters/1.0-alpha-1/maven-common-artifact-filters-1.0-alpha-1.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-common-artifact-filters/1.0-alpha-1/maven-common-artifact-filters-1.0-alpha-1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.shared/maven-common-artifact-filters@1.0-alpha-1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/shared/maven-common-artifact-filters/1.0/maven-common-artifact-filters-1.0.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/shared/maven-common-artifact-filters/1.0/maven-common-artifact-filters-1.0.pom.package.json index a989504bfff..1a8900a4b0a 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/shared/maven-common-artifact-filters/1.0/maven-common-artifact-filters-1.0.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/shared/maven-common-artifact-filters/1.0/maven-common-artifact-filters-1.0.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.shared/maven-common-artifact-filters@1.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -85,8 +85,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.shared/maven-common-artifact-filters@1.0", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-common-artifact-filters/1.0/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-common-artifact-filters/1.0/maven-common-artifact-filters-1.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-common-artifact-filters/1.0/maven-common-artifact-filters-1.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-common-artifact-filters/1.0/maven-common-artifact-filters-1.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.shared/maven-common-artifact-filters@1.0" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/shared/maven-dependency-analyzer/1.0/maven-dependency-analyzer-1.0.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/shared/maven-dependency-analyzer/1.0/maven-dependency-analyzer-1.0.pom.package.json index ca599de6136..54293b512d0 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/shared/maven-dependency-analyzer/1.0/maven-dependency-analyzer-1.0.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/shared/maven-dependency-analyzer/1.0/maven-dependency-analyzer-1.0.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.shared/maven-dependency-analyzer@1.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -103,8 +103,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.shared/maven-dependency-analyzer@1.0", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-dependency-analyzer/1.0/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-dependency-analyzer/1.0/maven-dependency-analyzer-1.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-dependency-analyzer/1.0/maven-dependency-analyzer-1.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-dependency-analyzer/1.0/maven-dependency-analyzer-1.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.shared/maven-dependency-analyzer@1.0" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/shared/maven-dependency-tree/1.1/maven-dependency-tree-1.1.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/shared/maven-dependency-tree/1.1/maven-dependency-tree-1.1.pom.package.json index dea7a4cfcb0..c11e5de17ea 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/shared/maven-dependency-tree/1.1/maven-dependency-tree-1.1.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/shared/maven-dependency-tree/1.1/maven-dependency-tree-1.1.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.shared/maven-dependency-tree@1.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -58,8 +58,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.shared/maven-dependency-tree@1.1", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-dependency-tree/1.1/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-dependency-tree/1.1/maven-dependency-tree-1.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-dependency-tree/1.1/maven-dependency-tree-1.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-dependency-tree/1.1/maven-dependency-tree-1.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.shared/maven-dependency-tree@1.1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/shared/maven-osgi/0.2.0/maven-osgi-0.2.0.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/shared/maven-osgi/0.2.0/maven-osgi-0.2.0.pom.package.json index 89553535e98..723308d8eef 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/shared/maven-osgi/0.2.0/maven-osgi-0.2.0.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/shared/maven-osgi/0.2.0/maven-osgi-0.2.0.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.shared/maven-osgi@0.2.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -58,8 +58,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.shared/maven-osgi@0.2.0", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-osgi/0.2.0/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-osgi/0.2.0/maven-osgi-0.2.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-osgi/0.2.0/maven-osgi-0.2.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-osgi/0.2.0/maven-osgi-0.2.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.shared/maven-osgi@0.2.0" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/shared/maven-plugin-testing-harness/1.1/maven-plugin-testing-harness-1.1.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/shared/maven-plugin-testing-harness/1.1/maven-plugin-testing-harness-1.1.pom.package.json index 6f80c4307c3..1fa8e99afc9 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/shared/maven-plugin-testing-harness/1.1/maven-plugin-testing-harness-1.1.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/shared/maven-plugin-testing-harness/1.1/maven-plugin-testing-harness-1.1.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.shared/maven-plugin-testing-harness@1.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -76,8 +76,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.shared/maven-plugin-testing-harness@1.1", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-plugin-testing-harness/1.1/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-plugin-testing-harness/1.1/maven-plugin-testing-harness-1.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-plugin-testing-harness/1.1/maven-plugin-testing-harness-1.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-plugin-testing-harness/1.1/maven-plugin-testing-harness-1.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.shared/maven-plugin-testing-harness@1.1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/shared/maven-repository-builder/1.0-alpha-2/maven-repository-builder-1.0-alpha-2.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/shared/maven-repository-builder/1.0-alpha-2/maven-repository-builder-1.0-alpha-2.pom.package.json index 9ad97646289..05037f061c3 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/shared/maven-repository-builder/1.0-alpha-2/maven-repository-builder-1.0-alpha-2.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/shared/maven-repository-builder/1.0-alpha-2/maven-repository-builder-1.0-alpha-2.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.shared/maven-repository-builder@1.0-alpha-2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -112,8 +112,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.shared/maven-repository-builder@1.0-alpha-2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-repository-builder/1.0-alpha-2/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-repository-builder/1.0-alpha-2/maven-repository-builder-1.0-alpha-2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-repository-builder/1.0-alpha-2/maven-repository-builder-1.0-alpha-2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-repository-builder/1.0-alpha-2/maven-repository-builder-1.0-alpha-2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.shared/maven-repository-builder@1.0-alpha-2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/shared/maven-shared-components/3/maven-shared-components-3.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/shared/maven-shared-components/3/maven-shared-components-3.pom.package.json index 2eedb07d6b5..78c55d16e4f 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/shared/maven-shared-components/3/maven-shared-components-3.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/shared/maven-shared-components/3/maven-shared-components-3.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.shared/maven-shared-components@3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.apache.maven.shared/maven-shared-components@3", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-shared-components/3/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-shared-components/3/maven-shared-components-3.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-shared-components/3/maven-shared-components-3.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-shared-components/3/maven-shared-components-3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.shared/maven-shared-components@3" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/shared/maven-shared-components/4/maven-shared-components-4.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/shared/maven-shared-components/4/maven-shared-components-4.pom.package.json index e1bc71117a7..6f90914061f 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/shared/maven-shared-components/4/maven-shared-components-4.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/shared/maven-shared-components/4/maven-shared-components-4.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.shared/maven-shared-components@4?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.apache.maven.shared/maven-shared-components@4", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-shared-components/4/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-shared-components/4/maven-shared-components-4.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-shared-components/4/maven-shared-components-4.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-shared-components/4/maven-shared-components-4.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.shared/maven-shared-components@4" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/shared/maven-shared-components/6/maven-shared-components-6.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/shared/maven-shared-components/6/maven-shared-components-6.pom.package.json index f31f3d58800..0011777678c 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/shared/maven-shared-components/6/maven-shared-components-6.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/shared/maven-shared-components/6/maven-shared-components-6.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.shared/maven-shared-components@6?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.apache.maven.shared/maven-shared-components@6", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-shared-components/6/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-shared-components/6/maven-shared-components-6.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-shared-components/6/maven-shared-components-6.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-shared-components/6/maven-shared-components-6.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.shared/maven-shared-components@6" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/shared/maven-shared-components/7/maven-shared-components-7.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/shared/maven-shared-components/7/maven-shared-components-7.pom.package.json index eba06ddcce4..509e229bed7 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/shared/maven-shared-components/7/maven-shared-components-7.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/shared/maven-shared-components/7/maven-shared-components-7.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.shared/maven-shared-components@7?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.apache.maven.shared/maven-shared-components@7", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-shared-components/7/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-shared-components/7/maven-shared-components-7.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-shared-components/7/maven-shared-components-7.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-shared-components/7/maven-shared-components-7.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.shared/maven-shared-components@7" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/shared/maven-shared-components/8/maven-shared-components-8.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/shared/maven-shared-components/8/maven-shared-components-8.pom.package.json index 224138b489a..b675649bc1e 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/shared/maven-shared-components/8/maven-shared-components-8.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/shared/maven-shared-components/8/maven-shared-components-8.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.shared/maven-shared-components@8?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.apache.maven.shared/maven-shared-components@8", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-shared-components/8/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-shared-components/8/maven-shared-components-8.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-shared-components/8/maven-shared-components-8.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-shared-components/8/maven-shared-components-8.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.shared/maven-shared-components@8" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/shared/maven-shared-io/1.0/maven-shared-io-1.0.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/shared/maven-shared-io/1.0/maven-shared-io-1.0.pom.package.json index 63b450ef79c..3c1b35b488e 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/shared/maven-shared-io/1.0/maven-shared-io-1.0.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/shared/maven-shared-io/1.0/maven-shared-io-1.0.pom.package.json @@ -32,10 +32,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.shared/maven-shared-io@1.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -102,8 +102,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.shared/maven-shared-io@1.0", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-shared-io/1.0/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-shared-io/1.0/maven-shared-io-1.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-shared-io/1.0/maven-shared-io-1.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-shared-io/1.0/maven-shared-io-1.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.shared/maven-shared-io@1.0" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/shared/maven-shared-io/1.1/maven-shared-io-1.1.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/shared/maven-shared-io/1.1/maven-shared-io-1.1.pom.package.json index 5741db68f53..191cddcffe8 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/shared/maven-shared-io/1.1/maven-shared-io-1.1.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/shared/maven-shared-io/1.1/maven-shared-io-1.1.pom.package.json @@ -32,10 +32,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.shared/maven-shared-io@1.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -102,8 +102,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.shared/maven-shared-io@1.1", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-shared-io/1.1/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-shared-io/1.1/maven-shared-io-1.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-shared-io/1.1/maven-shared-io-1.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-shared-io/1.1/maven-shared-io-1.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.shared/maven-shared-io@1.1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/surefire/surefire-api/2.4.2/surefire-api-2.4.2.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/surefire/surefire-api/2.4.2/surefire-api-2.4.2.pom.package.json index 038a5be8e34..3338d10548d 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/surefire/surefire-api/2.4.2/surefire-api-2.4.2.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/surefire/surefire-api/2.4.2/surefire-api-2.4.2.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.surefire/surefire-api@2.4.2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -49,8 +49,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.surefire/surefire-api@2.4.2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/surefire/surefire-api/2.4.2/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/surefire/surefire-api/2.4.2/surefire-api-2.4.2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/surefire/surefire-api/2.4.2/surefire-api-2.4.2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/surefire/surefire-api/2.4.2/surefire-api-2.4.2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.surefire/surefire-api@2.4.2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/surefire/surefire-booter/2.4.2/surefire-booter-2.4.2.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/surefire/surefire-booter/2.4.2/surefire-booter-2.4.2.pom.package.json index cb0051fe1a8..161aec9c3c7 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/surefire/surefire-booter/2.4.2/surefire-booter-2.4.2.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/surefire/surefire-booter/2.4.2/surefire-booter-2.4.2.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.surefire/surefire-booter@2.4.2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -58,8 +58,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.surefire/surefire-booter@2.4.2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/surefire/surefire-booter/2.4.2/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/surefire/surefire-booter/2.4.2/surefire-booter-2.4.2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/surefire/surefire-booter/2.4.2/surefire-booter-2.4.2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/surefire/surefire-booter/2.4.2/surefire-booter-2.4.2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.surefire/surefire-booter@2.4.2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/surefire/surefire-providers/2.4.2/surefire-providers-2.4.2.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/surefire/surefire-providers/2.4.2/surefire-providers-2.4.2.pom.package.json index 257af1555d5..e1d4ca9c9bf 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/surefire/surefire-providers/2.4.2/surefire-providers-2.4.2.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/surefire/surefire-providers/2.4.2/surefire-providers-2.4.2.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.surefire/surefire-providers@2.4.2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.surefire/surefire-providers@2.4.2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/surefire/surefire-providers/2.4.2/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/surefire/surefire-providers/2.4.2/surefire-providers-2.4.2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/surefire/surefire-providers/2.4.2/surefire-providers-2.4.2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/surefire/surefire-providers/2.4.2/surefire-providers-2.4.2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.surefire/surefire-providers@2.4.2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/surefire/surefire-testng/2.4.2/surefire-testng-2.4.2.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/surefire/surefire-testng/2.4.2/surefire-testng-2.4.2.pom.package.json index 642cffe65ab..c0ce2087a80 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/surefire/surefire-testng/2.4.2/surefire-testng-2.4.2.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/surefire/surefire-testng/2.4.2/surefire-testng-2.4.2.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.surefire/surefire-testng@2.4.2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -58,8 +58,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.surefire/surefire-testng@2.4.2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/surefire/surefire-testng/2.4.2/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/surefire/surefire-testng/2.4.2/surefire-testng-2.4.2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/surefire/surefire-testng/2.4.2/surefire-testng-2.4.2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/surefire/surefire-testng/2.4.2/surefire-testng-2.4.2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.surefire/surefire-testng@2.4.2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/surefire/surefire/2.4.2/surefire-2.4.2.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/surefire/surefire/2.4.2/surefire-2.4.2.pom.package.json index 19b881ea218..836783da1b6 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/surefire/surefire/2.4.2/surefire-2.4.2.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/surefire/surefire/2.4.2/surefire-2.4.2.pom.package.json @@ -39,10 +39,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.surefire/surefire@2.4.2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -91,8 +91,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.surefire/surefire@2.4.2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/surefire/surefire/2.4.2/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/surefire/surefire/2.4.2/surefire-2.4.2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/surefire/surefire/2.4.2/surefire-2.4.2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/surefire/surefire/2.4.2/surefire-2.4.2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.surefire/surefire@2.4.2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-file/1.0-alpha-5/wagon-file-1.0-alpha-5.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-file/1.0-alpha-5/wagon-file-1.0-alpha-5.pom.package.json index 76c97cf687d..e94e61316bf 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-file/1.0-alpha-5/wagon-file-1.0-alpha-5.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-file/1.0-alpha-5/wagon-file-1.0-alpha-5.pom.package.json @@ -60,10 +60,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.wagon/wagon-file@1.0-alpha-5?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -121,8 +121,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.wagon/wagon-file@1.0-alpha-5", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-file/1.0-alpha-5/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-file/1.0-alpha-5/wagon-file-1.0-alpha-5.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-file/1.0-alpha-5/wagon-file-1.0-alpha-5.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-file/1.0-alpha-5/wagon-file-1.0-alpha-5.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.wagon/wagon-file@1.0-alpha-5" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-file/1.0-beta-2/wagon-file-1.0-beta-2.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-file/1.0-beta-2/wagon-file-1.0-beta-2.pom.package.json index 7e9499f2151..db01311922e 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-file/1.0-beta-2/wagon-file-1.0-beta-2.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-file/1.0-beta-2/wagon-file-1.0-beta-2.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.wagon/wagon-file@1.0-beta-2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.apache.maven.wagon/wagon-file@1.0-beta-2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-file/1.0-beta-2/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-file/1.0-beta-2/wagon-file-1.0-beta-2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-file/1.0-beta-2/wagon-file-1.0-beta-2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-file/1.0-beta-2/wagon-file-1.0-beta-2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.wagon/wagon-file@1.0-beta-2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-http-lightweight/1.0-alpha-5/wagon-http-lightweight-1.0-alpha-5.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-http-lightweight/1.0-alpha-5/wagon-http-lightweight-1.0-alpha-5.pom.package.json index c4f16bdf942..a73e5ea11e6 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-http-lightweight/1.0-alpha-5/wagon-http-lightweight-1.0-alpha-5.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-http-lightweight/1.0-alpha-5/wagon-http-lightweight-1.0-alpha-5.pom.package.json @@ -60,10 +60,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.wagon/wagon-http-lightweight@1.0-alpha-5?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -148,8 +148,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.wagon/wagon-http-lightweight@1.0-alpha-5", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-http-lightweight/1.0-alpha-5/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-http-lightweight/1.0-alpha-5/wagon-http-lightweight-1.0-alpha-5.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-http-lightweight/1.0-alpha-5/wagon-http-lightweight-1.0-alpha-5.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-http-lightweight/1.0-alpha-5/wagon-http-lightweight-1.0-alpha-5.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.wagon/wagon-http-lightweight@1.0-alpha-5" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-http-lightweight/1.0-beta-2/wagon-http-lightweight-1.0-beta-2.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-http-lightweight/1.0-beta-2/wagon-http-lightweight-1.0-beta-2.pom.package.json index 04ae45ee257..ff128fc344d 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-http-lightweight/1.0-beta-2/wagon-http-lightweight-1.0-beta-2.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-http-lightweight/1.0-beta-2/wagon-http-lightweight-1.0-beta-2.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.wagon/wagon-http-lightweight@1.0-beta-2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -58,8 +58,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.wagon/wagon-http-lightweight@1.0-beta-2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-http-lightweight/1.0-beta-2/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-http-lightweight/1.0-beta-2/wagon-http-lightweight-1.0-beta-2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-http-lightweight/1.0-beta-2/wagon-http-lightweight-1.0-beta-2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-http-lightweight/1.0-beta-2/wagon-http-lightweight-1.0-beta-2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.wagon/wagon-http-lightweight@1.0-beta-2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-http-shared/1.0-beta-2/wagon-http-shared-1.0-beta-2.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-http-shared/1.0-beta-2/wagon-http-shared-1.0-beta-2.pom.package.json index 5ba8cf7ba97..3e5c0686ffc 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-http-shared/1.0-beta-2/wagon-http-shared-1.0-beta-2.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-http-shared/1.0-beta-2/wagon-http-shared-1.0-beta-2.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.wagon/wagon-http-shared@1.0-beta-2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.wagon/wagon-http-shared@1.0-beta-2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-http-shared/1.0-beta-2/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-http-shared/1.0-beta-2/wagon-http-shared-1.0-beta-2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-http-shared/1.0-beta-2/wagon-http-shared-1.0-beta-2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-http-shared/1.0-beta-2/wagon-http-shared-1.0-beta-2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.wagon/wagon-http-shared@1.0-beta-2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/wagon-provider-api-1.0-alpha-5.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/wagon-provider-api-1.0-alpha-5.pom.package.json index 622508a2362..453240ba0aa 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/wagon-provider-api-1.0-alpha-5.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/wagon-provider-api-1.0-alpha-5.pom.package.json @@ -60,10 +60,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.wagon/wagon-provider-api@1.0-alpha-5?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -85,8 +85,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.wagon/wagon-provider-api@1.0-alpha-5", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/wagon-provider-api-1.0-alpha-5.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/wagon-provider-api-1.0-alpha-5.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/wagon-provider-api-1.0-alpha-5.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.wagon/wagon-provider-api@1.0-alpha-5" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-6/wagon-provider-api-1.0-alpha-6.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-6/wagon-provider-api-1.0-alpha-6.pom.package.json index 87e0e29028b..9d22f3c854f 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-6/wagon-provider-api-1.0-alpha-6.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-6/wagon-provider-api-1.0-alpha-6.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.wagon/wagon-provider-api@1.0-alpha-6?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.wagon/wagon-provider-api@1.0-alpha-6", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-6/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-6/wagon-provider-api-1.0-alpha-6.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-6/wagon-provider-api-1.0-alpha-6.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-6/wagon-provider-api-1.0-alpha-6.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.wagon/wagon-provider-api@1.0-alpha-6" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/wagon-provider-api-1.0-beta-2.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/wagon-provider-api-1.0-beta-2.pom.package.json index e00772f51a5..a0eb5f48265 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/wagon-provider-api-1.0-beta-2.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/wagon-provider-api-1.0-beta-2.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.wagon/wagon-provider-api@1.0-beta-2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.wagon/wagon-provider-api@1.0-beta-2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/wagon-provider-api-1.0-beta-2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/wagon-provider-api-1.0-beta-2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/wagon-provider-api-1.0-beta-2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.wagon/wagon-provider-api@1.0-beta-2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-providers/1.0-beta-2/wagon-providers-1.0-beta-2.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-providers/1.0-beta-2/wagon-providers-1.0-beta-2.pom.package.json index d9f82623484..9816a7d7d4b 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-providers/1.0-beta-2/wagon-providers-1.0-beta-2.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-providers/1.0-beta-2/wagon-providers-1.0-beta-2.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.wagon/wagon-providers@1.0-beta-2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -67,8 +67,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.wagon/wagon-providers@1.0-beta-2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-providers/1.0-beta-2/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-providers/1.0-beta-2/wagon-providers-1.0-beta-2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-providers/1.0-beta-2/wagon-providers-1.0-beta-2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-providers/1.0-beta-2/wagon-providers-1.0-beta-2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.wagon/wagon-providers@1.0-beta-2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-ssh-common/1.0-beta-2/wagon-ssh-common-1.0-beta-2.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-ssh-common/1.0-beta-2/wagon-ssh-common-1.0-beta-2.pom.package.json index be5c966dbad..9ed82d4a6b6 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-ssh-common/1.0-beta-2/wagon-ssh-common-1.0-beta-2.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-ssh-common/1.0-beta-2/wagon-ssh-common-1.0-beta-2.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.wagon/wagon-ssh-common@1.0-beta-2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -49,8 +49,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.wagon/wagon-ssh-common@1.0-beta-2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-ssh-common/1.0-beta-2/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-ssh-common/1.0-beta-2/wagon-ssh-common-1.0-beta-2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-ssh-common/1.0-beta-2/wagon-ssh-common-1.0-beta-2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-ssh-common/1.0-beta-2/wagon-ssh-common-1.0-beta-2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.wagon/wagon-ssh-common@1.0-beta-2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-ssh-external/1.0-beta-2/wagon-ssh-external-1.0-beta-2.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-ssh-external/1.0-beta-2/wagon-ssh-external-1.0-beta-2.pom.package.json index 7433b69b819..72312bca6be 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-ssh-external/1.0-beta-2/wagon-ssh-external-1.0-beta-2.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-ssh-external/1.0-beta-2/wagon-ssh-external-1.0-beta-2.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.wagon/wagon-ssh-external@1.0-beta-2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -58,8 +58,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.wagon/wagon-ssh-external@1.0-beta-2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-ssh-external/1.0-beta-2/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-ssh-external/1.0-beta-2/wagon-ssh-external-1.0-beta-2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-ssh-external/1.0-beta-2/wagon-ssh-external-1.0-beta-2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-ssh-external/1.0-beta-2/wagon-ssh-external-1.0-beta-2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.wagon/wagon-ssh-external@1.0-beta-2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-ssh/1.0-alpha-5/wagon-ssh-1.0-alpha-5.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-ssh/1.0-alpha-5/wagon-ssh-1.0-alpha-5.pom.package.json index 9dbbbdcbd3e..52a0eef2d4c 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-ssh/1.0-alpha-5/wagon-ssh-1.0-alpha-5.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-ssh/1.0-alpha-5/wagon-ssh-1.0-alpha-5.pom.package.json @@ -60,10 +60,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.wagon/wagon-ssh@1.0-alpha-5?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -148,8 +148,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.wagon/wagon-ssh@1.0-alpha-5", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-ssh/1.0-alpha-5/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-ssh/1.0-alpha-5/wagon-ssh-1.0-alpha-5.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-ssh/1.0-alpha-5/wagon-ssh-1.0-alpha-5.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-ssh/1.0-alpha-5/wagon-ssh-1.0-alpha-5.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.wagon/wagon-ssh@1.0-alpha-5" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-ssh/1.0-beta-2/wagon-ssh-1.0-beta-2.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-ssh/1.0-beta-2/wagon-ssh-1.0-beta-2.pom.package.json index 2879d682773..67a68a0751f 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-ssh/1.0-beta-2/wagon-ssh-1.0-beta-2.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-ssh/1.0-beta-2/wagon-ssh-1.0-beta-2.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.wagon/wagon-ssh@1.0-beta-2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -76,8 +76,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.wagon/wagon-ssh@1.0-beta-2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-ssh/1.0-beta-2/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-ssh/1.0-beta-2/wagon-ssh-1.0-beta-2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-ssh/1.0-beta-2/wagon-ssh-1.0-beta-2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-ssh/1.0-beta-2/wagon-ssh-1.0-beta-2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.wagon/wagon-ssh@1.0-beta-2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon/1.0-alpha-6/wagon-1.0-alpha-6.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon/1.0-alpha-6/wagon-1.0-alpha-6.pom.package.json index 0b0707a5127..40eaec53d5d 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon/1.0-alpha-6/wagon-1.0-alpha-6.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon/1.0-alpha-6/wagon-1.0-alpha-6.pom.package.json @@ -60,10 +60,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.wagon/wagon@1.0-alpha-6?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -121,8 +121,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.wagon/wagon@1.0-alpha-6", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon/1.0-alpha-6/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon/1.0-alpha-6/wagon-1.0-alpha-6.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon/1.0-alpha-6/wagon-1.0-alpha-6.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon/1.0-alpha-6/wagon-1.0-alpha-6.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.wagon/wagon@1.0-alpha-6" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon/1.0-beta-2/wagon-1.0-beta-2.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon/1.0-beta-2/wagon-1.0-beta-2.pom.package.json index c431eb9ea62..382de0cb149 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon/1.0-beta-2/wagon-1.0-beta-2.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon/1.0-beta-2/wagon-1.0-beta-2.pom.package.json @@ -32,10 +32,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.maven.wagon/wagon@1.0-beta-2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -120,8 +120,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.maven.wagon/wagon@1.0-beta-2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon/1.0-beta-2/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon/1.0-beta-2/wagon-1.0-beta-2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon/1.0-beta-2/wagon-1.0-beta-2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon/1.0-beta-2/wagon-1.0-beta-2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.maven.wagon/wagon@1.0-beta-2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/mina/build/1.1.1/build-1.1.1.pom.package.json b/tests/packagedcode/data/m2/org/apache/mina/build/1.1.1/build-1.1.1.pom.package.json index 6359f0ed729..de6ef66a453 100644 --- a/tests/packagedcode/data/m2/org/apache/mina/build/1.1.1/build-1.1.1.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/mina/build/1.1.1/build-1.1.1.pom.package.json @@ -39,10 +39,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.mina/build@1.1.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -55,8 +55,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.mina/build@1.1.1", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/mina/build/1.1.1/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/mina/build/1.1.1/build-1.1.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/mina/build/1.1.1/build-1.1.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/mina/build/1.1.1/build-1.1.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.mina/build@1.1.1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/mina/mina-core/1.1.1/mina-core-1.1.1.pom.package.json b/tests/packagedcode/data/m2/org/apache/mina/mina-core/1.1.1/mina-core-1.1.1.pom.package.json index d735322546c..6b9d67ccc7f 100644 --- a/tests/packagedcode/data/m2/org/apache/mina/mina-core/1.1.1/mina-core-1.1.1.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/mina/mina-core/1.1.1/mina-core-1.1.1.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.mina/mina-core@1.1.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -58,8 +58,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.mina/mina-core@1.1.1", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/mina/mina-core/1.1.1/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/mina/mina-core/1.1.1/mina-core-1.1.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/mina/mina-core/1.1.1/mina-core-1.1.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/mina/mina-core/1.1.1/mina-core-1.1.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.mina/mina-core@1.1.1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/myfaces/core/myfaces-api/1.1.5/myfaces-api-1.1.5.pom.package.json b/tests/packagedcode/data/m2/org/apache/myfaces/core/myfaces-api/1.1.5/myfaces-api-1.1.5.pom.package.json index 6c703faa4a1..fa337886303 100644 --- a/tests/packagedcode/data/m2/org/apache/myfaces/core/myfaces-api/1.1.5/myfaces-api-1.1.5.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/myfaces/core/myfaces-api/1.1.5/myfaces-api-1.1.5.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.myfaces.core/myfaces-api@1.1.5?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -130,8 +130,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.myfaces.core/myfaces-api@1.1.5", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/myfaces/core/myfaces-api/1.1.5/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/myfaces/core/myfaces-api/1.1.5/myfaces-api-1.1.5.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/myfaces/core/myfaces-api/1.1.5/myfaces-api-1.1.5.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/myfaces/core/myfaces-api/1.1.5/myfaces-api-1.1.5.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.myfaces.core/myfaces-api@1.1.5" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/myfaces/core/myfaces-core-project/1.1.5/myfaces-core-project-1.1.5.pom.package.json b/tests/packagedcode/data/m2/org/apache/myfaces/core/myfaces-core-project/1.1.5/myfaces-core-project-1.1.5.pom.package.json index 1c69f9d5d46..00f29252efb 100644 --- a/tests/packagedcode/data/m2/org/apache/myfaces/core/myfaces-core-project/1.1.5/myfaces-core-project-1.1.5.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/myfaces/core/myfaces-core-project/1.1.5/myfaces-core-project-1.1.5.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.myfaces.core/myfaces-core-project@1.1.5?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.apache.myfaces.core/myfaces-core-project@1.1.5", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/myfaces/core/myfaces-core-project/1.1.5/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/myfaces/core/myfaces-core-project/1.1.5/myfaces-core-project-1.1.5.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/myfaces/core/myfaces-core-project/1.1.5/myfaces-core-project-1.1.5.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/myfaces/core/myfaces-core-project/1.1.5/myfaces-core-project-1.1.5.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.myfaces.core/myfaces-core-project@1.1.5" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/myfaces/core/myfaces-impl/1.1.5/myfaces-impl-1.1.5.pom.package.json b/tests/packagedcode/data/m2/org/apache/myfaces/core/myfaces-impl/1.1.5/myfaces-impl-1.1.5.pom.package.json index 9aab378d0f9..50a263d00ea 100644 --- a/tests/packagedcode/data/m2/org/apache/myfaces/core/myfaces-impl/1.1.5/myfaces-impl-1.1.5.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/myfaces/core/myfaces-impl/1.1.5/myfaces-impl-1.1.5.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.myfaces.core/myfaces-impl@1.1.5?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -130,8 +130,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.myfaces.core/myfaces-impl@1.1.5", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/myfaces/core/myfaces-impl/1.1.5/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/myfaces/core/myfaces-impl/1.1.5/myfaces-impl-1.1.5.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/myfaces/core/myfaces-impl/1.1.5/myfaces-impl-1.1.5.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/myfaces/core/myfaces-impl/1.1.5/myfaces-impl-1.1.5.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.myfaces.core/myfaces-impl@1.1.5" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/myfaces/maven/myfaces-master/1.0.5/myfaces-master-1.0.5.pom.package.json b/tests/packagedcode/data/m2/org/apache/myfaces/maven/myfaces-master/1.0.5/myfaces-master-1.0.5.pom.package.json index 3e6d43a146f..9e4c532b22e 100644 --- a/tests/packagedcode/data/m2/org/apache/myfaces/maven/myfaces-master/1.0.5/myfaces-master-1.0.5.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/myfaces/maven/myfaces-master/1.0.5/myfaces-master-1.0.5.pom.package.json @@ -298,10 +298,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.myfaces.maven/myfaces-master@1.0.5?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -314,8 +314,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.myfaces.maven/myfaces-master@1.0.5", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/myfaces/maven/myfaces-master/1.0.5/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/myfaces/maven/myfaces-master/1.0.5/myfaces-master-1.0.5.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/myfaces/maven/myfaces-master/1.0.5/myfaces-master-1.0.5.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/myfaces/maven/myfaces-master/1.0.5/myfaces-master-1.0.5.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.myfaces.maven/myfaces-master@1.0.5" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/myfaces/tomahawk/tomahawk-project/1.1.5/tomahawk-project-1.1.5.pom.package.json b/tests/packagedcode/data/m2/org/apache/myfaces/tomahawk/tomahawk-project/1.1.5/tomahawk-project-1.1.5.pom.package.json index d8bf72c7b36..e02586b1e72 100644 --- a/tests/packagedcode/data/m2/org/apache/myfaces/tomahawk/tomahawk-project/1.1.5/tomahawk-project-1.1.5.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/myfaces/tomahawk/tomahawk-project/1.1.5/tomahawk-project-1.1.5.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.myfaces.tomahawk/tomahawk-project@1.1.5?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -58,8 +58,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.myfaces.tomahawk/tomahawk-project@1.1.5", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/myfaces/tomahawk/tomahawk-project/1.1.5/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/myfaces/tomahawk/tomahawk-project/1.1.5/tomahawk-project-1.1.5.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/myfaces/tomahawk/tomahawk-project/1.1.5/tomahawk-project-1.1.5.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/myfaces/tomahawk/tomahawk-project/1.1.5/tomahawk-project-1.1.5.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.myfaces.tomahawk/tomahawk-project@1.1.5" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/myfaces/tomahawk/tomahawk/1.1.5/tomahawk-1.1.5.pom.package.json b/tests/packagedcode/data/m2/org/apache/myfaces/tomahawk/tomahawk/1.1.5/tomahawk-1.1.5.pom.package.json index a48074aab8a..3566292f113 100644 --- a/tests/packagedcode/data/m2/org/apache/myfaces/tomahawk/tomahawk/1.1.5/tomahawk-1.1.5.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/myfaces/tomahawk/tomahawk/1.1.5/tomahawk-1.1.5.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.myfaces.tomahawk/tomahawk@1.1.5?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -247,8 +247,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.myfaces.tomahawk/tomahawk@1.1.5", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/myfaces/tomahawk/tomahawk/1.1.5/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/myfaces/tomahawk/tomahawk/1.1.5/tomahawk-1.1.5.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/myfaces/tomahawk/tomahawk/1.1.5/tomahawk-1.1.5.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/myfaces/tomahawk/tomahawk/1.1.5/tomahawk-1.1.5.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.myfaces.tomahawk/tomahawk@1.1.5" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/shale/shale-master/2/shale-master-2.pom.package.json b/tests/packagedcode/data/m2/org/apache/shale/shale-master/2/shale-master-2.pom.package.json index 4f15970aec5..5cefdd3b944 100644 --- a/tests/packagedcode/data/m2/org/apache/shale/shale-master/2/shale-master-2.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/shale/shale-master/2/shale-master-2.pom.package.json @@ -312,14 +312,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.shale/shale-master@2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.apache.shale/shale-master@2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/shale/shale-master/2/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/shale/shale-master/2/shale-master-2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/shale/shale-master/2/shale-master-2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/shale/shale-master/2/shale-master-2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.shale/shale-master@2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/shale/shale-parent/1.0.4/shale-parent-1.0.4.pom.package.json b/tests/packagedcode/data/m2/org/apache/shale/shale-parent/1.0.4/shale-parent-1.0.4.pom.package.json index c0777876b16..f5731d26ace 100644 --- a/tests/packagedcode/data/m2/org/apache/shale/shale-parent/1.0.4/shale-parent-1.0.4.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/shale/shale-parent/1.0.4/shale-parent-1.0.4.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.shale/shale-parent@1.0.4?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -157,8 +157,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.shale/shale-parent@1.0.4", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/shale/shale-parent/1.0.4/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/shale/shale-parent/1.0.4/shale-parent-1.0.4.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/shale/shale-parent/1.0.4/shale-parent-1.0.4.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/shale/shale-parent/1.0.4/shale-parent-1.0.4.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.shale/shale-parent@1.0.4" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/shale/shale-test/1.0.4/shale-test-1.0.4.pom.package.json b/tests/packagedcode/data/m2/org/apache/shale/shale-test/1.0.4/shale-test-1.0.4.pom.package.json index 289779a2d8b..f92d5cc1a4f 100644 --- a/tests/packagedcode/data/m2/org/apache/shale/shale-test/1.0.4/shale-test-1.0.4.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/shale/shale-test/1.0.4/shale-test-1.0.4.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.shale/shale-test@1.0.4?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -85,8 +85,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.shale/shale-test@1.0.4", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/shale/shale-test/1.0.4/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/shale/shale-test/1.0.4/shale-test-1.0.4.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/shale/shale-test/1.0.4/shale-test-1.0.4.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/shale/shale-test/1.0.4/shale-test-1.0.4.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.shale/shale-test@1.0.4" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/apache/velocity/velocity/1.5/velocity-1.5.pom.package.json b/tests/packagedcode/data/m2/org/apache/velocity/velocity/1.5/velocity-1.5.pom.package.json index 8ab4feaacb7..7d021883cf1 100644 --- a/tests/packagedcode/data/m2/org/apache/velocity/velocity/1.5/velocity-1.5.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/velocity/velocity/1.5/velocity-1.5.pom.package.json @@ -74,10 +74,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.velocity/velocity@1.5?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -162,8 +162,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.velocity/velocity@1.5", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/velocity/velocity/1.5/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/velocity/velocity/1.5/velocity-1.5.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/velocity/velocity/1.5/velocity-1.5.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/velocity/velocity/1.5/velocity-1.5.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.velocity/velocity@1.5" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/aspectj/aspectjrt/1.5.4/aspectjrt-1.5.4.pom.package.json b/tests/packagedcode/data/m2/org/aspectj/aspectjrt/1.5.4/aspectjrt-1.5.4.pom.package.json index 8131378be1d..ae2f74136b4 100644 --- a/tests/packagedcode/data/m2/org/aspectj/aspectjrt/1.5.4/aspectjrt-1.5.4.pom.package.json +++ b/tests/packagedcode/data/m2/org/aspectj/aspectjrt/1.5.4/aspectjrt-1.5.4.pom.package.json @@ -31,14 +31,15 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.aspectj/aspectjrt@1.5.4?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.aspectj/aspectjrt@1.5.4", "repository_homepage_url": "https://repo1.maven.org/maven2/org/aspectj/aspectjrt/1.5.4/", "repository_download_url": "https://repo1.maven.org/maven2/org/aspectj/aspectjrt/1.5.4/aspectjrt-1.5.4.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/aspectj/aspectjrt/1.5.4/aspectjrt-1.5.4.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/aspectj/aspectjrt/1.5.4/aspectjrt-1.5.4.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.aspectj/aspectjrt@1.5.4" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/aspectj/aspectjrt/1.6.0/aspectjrt-1.6.0.pom.package.json b/tests/packagedcode/data/m2/org/aspectj/aspectjrt/1.6.0/aspectjrt-1.6.0.pom.package.json index 1f99d9cf84f..8ed07912fb0 100644 --- a/tests/packagedcode/data/m2/org/aspectj/aspectjrt/1.6.0/aspectjrt-1.6.0.pom.package.json +++ b/tests/packagedcode/data/m2/org/aspectj/aspectjrt/1.6.0/aspectjrt-1.6.0.pom.package.json @@ -31,14 +31,15 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.aspectj/aspectjrt@1.6.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.aspectj/aspectjrt@1.6.0", "repository_homepage_url": "https://repo1.maven.org/maven2/org/aspectj/aspectjrt/1.6.0/", "repository_download_url": "https://repo1.maven.org/maven2/org/aspectj/aspectjrt/1.6.0/aspectjrt-1.6.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/aspectj/aspectjrt/1.6.0/aspectjrt-1.6.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/aspectj/aspectjrt/1.6.0/aspectjrt-1.6.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.aspectj/aspectjrt@1.6.0" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/aspectj/aspectjtools/1.5.4/aspectjtools-1.5.4.pom.package.json b/tests/packagedcode/data/m2/org/aspectj/aspectjtools/1.5.4/aspectjtools-1.5.4.pom.package.json index 367ca694fe9..1cad23d1734 100644 --- a/tests/packagedcode/data/m2/org/aspectj/aspectjtools/1.5.4/aspectjtools-1.5.4.pom.package.json +++ b/tests/packagedcode/data/m2/org/aspectj/aspectjtools/1.5.4/aspectjtools-1.5.4.pom.package.json @@ -31,14 +31,15 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.aspectj/aspectjtools@1.5.4?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.aspectj/aspectjtools@1.5.4", "repository_homepage_url": "https://repo1.maven.org/maven2/org/aspectj/aspectjtools/1.5.4/", "repository_download_url": "https://repo1.maven.org/maven2/org/aspectj/aspectjtools/1.5.4/aspectjtools-1.5.4.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/aspectj/aspectjtools/1.5.4/aspectjtools-1.5.4.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/aspectj/aspectjtools/1.5.4/aspectjtools-1.5.4.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.aspectj/aspectjtools@1.5.4" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/aspectj/aspectjtools/1.6.0/aspectjtools-1.6.0.pom.package.json b/tests/packagedcode/data/m2/org/aspectj/aspectjtools/1.6.0/aspectjtools-1.6.0.pom.package.json index c684348caf2..52e6ca85cff 100644 --- a/tests/packagedcode/data/m2/org/aspectj/aspectjtools/1.6.0/aspectjtools-1.6.0.pom.package.json +++ b/tests/packagedcode/data/m2/org/aspectj/aspectjtools/1.6.0/aspectjtools-1.6.0.pom.package.json @@ -31,14 +31,15 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.aspectj/aspectjtools@1.6.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.aspectj/aspectjtools@1.6.0", "repository_homepage_url": "https://repo1.maven.org/maven2/org/aspectj/aspectjtools/1.6.0/", "repository_download_url": "https://repo1.maven.org/maven2/org/aspectj/aspectjtools/1.6.0/aspectjtools-1.6.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/aspectj/aspectjtools/1.6.0/aspectjtools-1.6.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/aspectj/aspectjtools/1.6.0/aspectjtools-1.6.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.aspectj/aspectjtools@1.6.0" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/aspectj/aspectjweaver/1.5.4/aspectjweaver-1.5.4.pom.package.json b/tests/packagedcode/data/m2/org/aspectj/aspectjweaver/1.5.4/aspectjweaver-1.5.4.pom.package.json index d322be99266..f1b4a727a7d 100644 --- a/tests/packagedcode/data/m2/org/aspectj/aspectjweaver/1.5.4/aspectjweaver-1.5.4.pom.package.json +++ b/tests/packagedcode/data/m2/org/aspectj/aspectjweaver/1.5.4/aspectjweaver-1.5.4.pom.package.json @@ -31,14 +31,15 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.aspectj/aspectjweaver@1.5.4?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.aspectj/aspectjweaver@1.5.4", "repository_homepage_url": "https://repo1.maven.org/maven2/org/aspectj/aspectjweaver/1.5.4/", "repository_download_url": "https://repo1.maven.org/maven2/org/aspectj/aspectjweaver/1.5.4/aspectjweaver-1.5.4.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/aspectj/aspectjweaver/1.5.4/aspectjweaver-1.5.4.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/aspectj/aspectjweaver/1.5.4/aspectjweaver-1.5.4.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.aspectj/aspectjweaver@1.5.4" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/aspectj/aspectjweaver/1.6.0/aspectjweaver-1.6.0.pom.package.json b/tests/packagedcode/data/m2/org/aspectj/aspectjweaver/1.6.0/aspectjweaver-1.6.0.pom.package.json index fbc43365bfb..ac4aa45c0a5 100644 --- a/tests/packagedcode/data/m2/org/aspectj/aspectjweaver/1.6.0/aspectjweaver-1.6.0.pom.package.json +++ b/tests/packagedcode/data/m2/org/aspectj/aspectjweaver/1.6.0/aspectjweaver-1.6.0.pom.package.json @@ -31,14 +31,15 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.aspectj/aspectjweaver@1.6.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.aspectj/aspectjweaver@1.6.0", "repository_homepage_url": "https://repo1.maven.org/maven2/org/aspectj/aspectjweaver/1.6.0/", "repository_download_url": "https://repo1.maven.org/maven2/org/aspectj/aspectjweaver/1.6.0/aspectjweaver-1.6.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/aspectj/aspectjweaver/1.6.0/aspectjweaver-1.6.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/aspectj/aspectjweaver/1.6.0/aspectjweaver-1.6.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.aspectj/aspectjweaver@1.6.0" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/bouncycastle/bcprov/1.37/bcprov-1.37.pom.package.json b/tests/packagedcode/data/m2/org/bouncycastle/bcprov/1.37/bcprov-1.37.pom.package.json index 0a5bf2f9df0..beaeec022f4 100644 --- a/tests/packagedcode/data/m2/org/bouncycastle/bcprov/1.37/bcprov-1.37.pom.package.json +++ b/tests/packagedcode/data/m2/org/bouncycastle/bcprov/1.37/bcprov-1.37.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.bouncycastle/bcprov@1.37?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.bouncycastle/bcprov@1.37", "repository_homepage_url": "https://repo1.maven.org/maven2/org/bouncycastle/bcprov/1.37/", "repository_download_url": "https://repo1.maven.org/maven2/org/bouncycastle/bcprov/1.37/bcprov-1.37.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/bouncycastle/bcprov/1.37/bcprov-1.37.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/bouncycastle/bcprov/1.37/bcprov-1.37.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.bouncycastle/bcprov@1.37" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/cargo/cargo-extensions-maven2/1.0-SNAPSHOT/cargo-extensions-maven2-1.0-20090219.165735-19.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/cargo/cargo-extensions-maven2/1.0-SNAPSHOT/cargo-extensions-maven2-1.0-20090219.165735-19.pom.package.json index d8d571373b0..340b413a3f3 100644 --- a/tests/packagedcode/data/m2/org/codehaus/cargo/cargo-extensions-maven2/1.0-SNAPSHOT/cargo-extensions-maven2-1.0-20090219.165735-19.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/cargo/cargo-extensions-maven2/1.0-SNAPSHOT/cargo-extensions-maven2-1.0-20090219.165735-19.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.cargo/cargo-extensions-maven2@1.0-SNAPSHOT?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.codehaus.cargo/cargo-extensions-maven2@1.0-SNAPSHOT", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/cargo/cargo-extensions-maven2/1.0-SNAPSHOT/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/cargo/cargo-extensions-maven2/1.0-SNAPSHOT/cargo-extensions-maven2-1.0-SNAPSHOT.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/cargo/cargo-extensions-maven2/1.0-SNAPSHOT/cargo-extensions-maven2-1.0-SNAPSHOT.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/cargo/cargo-extensions-maven2/1.0-SNAPSHOT/cargo-extensions-maven2-1.0-SNAPSHOT.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.cargo/cargo-extensions-maven2@1.0-SNAPSHOT" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/cargo/cargo-extensions-maven2/1.0-SNAPSHOT/cargo-extensions-maven2-1.0-SNAPSHOT.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/cargo/cargo-extensions-maven2/1.0-SNAPSHOT/cargo-extensions-maven2-1.0-SNAPSHOT.pom.package.json index d8d571373b0..340b413a3f3 100644 --- a/tests/packagedcode/data/m2/org/codehaus/cargo/cargo-extensions-maven2/1.0-SNAPSHOT/cargo-extensions-maven2-1.0-SNAPSHOT.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/cargo/cargo-extensions-maven2/1.0-SNAPSHOT/cargo-extensions-maven2-1.0-SNAPSHOT.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.cargo/cargo-extensions-maven2@1.0-SNAPSHOT?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.codehaus.cargo/cargo-extensions-maven2@1.0-SNAPSHOT", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/cargo/cargo-extensions-maven2/1.0-SNAPSHOT/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/cargo/cargo-extensions-maven2/1.0-SNAPSHOT/cargo-extensions-maven2-1.0-SNAPSHOT.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/cargo/cargo-extensions-maven2/1.0-SNAPSHOT/cargo-extensions-maven2-1.0-SNAPSHOT.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/cargo/cargo-extensions-maven2/1.0-SNAPSHOT/cargo-extensions-maven2-1.0-SNAPSHOT.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.cargo/cargo-extensions-maven2@1.0-SNAPSHOT" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/cargo/cargo-extensions/1.0-SNAPSHOT/cargo-extensions-1.0-20090219.165735-20.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/cargo/cargo-extensions/1.0-SNAPSHOT/cargo-extensions-1.0-20090219.165735-20.pom.package.json index d5bf4c437e5..4a5a42c3e46 100644 --- a/tests/packagedcode/data/m2/org/codehaus/cargo/cargo-extensions/1.0-SNAPSHOT/cargo-extensions-1.0-20090219.165735-20.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/cargo/cargo-extensions/1.0-SNAPSHOT/cargo-extensions-1.0-20090219.165735-20.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.cargo/cargo-extensions@1.0-SNAPSHOT?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -130,8 +130,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.cargo/cargo-extensions@1.0-SNAPSHOT", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/cargo/cargo-extensions/1.0-SNAPSHOT/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/cargo/cargo-extensions/1.0-SNAPSHOT/cargo-extensions-1.0-SNAPSHOT.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/cargo/cargo-extensions/1.0-SNAPSHOT/cargo-extensions-1.0-SNAPSHOT.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/cargo/cargo-extensions/1.0-SNAPSHOT/cargo-extensions-1.0-SNAPSHOT.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.cargo/cargo-extensions@1.0-SNAPSHOT" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/cargo/cargo-extensions/1.0-SNAPSHOT/cargo-extensions-1.0-SNAPSHOT.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/cargo/cargo-extensions/1.0-SNAPSHOT/cargo-extensions-1.0-SNAPSHOT.pom.package.json index d5bf4c437e5..4a5a42c3e46 100644 --- a/tests/packagedcode/data/m2/org/codehaus/cargo/cargo-extensions/1.0-SNAPSHOT/cargo-extensions-1.0-SNAPSHOT.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/cargo/cargo-extensions/1.0-SNAPSHOT/cargo-extensions-1.0-SNAPSHOT.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.cargo/cargo-extensions@1.0-SNAPSHOT?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -130,8 +130,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.cargo/cargo-extensions@1.0-SNAPSHOT", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/cargo/cargo-extensions/1.0-SNAPSHOT/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/cargo/cargo-extensions/1.0-SNAPSHOT/cargo-extensions-1.0-SNAPSHOT.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/cargo/cargo-extensions/1.0-SNAPSHOT/cargo-extensions-1.0-SNAPSHOT.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/cargo/cargo-extensions/1.0-SNAPSHOT/cargo-extensions-1.0-SNAPSHOT.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.cargo/cargo-extensions@1.0-SNAPSHOT" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/cargo/cargo-maven2-plugin/1.0-SNAPSHOT/cargo-maven2-plugin-1.0-20090219.165735-19.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/cargo/cargo-maven2-plugin/1.0-SNAPSHOT/cargo-maven2-plugin-1.0-20090219.165735-19.pom.package.json index 11da191b1c8..94eea51d6f7 100644 --- a/tests/packagedcode/data/m2/org/codehaus/cargo/cargo-maven2-plugin/1.0-SNAPSHOT/cargo-maven2-plugin-1.0-20090219.165735-19.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/cargo/cargo-maven2-plugin/1.0-SNAPSHOT/cargo-maven2-plugin-1.0-20090219.165735-19.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.cargo/cargo-maven2-plugin@1.0-SNAPSHOT?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -94,8 +94,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.cargo/cargo-maven2-plugin@1.0-SNAPSHOT", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/cargo/cargo-maven2-plugin/1.0-SNAPSHOT/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/cargo/cargo-maven2-plugin/1.0-SNAPSHOT/cargo-maven2-plugin-1.0-SNAPSHOT.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/cargo/cargo-maven2-plugin/1.0-SNAPSHOT/cargo-maven2-plugin-1.0-SNAPSHOT.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/cargo/cargo-maven2-plugin/1.0-SNAPSHOT/cargo-maven2-plugin-1.0-SNAPSHOT.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.cargo/cargo-maven2-plugin@1.0-SNAPSHOT" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/cargo/cargo-maven2-plugin/1.0-SNAPSHOT/cargo-maven2-plugin-1.0-SNAPSHOT.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/cargo/cargo-maven2-plugin/1.0-SNAPSHOT/cargo-maven2-plugin-1.0-SNAPSHOT.pom.package.json index 11da191b1c8..94eea51d6f7 100644 --- a/tests/packagedcode/data/m2/org/codehaus/cargo/cargo-maven2-plugin/1.0-SNAPSHOT/cargo-maven2-plugin-1.0-SNAPSHOT.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/cargo/cargo-maven2-plugin/1.0-SNAPSHOT/cargo-maven2-plugin-1.0-SNAPSHOT.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.cargo/cargo-maven2-plugin@1.0-SNAPSHOT?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -94,8 +94,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.cargo/cargo-maven2-plugin@1.0-SNAPSHOT", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/cargo/cargo-maven2-plugin/1.0-SNAPSHOT/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/cargo/cargo-maven2-plugin/1.0-SNAPSHOT/cargo-maven2-plugin-1.0-SNAPSHOT.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/cargo/cargo-maven2-plugin/1.0-SNAPSHOT/cargo-maven2-plugin-1.0-SNAPSHOT.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/cargo/cargo-maven2-plugin/1.0-SNAPSHOT/cargo-maven2-plugin-1.0-SNAPSHOT.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.cargo/cargo-maven2-plugin@1.0-SNAPSHOT" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/cargo/cargo-parent/4.2-SNAPSHOT/cargo-parent-4.2-20090219.165735-12.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/cargo/cargo-parent/4.2-SNAPSHOT/cargo-parent-4.2-20090219.165735-12.pom.package.json index b3a1e1b5f59..799a139adfa 100644 --- a/tests/packagedcode/data/m2/org/codehaus/cargo/cargo-parent/4.2-SNAPSHOT/cargo-parent-4.2-20090219.165735-12.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/cargo/cargo-parent/4.2-SNAPSHOT/cargo-parent-4.2-20090219.165735-12.pom.package.json @@ -249,14 +249,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.cargo/cargo-parent@4.2-SNAPSHOT?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.codehaus.cargo/cargo-parent@4.2-SNAPSHOT", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/cargo/cargo-parent/4.2-SNAPSHOT/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/cargo/cargo-parent/4.2-SNAPSHOT/cargo-parent-4.2-SNAPSHOT.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/cargo/cargo-parent/4.2-SNAPSHOT/cargo-parent-4.2-SNAPSHOT.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/cargo/cargo-parent/4.2-SNAPSHOT/cargo-parent-4.2-SNAPSHOT.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.cargo/cargo-parent@4.2-SNAPSHOT" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/cargo/cargo-parent/4.2-SNAPSHOT/cargo-parent-4.2-SNAPSHOT.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/cargo/cargo-parent/4.2-SNAPSHOT/cargo-parent-4.2-SNAPSHOT.pom.package.json index b3a1e1b5f59..799a139adfa 100644 --- a/tests/packagedcode/data/m2/org/codehaus/cargo/cargo-parent/4.2-SNAPSHOT/cargo-parent-4.2-SNAPSHOT.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/cargo/cargo-parent/4.2-SNAPSHOT/cargo-parent-4.2-SNAPSHOT.pom.package.json @@ -249,14 +249,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.cargo/cargo-parent@4.2-SNAPSHOT?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.codehaus.cargo/cargo-parent@4.2-SNAPSHOT", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/cargo/cargo-parent/4.2-SNAPSHOT/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/cargo/cargo-parent/4.2-SNAPSHOT/cargo-parent-4.2-SNAPSHOT.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/cargo/cargo-parent/4.2-SNAPSHOT/cargo-parent-4.2-SNAPSHOT.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/cargo/cargo-parent/4.2-SNAPSHOT/cargo-parent-4.2-SNAPSHOT.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.cargo/cargo-parent@4.2-SNAPSHOT" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/mojo/aspectj-maven-plugin/1.0/aspectj-maven-plugin-1.0.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/mojo/aspectj-maven-plugin/1.0/aspectj-maven-plugin-1.0.pom.package.json index 4a6a5e73216..1ef280dd4a1 100644 --- a/tests/packagedcode/data/m2/org/codehaus/mojo/aspectj-maven-plugin/1.0/aspectj-maven-plugin-1.0.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/mojo/aspectj-maven-plugin/1.0/aspectj-maven-plugin-1.0.pom.package.json @@ -46,10 +46,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.mojo/aspectj-maven-plugin@1.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -134,8 +134,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.mojo/aspectj-maven-plugin@1.0", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/aspectj-maven-plugin/1.0/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/aspectj-maven-plugin/1.0/aspectj-maven-plugin-1.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/aspectj-maven-plugin/1.0/aspectj-maven-plugin-1.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/aspectj-maven-plugin/1.0/aspectj-maven-plugin-1.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.mojo/aspectj-maven-plugin@1.0" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/mojo/build-helper-maven-plugin/1.2-SNAPSHOT/build-helper-maven-plugin-1.2-20080813.143116-6.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/mojo/build-helper-maven-plugin/1.2-SNAPSHOT/build-helper-maven-plugin-1.2-20080813.143116-6.pom.package.json index ec4be8e8c62..5ccf384745f 100644 --- a/tests/packagedcode/data/m2/org/codehaus/mojo/build-helper-maven-plugin/1.2-SNAPSHOT/build-helper-maven-plugin-1.2-20080813.143116-6.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/mojo/build-helper-maven-plugin/1.2-SNAPSHOT/build-helper-maven-plugin-1.2-20080813.143116-6.pom.package.json @@ -39,10 +39,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.mojo/build-helper-maven-plugin@1.2-SNAPSHOT?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -82,8 +82,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.mojo/build-helper-maven-plugin@1.2-SNAPSHOT", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/build-helper-maven-plugin/1.2-SNAPSHOT/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/build-helper-maven-plugin/1.2-SNAPSHOT/build-helper-maven-plugin-1.2-SNAPSHOT.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/build-helper-maven-plugin/1.2-SNAPSHOT/build-helper-maven-plugin-1.2-SNAPSHOT.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/build-helper-maven-plugin/1.2-SNAPSHOT/build-helper-maven-plugin-1.2-SNAPSHOT.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.mojo/build-helper-maven-plugin@1.2-SNAPSHOT" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/mojo/build-helper-maven-plugin/1.2-SNAPSHOT/build-helper-maven-plugin-1.2-SNAPSHOT.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/mojo/build-helper-maven-plugin/1.2-SNAPSHOT/build-helper-maven-plugin-1.2-SNAPSHOT.pom.package.json index ec4be8e8c62..5ccf384745f 100644 --- a/tests/packagedcode/data/m2/org/codehaus/mojo/build-helper-maven-plugin/1.2-SNAPSHOT/build-helper-maven-plugin-1.2-SNAPSHOT.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/mojo/build-helper-maven-plugin/1.2-SNAPSHOT/build-helper-maven-plugin-1.2-SNAPSHOT.pom.package.json @@ -39,10 +39,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.mojo/build-helper-maven-plugin@1.2-SNAPSHOT?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -82,8 +82,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.mojo/build-helper-maven-plugin@1.2-SNAPSHOT", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/build-helper-maven-plugin/1.2-SNAPSHOT/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/build-helper-maven-plugin/1.2-SNAPSHOT/build-helper-maven-plugin-1.2-SNAPSHOT.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/build-helper-maven-plugin/1.2-SNAPSHOT/build-helper-maven-plugin-1.2-SNAPSHOT.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/build-helper-maven-plugin/1.2-SNAPSHOT/build-helper-maven-plugin-1.2-SNAPSHOT.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.mojo/build-helper-maven-plugin@1.2-SNAPSHOT" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/mojo/cobertura-maven-plugin/2.2/cobertura-maven-plugin-2.2.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/mojo/cobertura-maven-plugin/2.2/cobertura-maven-plugin-2.2.pom.package.json index cc0ddc1560c..2a0f9a362bb 100644 --- a/tests/packagedcode/data/m2/org/codehaus/mojo/cobertura-maven-plugin/2.2/cobertura-maven-plugin-2.2.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/mojo/cobertura-maven-plugin/2.2/cobertura-maven-plugin-2.2.pom.package.json @@ -53,10 +53,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.mojo/cobertura-maven-plugin@2.2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -177,8 +177,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.mojo/cobertura-maven-plugin@2.2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/cobertura-maven-plugin/2.2/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/cobertura-maven-plugin/2.2/cobertura-maven-plugin-2.2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/cobertura-maven-plugin/2.2/cobertura-maven-plugin-2.2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/cobertura-maven-plugin/2.2/cobertura-maven-plugin-2.2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.mojo/cobertura-maven-plugin@2.2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/mojo/findbugs-maven-plugin/1.1.1/findbugs-maven-plugin-1.1.1.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/mojo/findbugs-maven-plugin/1.1.1/findbugs-maven-plugin-1.1.1.pom.package.json index 94a798c4b27..73a305acf57 100644 --- a/tests/packagedcode/data/m2/org/codehaus/mojo/findbugs-maven-plugin/1.1.1/findbugs-maven-plugin-1.1.1.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/mojo/findbugs-maven-plugin/1.1.1/findbugs-maven-plugin-1.1.1.pom.package.json @@ -60,10 +60,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -112,8 +112,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/findbugs-maven-plugin/1.1.1/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/findbugs-maven-plugin/1.1.1/findbugs-maven-plugin-1.1.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/findbugs-maven-plugin/1.1.1/findbugs-maven-plugin-1.1.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/findbugs-maven-plugin/1.1.1/findbugs-maven-plugin-1.1.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/mojo/maven-buildnumber-plugin/0.9.6/maven-buildnumber-plugin-0.9.6.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/mojo/maven-buildnumber-plugin/0.9.6/maven-buildnumber-plugin-0.9.6.pom.package.json index f0a3d8b065c..7f91461cb2f 100644 --- a/tests/packagedcode/data/m2/org/codehaus/mojo/maven-buildnumber-plugin/0.9.6/maven-buildnumber-plugin-0.9.6.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/mojo/maven-buildnumber-plugin/0.9.6/maven-buildnumber-plugin-0.9.6.pom.package.json @@ -39,10 +39,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.mojo/maven-buildnumber-plugin@0.9.6?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -136,8 +136,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.mojo/maven-buildnumber-plugin@0.9.6", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/maven-buildnumber-plugin/0.9.6/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/maven-buildnumber-plugin/0.9.6/maven-buildnumber-plugin-0.9.6.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/maven-buildnumber-plugin/0.9.6/maven-buildnumber-plugin-0.9.6.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/maven-buildnumber-plugin/0.9.6/maven-buildnumber-plugin-0.9.6.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.mojo/maven-buildnumber-plugin@0.9.6" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/mojo/mojo-sandbox/2/mojo-sandbox-2.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/mojo/mojo-sandbox/2/mojo-sandbox-2.pom.package.json index 0b90a7b28f9..2217e9b68df 100644 --- a/tests/packagedcode/data/m2/org/codehaus/mojo/mojo-sandbox/2/mojo-sandbox-2.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/mojo/mojo-sandbox/2/mojo-sandbox-2.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.mojo/mojo-sandbox@2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.codehaus.mojo/mojo-sandbox@2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/mojo-sandbox/2/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/mojo-sandbox/2/mojo-sandbox-2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/mojo-sandbox/2/mojo-sandbox-2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/mojo-sandbox/2/mojo-sandbox-2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.mojo/mojo-sandbox@2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/mojo/mojo/11/mojo-11.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/mojo/mojo/11/mojo-11.pom.package.json index 5d671bfc5ba..8529256f619 100644 --- a/tests/packagedcode/data/m2/org/codehaus/mojo/mojo/11/mojo-11.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/mojo/mojo/11/mojo-11.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.mojo/mojo@11?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -49,8 +49,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.mojo/mojo@11", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/mojo/11/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/mojo/11/mojo-11.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/mojo/11/mojo-11.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/mojo/11/mojo-11.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.mojo/mojo@11" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/mojo/mojo/12/mojo-12.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/mojo/mojo/12/mojo-12.pom.package.json index d439c813115..2631b10d585 100644 --- a/tests/packagedcode/data/m2/org/codehaus/mojo/mojo/12/mojo-12.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/mojo/mojo/12/mojo-12.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.mojo/mojo@12?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -49,8 +49,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.mojo/mojo@12", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/mojo/12/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/mojo/12/mojo-12.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/mojo/12/mojo-12.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/mojo/12/mojo-12.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.mojo/mojo@12" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/mojo/mojo/14/mojo-14.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/mojo/mojo/14/mojo-14.pom.package.json index f816fa8680f..94ef5ee64ea 100644 --- a/tests/packagedcode/data/m2/org/codehaus/mojo/mojo/14/mojo-14.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/mojo/mojo/14/mojo-14.pom.package.json @@ -32,10 +32,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.mojo/mojo@14?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -57,8 +57,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.mojo/mojo@14", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/mojo/14/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/mojo/14/mojo-14.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/mojo/14/mojo-14.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/mojo/14/mojo-14.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.mojo/mojo@14" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/mojo/mojo/16/mojo-16.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/mojo/mojo/16/mojo-16.pom.package.json index 01eef8050d5..2796fef9099 100644 --- a/tests/packagedcode/data/m2/org/codehaus/mojo/mojo/16/mojo-16.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/mojo/mojo/16/mojo-16.pom.package.json @@ -32,10 +32,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.mojo/mojo@16?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -57,8 +57,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.mojo/mojo@16", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/mojo/16/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/mojo/16/mojo-16.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/mojo/16/mojo-16.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/mojo/16/mojo-16.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.mojo/mojo@16" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/mojo/mojo/17/mojo-17.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/mojo/mojo/17/mojo-17.pom.package.json index c64a18a129d..08c1f09f528 100644 --- a/tests/packagedcode/data/m2/org/codehaus/mojo/mojo/17/mojo-17.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/mojo/mojo/17/mojo-17.pom.package.json @@ -32,10 +32,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.mojo/mojo@17?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -57,8 +57,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.mojo/mojo@17", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/mojo/17/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/mojo/17/mojo-17.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/mojo/17/mojo-17.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/mojo/17/mojo-17.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.mojo/mojo@17" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/mojo/native-maven-plugin/1.0-alpha-2/native-maven-plugin-1.0-alpha-2.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/mojo/native-maven-plugin/1.0-alpha-2/native-maven-plugin-1.0-alpha-2.pom.package.json index cb221909560..75847ae3f87 100644 --- a/tests/packagedcode/data/m2/org/codehaus/mojo/native-maven-plugin/1.0-alpha-2/native-maven-plugin-1.0-alpha-2.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/mojo/native-maven-plugin/1.0-alpha-2/native-maven-plugin-1.0-alpha-2.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.mojo/native-maven-plugin@1.0-alpha-2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -112,8 +112,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.mojo/native-maven-plugin@1.0-alpha-2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/native-maven-plugin/1.0-alpha-2/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/native-maven-plugin/1.0-alpha-2/native-maven-plugin-1.0-alpha-2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/native-maven-plugin/1.0-alpha-2/native-maven-plugin-1.0-alpha-2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/native-maven-plugin/1.0-alpha-2/native-maven-plugin-1.0-alpha-2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.mojo/native-maven-plugin@1.0-alpha-2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/mojo/natives/maven-native-api/1.0-alpha-2/maven-native-api-1.0-alpha-2.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/mojo/natives/maven-native-api/1.0-alpha-2/maven-native-api-1.0-alpha-2.pom.package.json index db991f3842d..004d228b7c8 100644 --- a/tests/packagedcode/data/m2/org/codehaus/mojo/natives/maven-native-api/1.0-alpha-2/maven-native-api-1.0-alpha-2.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/mojo/natives/maven-native-api/1.0-alpha-2/maven-native-api-1.0-alpha-2.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.mojo.natives/maven-native-api@1.0-alpha-2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -58,8 +58,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.mojo.natives/maven-native-api@1.0-alpha-2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/natives/maven-native-api/1.0-alpha-2/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/natives/maven-native-api/1.0-alpha-2/maven-native-api-1.0-alpha-2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/natives/maven-native-api/1.0-alpha-2/maven-native-api-1.0-alpha-2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/natives/maven-native-api/1.0-alpha-2/maven-native-api-1.0-alpha-2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.mojo.natives/maven-native-api@1.0-alpha-2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/mojo/natives/maven-native-bcc/1.0-alpha-2/maven-native-bcc-1.0-alpha-2.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/mojo/natives/maven-native-bcc/1.0-alpha-2/maven-native-bcc-1.0-alpha-2.pom.package.json index 91d58615c12..40ec4026820 100644 --- a/tests/packagedcode/data/m2/org/codehaus/mojo/natives/maven-native-bcc/1.0-alpha-2/maven-native-bcc-1.0-alpha-2.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/mojo/natives/maven-native-bcc/1.0-alpha-2/maven-native-bcc-1.0-alpha-2.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.mojo.natives/maven-native-bcc@1.0-alpha-2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.mojo.natives/maven-native-bcc@1.0-alpha-2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/natives/maven-native-bcc/1.0-alpha-2/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/natives/maven-native-bcc/1.0-alpha-2/maven-native-bcc-1.0-alpha-2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/natives/maven-native-bcc/1.0-alpha-2/maven-native-bcc-1.0-alpha-2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/natives/maven-native-bcc/1.0-alpha-2/maven-native-bcc-1.0-alpha-2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.mojo.natives/maven-native-bcc@1.0-alpha-2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/mojo/natives/maven-native-components/1.0-alpha-2/maven-native-components-1.0-alpha-2.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/mojo/natives/maven-native-components/1.0-alpha-2/maven-native-components-1.0-alpha-2.pom.package.json index 01ca2614cbd..8996b90224a 100644 --- a/tests/packagedcode/data/m2/org/codehaus/mojo/natives/maven-native-components/1.0-alpha-2/maven-native-components-1.0-alpha-2.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/mojo/natives/maven-native-components/1.0-alpha-2/maven-native-components-1.0-alpha-2.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.mojo.natives/maven-native-components@1.0-alpha-2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -58,8 +58,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.mojo.natives/maven-native-components@1.0-alpha-2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/natives/maven-native-components/1.0-alpha-2/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/natives/maven-native-components/1.0-alpha-2/maven-native-components-1.0-alpha-2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/natives/maven-native-components/1.0-alpha-2/maven-native-components-1.0-alpha-2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/natives/maven-native-components/1.0-alpha-2/maven-native-components-1.0-alpha-2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.mojo.natives/maven-native-components@1.0-alpha-2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/mojo/natives/maven-native-generic-c/1.0-alpha-2/maven-native-generic-c-1.0-alpha-2.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/mojo/natives/maven-native-generic-c/1.0-alpha-2/maven-native-generic-c-1.0-alpha-2.pom.package.json index 61113d4495c..26c3bd86a50 100644 --- a/tests/packagedcode/data/m2/org/codehaus/mojo/natives/maven-native-generic-c/1.0-alpha-2/maven-native-generic-c-1.0-alpha-2.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/mojo/natives/maven-native-generic-c/1.0-alpha-2/maven-native-generic-c-1.0-alpha-2.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.mojo.natives/maven-native-generic-c@1.0-alpha-2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.mojo.natives/maven-native-generic-c@1.0-alpha-2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/natives/maven-native-generic-c/1.0-alpha-2/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/natives/maven-native-generic-c/1.0-alpha-2/maven-native-generic-c-1.0-alpha-2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/natives/maven-native-generic-c/1.0-alpha-2/maven-native-generic-c-1.0-alpha-2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/natives/maven-native-generic-c/1.0-alpha-2/maven-native-generic-c-1.0-alpha-2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.mojo.natives/maven-native-generic-c@1.0-alpha-2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/mojo/natives/maven-native-javah/1.0-alpha-2/maven-native-javah-1.0-alpha-2.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/mojo/natives/maven-native-javah/1.0-alpha-2/maven-native-javah-1.0-alpha-2.pom.package.json index 2405cc693ee..4e97d965e07 100644 --- a/tests/packagedcode/data/m2/org/codehaus/mojo/natives/maven-native-javah/1.0-alpha-2/maven-native-javah-1.0-alpha-2.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/mojo/natives/maven-native-javah/1.0-alpha-2/maven-native-javah-1.0-alpha-2.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.mojo.natives/maven-native-javah@1.0-alpha-2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.codehaus.mojo.natives/maven-native-javah@1.0-alpha-2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/natives/maven-native-javah/1.0-alpha-2/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/natives/maven-native-javah/1.0-alpha-2/maven-native-javah-1.0-alpha-2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/natives/maven-native-javah/1.0-alpha-2/maven-native-javah-1.0-alpha-2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/natives/maven-native-javah/1.0-alpha-2/maven-native-javah-1.0-alpha-2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.mojo.natives/maven-native-javah@1.0-alpha-2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/mojo/natives/maven-native-manager/1.0-alpha-2/maven-native-manager-1.0-alpha-2.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/mojo/natives/maven-native-manager/1.0-alpha-2/maven-native-manager-1.0-alpha-2.pom.package.json index 90e88006642..367cde507cf 100644 --- a/tests/packagedcode/data/m2/org/codehaus/mojo/natives/maven-native-manager/1.0-alpha-2/maven-native-manager-1.0-alpha-2.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/mojo/natives/maven-native-manager/1.0-alpha-2/maven-native-manager-1.0-alpha-2.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.mojo.natives/maven-native-manager@1.0-alpha-2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.codehaus.mojo.natives/maven-native-manager@1.0-alpha-2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/natives/maven-native-manager/1.0-alpha-2/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/natives/maven-native-manager/1.0-alpha-2/maven-native-manager-1.0-alpha-2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/natives/maven-native-manager/1.0-alpha-2/maven-native-manager-1.0-alpha-2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/natives/maven-native-manager/1.0-alpha-2/maven-native-manager-1.0-alpha-2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.mojo.natives/maven-native-manager@1.0-alpha-2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/mojo/natives/maven-native-msvc/1.0-alpha-2/maven-native-msvc-1.0-alpha-2.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/mojo/natives/maven-native-msvc/1.0-alpha-2/maven-native-msvc-1.0-alpha-2.pom.package.json index 9c5df9961ee..018ebb4ca1b 100644 --- a/tests/packagedcode/data/m2/org/codehaus/mojo/natives/maven-native-msvc/1.0-alpha-2/maven-native-msvc-1.0-alpha-2.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/mojo/natives/maven-native-msvc/1.0-alpha-2/maven-native-msvc-1.0-alpha-2.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.mojo.natives/maven-native-msvc@1.0-alpha-2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.mojo.natives/maven-native-msvc@1.0-alpha-2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/natives/maven-native-msvc/1.0-alpha-2/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/natives/maven-native-msvc/1.0-alpha-2/maven-native-msvc-1.0-alpha-2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/natives/maven-native-msvc/1.0-alpha-2/maven-native-msvc-1.0-alpha-2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/natives/maven-native-msvc/1.0-alpha-2/maven-native-msvc-1.0-alpha-2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.mojo.natives/maven-native-msvc@1.0-alpha-2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/mojo/natives/maven-native/1.0-alpha-2/maven-native-1.0-alpha-2.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/mojo/natives/maven-native/1.0-alpha-2/maven-native-1.0-alpha-2.pom.package.json index 3bbd72bb8c7..9e9fa10ab36 100644 --- a/tests/packagedcode/data/m2/org/codehaus/mojo/natives/maven-native/1.0-alpha-2/maven-native-1.0-alpha-2.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/mojo/natives/maven-native/1.0-alpha-2/maven-native-1.0-alpha-2.pom.package.json @@ -32,10 +32,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.mojo.natives/maven-native@1.0-alpha-2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -129,8 +129,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.mojo.natives/maven-native@1.0-alpha-2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/natives/maven-native/1.0-alpha-2/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/natives/maven-native/1.0-alpha-2/maven-native-1.0-alpha-2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/natives/maven-native/1.0-alpha-2/maven-native-1.0-alpha-2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/natives/maven-native/1.0-alpha-2/maven-native-1.0-alpha-2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.mojo.natives/maven-native@1.0-alpha-2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-active-collections/1.0-beta-2/plexus-active-collections-1.0-beta-2.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-active-collections/1.0-beta-2/plexus-active-collections-1.0-beta-2.pom.package.json index 8977989672f..4f1c1516057 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-active-collections/1.0-beta-2/plexus-active-collections-1.0-beta-2.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-active-collections/1.0-beta-2/plexus-active-collections-1.0-beta-2.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-active-collections@1.0-beta-2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -58,8 +58,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.plexus/plexus-active-collections@1.0-beta-2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-active-collections/1.0-beta-2/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-active-collections/1.0-beta-2/plexus-active-collections-1.0-beta-2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-active-collections/1.0-beta-2/plexus-active-collections-1.0-beta-2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-active-collections/1.0-beta-2/plexus-active-collections-1.0-beta-2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus-active-collections@1.0-beta-2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-archiver/1.0-alpha-10/plexus-archiver-1.0-alpha-10.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-archiver/1.0-alpha-10/plexus-archiver-1.0-alpha-10.pom.package.json index 0c2798396d3..e8ed6f3f387 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-archiver/1.0-alpha-10/plexus-archiver-1.0-alpha-10.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-archiver/1.0-alpha-10/plexus-archiver-1.0-alpha-10.pom.package.json @@ -39,10 +39,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-archiver@1.0-alpha-10?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -82,8 +82,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.plexus/plexus-archiver@1.0-alpha-10", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-archiver/1.0-alpha-10/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-archiver/1.0-alpha-10/plexus-archiver-1.0-alpha-10.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-archiver/1.0-alpha-10/plexus-archiver-1.0-alpha-10.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-archiver/1.0-alpha-10/plexus-archiver-1.0-alpha-10.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus-archiver@1.0-alpha-10" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-archiver/1.0-alpha-5/plexus-archiver-1.0-alpha-5.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-archiver/1.0-alpha-5/plexus-archiver-1.0-alpha-5.pom.package.json index 79306c511a6..05891e0beec 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-archiver/1.0-alpha-5/plexus-archiver-1.0-alpha-5.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-archiver/1.0-alpha-5/plexus-archiver-1.0-alpha-5.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-archiver@1.0-alpha-5?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.codehaus.plexus/plexus-archiver@1.0-alpha-5", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-archiver/1.0-alpha-5/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-archiver/1.0-alpha-5/plexus-archiver-1.0-alpha-5.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-archiver/1.0-alpha-5/plexus-archiver-1.0-alpha-5.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-archiver/1.0-alpha-5/plexus-archiver-1.0-alpha-5.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus-archiver@1.0-alpha-5" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-archiver/1.0-alpha-7/plexus-archiver-1.0-alpha-7.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-archiver/1.0-alpha-7/plexus-archiver-1.0-alpha-7.pom.package.json index 842fb3b63c9..d60737fce1f 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-archiver/1.0-alpha-7/plexus-archiver-1.0-alpha-7.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-archiver/1.0-alpha-7/plexus-archiver-1.0-alpha-7.pom.package.json @@ -39,10 +39,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-archiver@1.0-alpha-7?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -55,8 +55,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.plexus/plexus-archiver@1.0-alpha-7", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-archiver/1.0-alpha-7/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-archiver/1.0-alpha-7/plexus-archiver-1.0-alpha-7.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-archiver/1.0-alpha-7/plexus-archiver-1.0-alpha-7.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-archiver/1.0-alpha-7/plexus-archiver-1.0-alpha-7.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus-archiver@1.0-alpha-7" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-archiver/1.0-alpha-9/plexus-archiver-1.0-alpha-9.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-archiver/1.0-alpha-9/plexus-archiver-1.0-alpha-9.pom.package.json index eb38004d9a0..3033d70bb2e 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-archiver/1.0-alpha-9/plexus-archiver-1.0-alpha-9.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-archiver/1.0-alpha-9/plexus-archiver-1.0-alpha-9.pom.package.json @@ -39,10 +39,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-archiver@1.0-alpha-9?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -82,8 +82,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.plexus/plexus-archiver@1.0-alpha-9", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-archiver/1.0-alpha-9/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-archiver/1.0-alpha-9/plexus-archiver-1.0-alpha-9.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-archiver/1.0-alpha-9/plexus-archiver-1.0-alpha-9.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-archiver/1.0-alpha-9/plexus-archiver-1.0-alpha-9.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus-archiver@1.0-alpha-9" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-classworlds/1.2-alpha-6/plexus-classworlds-1.2-alpha-6.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-classworlds/1.2-alpha-6/plexus-classworlds-1.2-alpha-6.pom.package.json index eb6144dbe21..f21db4708d5 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-classworlds/1.2-alpha-6/plexus-classworlds-1.2-alpha-6.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-classworlds/1.2-alpha-6/plexus-classworlds-1.2-alpha-6.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-classworlds@1.2-alpha-6?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.plexus/plexus-classworlds@1.2-alpha-6", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-classworlds/1.2-alpha-6/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-classworlds/1.2-alpha-6/plexus-classworlds-1.2-alpha-6.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-classworlds/1.2-alpha-6/plexus-classworlds-1.2-alpha-6.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-classworlds/1.2-alpha-6/plexus-classworlds-1.2-alpha-6.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus-classworlds@1.2-alpha-6" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-compiler-api/1.5.1/plexus-compiler-api-1.5.1.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-compiler-api/1.5.1/plexus-compiler-api-1.5.1.pom.package.json index 6240875cc87..1b25af7924e 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-compiler-api/1.5.1/plexus-compiler-api-1.5.1.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-compiler-api/1.5.1/plexus-compiler-api-1.5.1.pom.package.json @@ -109,10 +109,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-compiler-api@1.5.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -152,8 +152,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.plexus/plexus-compiler-api@1.5.1", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-compiler-api/1.5.1/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-compiler-api/1.5.1/plexus-compiler-api-1.5.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-compiler-api/1.5.1/plexus-compiler-api-1.5.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-compiler-api/1.5.1/plexus-compiler-api-1.5.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus-compiler-api@1.5.1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-compiler-api/1.5.3/plexus-compiler-api-1.5.3.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-compiler-api/1.5.3/plexus-compiler-api-1.5.3.pom.package.json index 3011d234485..387d7d129e4 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-compiler-api/1.5.3/plexus-compiler-api-1.5.3.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-compiler-api/1.5.3/plexus-compiler-api-1.5.3.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-compiler-api@1.5.3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.plexus/plexus-compiler-api@1.5.3", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-compiler-api/1.5.3/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-compiler-api/1.5.3/plexus-compiler-api-1.5.3.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-compiler-api/1.5.3/plexus-compiler-api-1.5.3.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-compiler-api/1.5.3/plexus-compiler-api-1.5.3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus-compiler-api@1.5.3" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-compiler-javac/1.5.3/plexus-compiler-javac-1.5.3.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-compiler-javac/1.5.3/plexus-compiler-javac-1.5.3.pom.package.json index bf1a3e723e4..fd0bee55808 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-compiler-javac/1.5.3/plexus-compiler-javac-1.5.3.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-compiler-javac/1.5.3/plexus-compiler-javac-1.5.3.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-compiler-javac@1.5.3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -49,8 +49,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.plexus/plexus-compiler-javac@1.5.3", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-compiler-javac/1.5.3/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-compiler-javac/1.5.3/plexus-compiler-javac-1.5.3.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-compiler-javac/1.5.3/plexus-compiler-javac-1.5.3.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-compiler-javac/1.5.3/plexus-compiler-javac-1.5.3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus-compiler-javac@1.5.3" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-compiler-manager/1.5.3/plexus-compiler-manager-1.5.3.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-compiler-manager/1.5.3/plexus-compiler-manager-1.5.3.pom.package.json index 72a2398586a..bcb89dee97e 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-compiler-manager/1.5.3/plexus-compiler-manager-1.5.3.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-compiler-manager/1.5.3/plexus-compiler-manager-1.5.3.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-compiler-manager@1.5.3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.plexus/plexus-compiler-manager@1.5.3", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-compiler-manager/1.5.3/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-compiler-manager/1.5.3/plexus-compiler-manager-1.5.3.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-compiler-manager/1.5.3/plexus-compiler-manager-1.5.3.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-compiler-manager/1.5.3/plexus-compiler-manager-1.5.3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus-compiler-manager@1.5.3" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-compiler/1.5.3/plexus-compiler-1.5.3.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-compiler/1.5.3/plexus-compiler-1.5.3.pom.package.json index 199e922f75e..fa0e432e810 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-compiler/1.5.3/plexus-compiler-1.5.3.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-compiler/1.5.3/plexus-compiler-1.5.3.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-compiler@1.5.3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.codehaus.plexus/plexus-compiler@1.5.3", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-compiler/1.5.3/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-compiler/1.5.3/plexus-compiler-1.5.3.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-compiler/1.5.3/plexus-compiler-1.5.3.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-compiler/1.5.3/plexus-compiler-1.5.3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus-compiler@1.5.3" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-compilers/1.5.3/plexus-compilers-1.5.3.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-compilers/1.5.3/plexus-compilers-1.5.3.pom.package.json index 6879a71ac24..20766fa1b31 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-compilers/1.5.3/plexus-compilers-1.5.3.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-compilers/1.5.3/plexus-compilers-1.5.3.pom.package.json @@ -109,10 +109,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-compilers@1.5.3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -152,8 +152,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.plexus/plexus-compilers@1.5.3", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-compilers/1.5.3/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-compilers/1.5.3/plexus-compilers-1.5.3.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-compilers/1.5.3/plexus-compilers-1.5.3.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-compilers/1.5.3/plexus-compilers-1.5.3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus-compilers@1.5.3" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-component-api/1.0-alpha-15/plexus-component-api-1.0-alpha-15.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-component-api/1.0-alpha-15/plexus-component-api-1.0-alpha-15.pom.package.json index 15fe56a950a..7c5cc8d55d2 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-component-api/1.0-alpha-15/plexus-component-api-1.0-alpha-15.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-component-api/1.0-alpha-15/plexus-component-api-1.0-alpha-15.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-component-api@1.0-alpha-15?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.plexus/plexus-component-api@1.0-alpha-15", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-component-api/1.0-alpha-15/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-component-api/1.0-alpha-15/plexus-component-api-1.0-alpha-15.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-component-api/1.0-alpha-15/plexus-component-api-1.0-alpha-15.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-component-api/1.0-alpha-15/plexus-component-api-1.0-alpha-15.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus-component-api@1.0-alpha-15" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-component-api/1.0-alpha-16/plexus-component-api-1.0-alpha-16.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-component-api/1.0-alpha-16/plexus-component-api-1.0-alpha-16.pom.package.json index f5b7463f94e..8901e270ae2 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-component-api/1.0-alpha-16/plexus-component-api-1.0-alpha-16.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-component-api/1.0-alpha-16/plexus-component-api-1.0-alpha-16.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-component-api@1.0-alpha-16?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.plexus/plexus-component-api@1.0-alpha-16", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-component-api/1.0-alpha-16/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-component-api/1.0-alpha-16/plexus-component-api-1.0-alpha-16.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-component-api/1.0-alpha-16/plexus-component-api-1.0-alpha-16.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-component-api/1.0-alpha-16/plexus-component-api-1.0-alpha-16.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus-component-api@1.0-alpha-16" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-components/1.1.12/plexus-components-1.1.12.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-components/1.1.12/plexus-components-1.1.12.pom.package.json index 05787ced976..c22d6204b2c 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-components/1.1.12/plexus-components-1.1.12.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-components/1.1.12/plexus-components-1.1.12.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-components@1.1.12?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -49,8 +49,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.plexus/plexus-components@1.1.12", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-components/1.1.12/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-components/1.1.12/plexus-components-1.1.12.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-components/1.1.12/plexus-components-1.1.12.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-components/1.1.12/plexus-components-1.1.12.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus-components@1.1.12" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-components/1.1.4/plexus-components-1.1.4.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-components/1.1.4/plexus-components-1.1.4.pom.package.json index f392610de79..2ff2e02bfb4 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-components/1.1.4/plexus-components-1.1.4.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-components/1.1.4/plexus-components-1.1.4.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-components@1.1.4?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.plexus/plexus-components@1.1.4", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-components/1.1.4/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-components/1.1.4/plexus-components-1.1.4.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-components/1.1.4/plexus-components-1.1.4.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-components/1.1.4/plexus-components-1.1.4.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus-components@1.1.4" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-components/1.1.5/plexus-components-1.1.5.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-components/1.1.5/plexus-components-1.1.5.pom.package.json index 9ad224c3ef3..0f796e64d77 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-components/1.1.5/plexus-components-1.1.5.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-components/1.1.5/plexus-components-1.1.5.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-components@1.1.5?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.plexus/plexus-components@1.1.5", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-components/1.1.5/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-components/1.1.5/plexus-components-1.1.5.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-components/1.1.5/plexus-components-1.1.5.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-components/1.1.5/plexus-components-1.1.5.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus-components@1.1.5" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-components/1.1.6/plexus-components-1.1.6.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-components/1.1.6/plexus-components-1.1.6.pom.package.json index a280af827e6..2350e71e92a 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-components/1.1.6/plexus-components-1.1.6.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-components/1.1.6/plexus-components-1.1.6.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-components@1.1.6?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.plexus/plexus-components@1.1.6", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-components/1.1.6/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-components/1.1.6/plexus-components-1.1.6.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-components/1.1.6/plexus-components-1.1.6.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-components/1.1.6/plexus-components-1.1.6.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus-components@1.1.6" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-components/1.1.7/plexus-components-1.1.7.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-components/1.1.7/plexus-components-1.1.7.pom.package.json index c36604197e1..52fd4a80d6f 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-components/1.1.7/plexus-components-1.1.7.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-components/1.1.7/plexus-components-1.1.7.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-components@1.1.7?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.plexus/plexus-components@1.1.7", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-components/1.1.7/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-components/1.1.7/plexus-components-1.1.7.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-components/1.1.7/plexus-components-1.1.7.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-components/1.1.7/plexus-components-1.1.7.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus-components@1.1.7" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-components/1.1.9/plexus-components-1.1.9.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-components/1.1.9/plexus-components-1.1.9.pom.package.json index 58cd9528474..e64dc37aa25 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-components/1.1.9/plexus-components-1.1.9.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-components/1.1.9/plexus-components-1.1.9.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-components@1.1.9?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -49,8 +49,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.plexus/plexus-components@1.1.9", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-components/1.1.9/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-components/1.1.9/plexus-components-1.1.9.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-components/1.1.9/plexus-components-1.1.9.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-components/1.1.9/plexus-components-1.1.9.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus-components@1.1.9" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-container-default/1.0-alpha-15/plexus-container-default-1.0-alpha-15.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-container-default/1.0-alpha-15/plexus-container-default-1.0-alpha-15.pom.package.json index 567da931a15..af2929052f6 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-container-default/1.0-alpha-15/plexus-container-default-1.0-alpha-15.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-container-default/1.0-alpha-15/plexus-container-default-1.0-alpha-15.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-container-default@1.0-alpha-15?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -67,8 +67,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.plexus/plexus-container-default@1.0-alpha-15", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-container-default/1.0-alpha-15/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-container-default/1.0-alpha-15/plexus-container-default-1.0-alpha-15.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-container-default/1.0-alpha-15/plexus-container-default-1.0-alpha-15.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-container-default/1.0-alpha-15/plexus-container-default-1.0-alpha-15.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus-container-default@1.0-alpha-15" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-container-default/1.0-alpha-22/plexus-container-default-1.0-alpha-22.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-container-default/1.0-alpha-22/plexus-container-default-1.0-alpha-22.pom.package.json index 044ac0ef347..bd9e272f2f5 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-container-default/1.0-alpha-22/plexus-container-default-1.0-alpha-22.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-container-default/1.0-alpha-22/plexus-container-default-1.0-alpha-22.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-container-default@1.0-alpha-22?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -67,8 +67,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.plexus/plexus-container-default@1.0-alpha-22", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-container-default/1.0-alpha-22/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-container-default/1.0-alpha-22/plexus-container-default-1.0-alpha-22.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-container-default/1.0-alpha-22/plexus-container-default-1.0-alpha-22.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-container-default/1.0-alpha-22/plexus-container-default-1.0-alpha-22.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus-container-default@1.0-alpha-22" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-container-default/1.0-alpha-30/plexus-container-default-1.0-alpha-30.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-container-default/1.0-alpha-30/plexus-container-default-1.0-alpha-30.pom.package.json index 0151efedf20..3c1b3a33426 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-container-default/1.0-alpha-30/plexus-container-default-1.0-alpha-30.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-container-default/1.0-alpha-30/plexus-container-default-1.0-alpha-30.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-container-default@1.0-alpha-30?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -58,8 +58,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.plexus/plexus-container-default@1.0-alpha-30", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-container-default/1.0-alpha-30/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-container-default/1.0-alpha-30/plexus-container-default-1.0-alpha-30.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-container-default/1.0-alpha-30/plexus-container-default-1.0-alpha-30.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-container-default/1.0-alpha-30/plexus-container-default-1.0-alpha-30.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus-container-default@1.0-alpha-30" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-container-default/1.0-alpha-7/plexus-container-default-1.0-alpha-7.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-container-default/1.0-alpha-7/plexus-container-default-1.0-alpha-7.pom.package.json index 6a72da5664a..1beeb6eef4c 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-container-default/1.0-alpha-7/plexus-container-default-1.0-alpha-7.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-container-default/1.0-alpha-7/plexus-container-default-1.0-alpha-7.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-container-default@1.0-alpha-7?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -58,8 +58,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.plexus/plexus-container-default@1.0-alpha-7", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-container-default/1.0-alpha-7/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-container-default/1.0-alpha-7/plexus-container-default-1.0-alpha-7.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-container-default/1.0-alpha-7/plexus-container-default-1.0-alpha-7.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-container-default/1.0-alpha-7/plexus-container-default-1.0-alpha-7.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus-container-default@1.0-alpha-7" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8.pom.package.json index 7c4a0895834..8bd4c172221 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8.pom.package.json @@ -109,10 +109,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-container-default@1.0-alpha-8?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -143,8 +143,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.plexus/plexus-container-default@1.0-alpha-8", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-container-default/1.0-alpha-8/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus-container-default@1.0-alpha-8" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/plexus-container-default-1.0-alpha-9-stable-1.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/plexus-container-default-1.0-alpha-9-stable-1.pom.package.json index 36de3fcc35c..c6323c060bd 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/plexus-container-default-1.0-alpha-9-stable-1.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/plexus-container-default-1.0-alpha-9-stable-1.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-container-default@1.0-alpha-9-stable-1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -58,8 +58,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.plexus/plexus-container-default@1.0-alpha-9-stable-1", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/plexus-container-default-1.0-alpha-9-stable-1.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/plexus-container-default-1.0-alpha-9-stable-1.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/plexus-container-default-1.0-alpha-9-stable-1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus-container-default@1.0-alpha-9-stable-1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-container-default/1.0-alpha-9/plexus-container-default-1.0-alpha-9.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-container-default/1.0-alpha-9/plexus-container-default-1.0-alpha-9.pom.package.json index 7d20f5b4221..5c5063b0ac1 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-container-default/1.0-alpha-9/plexus-container-default-1.0-alpha-9.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-container-default/1.0-alpha-9/plexus-container-default-1.0-alpha-9.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-container-default@1.0-alpha-9?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -58,8 +58,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.plexus/plexus-container-default@1.0-alpha-9", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-container-default/1.0-alpha-9/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-container-default/1.0-alpha-9/plexus-container-default-1.0-alpha-9.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-container-default/1.0-alpha-9/plexus-container-default-1.0-alpha-9.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-container-default/1.0-alpha-9/plexus-container-default-1.0-alpha-9.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus-container-default@1.0-alpha-9" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-containers/1.0-alpha-15/plexus-containers-1.0-alpha-15.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-containers/1.0-alpha-15/plexus-containers-1.0-alpha-15.pom.package.json index ab9adeabe44..931bf4a454a 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-containers/1.0-alpha-15/plexus-containers-1.0-alpha-15.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-containers/1.0-alpha-15/plexus-containers-1.0-alpha-15.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-containers@1.0-alpha-15?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -67,8 +67,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.plexus/plexus-containers@1.0-alpha-15", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-containers/1.0-alpha-15/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-containers/1.0-alpha-15/plexus-containers-1.0-alpha-15.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-containers/1.0-alpha-15/plexus-containers-1.0-alpha-15.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-containers/1.0-alpha-15/plexus-containers-1.0-alpha-15.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus-containers@1.0-alpha-15" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-containers/1.0-alpha-16/plexus-containers-1.0-alpha-16.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-containers/1.0-alpha-16/plexus-containers-1.0-alpha-16.pom.package.json index 75e784f4197..7850c9888bd 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-containers/1.0-alpha-16/plexus-containers-1.0-alpha-16.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-containers/1.0-alpha-16/plexus-containers-1.0-alpha-16.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-containers@1.0-alpha-16?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -67,8 +67,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.plexus/plexus-containers@1.0-alpha-16", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-containers/1.0-alpha-16/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-containers/1.0-alpha-16/plexus-containers-1.0-alpha-16.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-containers/1.0-alpha-16/plexus-containers-1.0-alpha-16.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-containers/1.0-alpha-16/plexus-containers-1.0-alpha-16.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus-containers@1.0-alpha-16" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-containers/1.0-alpha-22/plexus-containers-1.0-alpha-22.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-containers/1.0-alpha-22/plexus-containers-1.0-alpha-22.pom.package.json index 47fe49c0aa8..e53ddebd166 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-containers/1.0-alpha-22/plexus-containers-1.0-alpha-22.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-containers/1.0-alpha-22/plexus-containers-1.0-alpha-22.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-containers@1.0-alpha-22?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -67,8 +67,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.plexus/plexus-containers@1.0-alpha-22", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-containers/1.0-alpha-22/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-containers/1.0-alpha-22/plexus-containers-1.0-alpha-22.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-containers/1.0-alpha-22/plexus-containers-1.0-alpha-22.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-containers/1.0-alpha-22/plexus-containers-1.0-alpha-22.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus-containers@1.0-alpha-22" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-containers/1.0-alpha-30/plexus-containers-1.0-alpha-30.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-containers/1.0-alpha-30/plexus-containers-1.0-alpha-30.pom.package.json index 76017e449fb..e920cecef94 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-containers/1.0-alpha-30/plexus-containers-1.0-alpha-30.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-containers/1.0-alpha-30/plexus-containers-1.0-alpha-30.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-containers@1.0-alpha-30?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -67,8 +67,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.plexus/plexus-containers@1.0-alpha-30", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-containers/1.0-alpha-30/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-containers/1.0-alpha-30/plexus-containers-1.0-alpha-30.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-containers/1.0-alpha-30/plexus-containers-1.0-alpha-30.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-containers/1.0-alpha-30/plexus-containers-1.0-alpha-30.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus-containers@1.0-alpha-30" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-containers/1.0.3/plexus-containers-1.0.3.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-containers/1.0.3/plexus-containers-1.0.3.pom.package.json index 1b6b5803168..6548eec7384 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-containers/1.0.3/plexus-containers-1.0.3.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-containers/1.0.3/plexus-containers-1.0.3.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-containers@1.0.3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.codehaus.plexus/plexus-containers@1.0.3", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-containers/1.0.3/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-containers/1.0.3/plexus-containers-1.0.3.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-containers/1.0.3/plexus-containers-1.0.3.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-containers/1.0.3/plexus-containers-1.0.3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus-containers@1.0.3" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-digest/1.0/plexus-digest-1.0.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-digest/1.0/plexus-digest-1.0.pom.package.json index e904eb21657..306d8a179d1 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-digest/1.0/plexus-digest-1.0.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-digest/1.0/plexus-digest-1.0.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-digest@1.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.codehaus.plexus/plexus-digest@1.0", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-digest/1.0/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-digest/1.0/plexus-digest-1.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-digest/1.0/plexus-digest-1.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-digest/1.0/plexus-digest-1.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus-digest@1.0" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-i18n/1.0-beta-6/plexus-i18n-1.0-beta-6.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-i18n/1.0-beta-6/plexus-i18n-1.0-beta-6.pom.package.json index 67855cb21c7..494ab7fd490 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-i18n/1.0-beta-6/plexus-i18n-1.0-beta-6.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-i18n/1.0-beta-6/plexus-i18n-1.0-beta-6.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-i18n@1.0-beta-6?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.codehaus.plexus/plexus-i18n@1.0-beta-6", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-i18n/1.0-beta-6/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-i18n/1.0-beta-6/plexus-i18n-1.0-beta-6.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-i18n/1.0-beta-6/plexus-i18n-1.0-beta-6.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-i18n/1.0-beta-6/plexus-i18n-1.0-beta-6.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus-i18n@1.0-beta-6" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-i18n/1.0-beta-7/plexus-i18n-1.0-beta-7.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-i18n/1.0-beta-7/plexus-i18n-1.0-beta-7.pom.package.json index 8f4285956fd..e2540cb3377 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-i18n/1.0-beta-7/plexus-i18n-1.0-beta-7.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-i18n/1.0-beta-7/plexus-i18n-1.0-beta-7.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-i18n@1.0-beta-7?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.plexus/plexus-i18n@1.0-beta-7", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-i18n/1.0-beta-7/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-i18n/1.0-beta-7/plexus-i18n-1.0-beta-7.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-i18n/1.0-beta-7/plexus-i18n-1.0-beta-7.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-i18n/1.0-beta-7/plexus-i18n-1.0-beta-7.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus-i18n@1.0-beta-7" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom.package.json index f46d0905c0b..13b61ec9cca 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom.package.json @@ -109,10 +109,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -152,8 +152,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-io/1.0-alpha-1/plexus-io-1.0-alpha-1.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-io/1.0-alpha-1/plexus-io-1.0-alpha-1.pom.package.json index 7a558dbc8fa..6758d658acd 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-io/1.0-alpha-1/plexus-io-1.0-alpha-1.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-io/1.0-alpha-1/plexus-io-1.0-alpha-1.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-io@1.0-alpha-1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.plexus/plexus-io@1.0-alpha-1", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-io/1.0-alpha-1/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-io/1.0-alpha-1/plexus-io-1.0-alpha-1.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-io/1.0-alpha-1/plexus-io-1.0-alpha-1.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-io/1.0-alpha-1/plexus-io-1.0-alpha-1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus-io@1.0-alpha-1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-io/1.0-alpha-2/plexus-io-1.0-alpha-2.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-io/1.0-alpha-2/plexus-io-1.0-alpha-2.pom.package.json index f17cace4f29..2df6d8f151d 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-io/1.0-alpha-2/plexus-io-1.0-alpha-2.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-io/1.0-alpha-2/plexus-io-1.0-alpha-2.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-io@1.0-alpha-2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -58,8 +58,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.plexus/plexus-io@1.0-alpha-2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-io/1.0-alpha-2/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-io/1.0-alpha-2/plexus-io-1.0-alpha-2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-io/1.0-alpha-2/plexus-io-1.0-alpha-2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-io/1.0-alpha-2/plexus-io-1.0-alpha-2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus-io@1.0-alpha-2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.pom.package.json index de131d432c0..d2cfaa79d3e 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.pom.package.json @@ -109,10 +109,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-utils@1.0.4?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -125,8 +125,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.plexus/plexus-utils@1.0.4", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/1.0.4/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus-utils@1.0.4" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-utils/1.0.5/plexus-utils-1.0.5.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-utils/1.0.5/plexus-utils-1.0.5.pom.package.json index ed64115f19b..92d9c2d02b8 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-utils/1.0.5/plexus-utils-1.0.5.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-utils/1.0.5/plexus-utils-1.0.5.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-utils@1.0.5?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.plexus/plexus-utils@1.0.5", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/1.0.5/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/1.0.5/plexus-utils-1.0.5.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/1.0.5/plexus-utils-1.0.5.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/1.0.5/plexus-utils-1.0.5.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus-utils@1.0.5" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.pom.package.json index d1f9f84b05a..39203bcb4a9 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-utils@1.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.codehaus.plexus/plexus-utils@1.1", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/1.1/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus-utils@1.1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-utils/1.2/plexus-utils-1.2.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-utils/1.2/plexus-utils-1.2.pom.package.json index 98240b6f257..ef8b20fe405 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-utils/1.2/plexus-utils-1.2.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-utils/1.2/plexus-utils-1.2.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-utils@1.2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.codehaus.plexus/plexus-utils@1.2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/1.2/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/1.2/plexus-utils-1.2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/1.2/plexus-utils-1.2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/1.2/plexus-utils-1.2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus-utils@1.2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-utils/1.3/plexus-utils-1.3.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-utils/1.3/plexus-utils-1.3.pom.package.json index 030a27f8244..4c9867192d3 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-utils/1.3/plexus-utils-1.3.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-utils/1.3/plexus-utils-1.3.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-utils@1.3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.codehaus.plexus/plexus-utils@1.3", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/1.3/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/1.3/plexus-utils-1.3.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/1.3/plexus-utils-1.3.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/1.3/plexus-utils-1.3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus-utils@1.3" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-utils/1.4.1/plexus-utils-1.4.1.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-utils/1.4.1/plexus-utils-1.4.1.pom.package.json index 1b1d9e5dd1f..50c1d18a325 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-utils/1.4.1/plexus-utils-1.4.1.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-utils/1.4.1/plexus-utils-1.4.1.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-utils@1.4.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.codehaus.plexus/plexus-utils@1.4.1", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/1.4.1/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/1.4.1/plexus-utils-1.4.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/1.4.1/plexus-utils-1.4.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/1.4.1/plexus-utils-1.4.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus-utils@1.4.1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-utils/1.4.2/plexus-utils-1.4.2.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-utils/1.4.2/plexus-utils-1.4.2.pom.package.json index ac78df948e0..bfad94f9291 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-utils/1.4.2/plexus-utils-1.4.2.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-utils/1.4.2/plexus-utils-1.4.2.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-utils@1.4.2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.codehaus.plexus/plexus-utils@1.4.2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/1.4.2/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/1.4.2/plexus-utils-1.4.2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/1.4.2/plexus-utils-1.4.2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/1.4.2/plexus-utils-1.4.2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus-utils@1.4.2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.pom.package.json index 8b87d4f8e5d..96c5b28c2fa 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-utils@1.4.5?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.codehaus.plexus/plexus-utils@1.4.5", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/1.4.5/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus-utils@1.4.5" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-utils/1.4.6/plexus-utils-1.4.6.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-utils/1.4.6/plexus-utils-1.4.6.pom.package.json index 77f56524f6d..e098d97b824 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-utils/1.4.6/plexus-utils-1.4.6.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-utils/1.4.6/plexus-utils-1.4.6.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-utils@1.4.6?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.codehaus.plexus/plexus-utils@1.4.6", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/1.4.6/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/1.4.6/plexus-utils-1.4.6.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/1.4.6/plexus-utils-1.4.6.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/1.4.6/plexus-utils-1.4.6.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus-utils@1.4.6" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-utils/1.4.7/plexus-utils-1.4.7.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-utils/1.4.7/plexus-utils-1.4.7.pom.package.json index 11ec2b06345..846fecd439c 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-utils/1.4.7/plexus-utils-1.4.7.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-utils/1.4.7/plexus-utils-1.4.7.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-utils@1.4.7?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.codehaus.plexus/plexus-utils@1.4.7", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/1.4.7/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/1.4.7/plexus-utils-1.4.7.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/1.4.7/plexus-utils-1.4.7.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/1.4.7/plexus-utils-1.4.7.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus-utils@1.4.7" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-utils/1.4.9/plexus-utils-1.4.9.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-utils/1.4.9/plexus-utils-1.4.9.pom.package.json index 93a85246dbb..d6bed793ab6 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-utils/1.4.9/plexus-utils-1.4.9.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-utils/1.4.9/plexus-utils-1.4.9.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-utils@1.4.9?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.codehaus.plexus/plexus-utils@1.4.9", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/1.4.9/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/1.4.9/plexus-utils-1.4.9.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/1.4.9/plexus-utils-1.4.9.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/1.4.9/plexus-utils-1.4.9.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus-utils@1.4.9" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-utils/1.5.1/plexus-utils-1.5.1.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-utils/1.5.1/plexus-utils-1.5.1.pom.package.json index e8ea5d631ec..f298fcca699 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-utils/1.5.1/plexus-utils-1.5.1.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-utils/1.5.1/plexus-utils-1.5.1.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-utils@1.5.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.codehaus.plexus/plexus-utils@1.5.1", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/1.5.1/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/1.5.1/plexus-utils-1.5.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/1.5.1/plexus-utils-1.5.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/1.5.1/plexus-utils-1.5.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus-utils@1.5.1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-velocity/1.1.2/plexus-velocity-1.1.2.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-velocity/1.1.2/plexus-velocity-1.1.2.pom.package.json index a84fe16d97a..c1fff56c729 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-velocity/1.1.2/plexus-velocity-1.1.2.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-velocity/1.1.2/plexus-velocity-1.1.2.pom.package.json @@ -109,10 +109,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-velocity@1.1.2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -179,8 +179,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.plexus/plexus-velocity@1.1.2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-velocity/1.1.2/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-velocity/1.1.2/plexus-velocity-1.1.2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-velocity/1.1.2/plexus-velocity-1.1.2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-velocity/1.1.2/plexus-velocity-1.1.2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus-velocity@1.1.2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-velocity/1.1.3/plexus-velocity-1.1.3.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-velocity/1.1.3/plexus-velocity-1.1.3.pom.package.json index 4b6cbdc688f..f784a42fd31 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-velocity/1.1.3/plexus-velocity-1.1.3.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-velocity/1.1.3/plexus-velocity-1.1.3.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-velocity@1.1.3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -49,8 +49,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.plexus/plexus-velocity@1.1.3", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-velocity/1.1.3/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-velocity/1.1.3/plexus-velocity-1.1.3.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-velocity/1.1.3/plexus-velocity-1.1.3.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-velocity/1.1.3/plexus-velocity-1.1.3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus-velocity@1.1.3" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.pom.package.json index 2f8011e9db6..2a5deaa5be6 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-velocity@1.1.7?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -58,8 +58,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.plexus/plexus-velocity@1.1.7", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-velocity/1.1.7/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus-velocity@1.1.7" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus/1.0.10/plexus-1.0.10.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus/1.0.10/plexus-1.0.10.pom.package.json index 2fcbc6d1a61..e6571505169 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus/1.0.10/plexus-1.0.10.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus/1.0.10/plexus-1.0.10.pom.package.json @@ -158,10 +158,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus@1.0.10?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -174,8 +174,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.plexus/plexus@1.0.10", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus/1.0.10/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus/1.0.10/plexus-1.0.10.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus/1.0.10/plexus-1.0.10.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus/1.0.10/plexus-1.0.10.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus@1.0.10" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus/1.0.11/plexus-1.0.11.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus/1.0.11/plexus-1.0.11.pom.package.json index 46acea55d31..b6428e52b34 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus/1.0.11/plexus-1.0.11.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus/1.0.11/plexus-1.0.11.pom.package.json @@ -165,10 +165,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus@1.0.11?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -181,8 +181,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.plexus/plexus@1.0.11", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus/1.0.11/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus/1.0.11/plexus-1.0.11.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus/1.0.11/plexus-1.0.11.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus/1.0.11/plexus-1.0.11.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus@1.0.11" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus/1.0.4/plexus-1.0.4.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus/1.0.4/plexus-1.0.4.pom.package.json index 62ea59d226e..df3361ff182 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus/1.0.4/plexus-1.0.4.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus/1.0.4/plexus-1.0.4.pom.package.json @@ -109,10 +109,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus@1.0.4?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -125,8 +125,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.plexus/plexus@1.0.4", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus/1.0.4/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus/1.0.4/plexus-1.0.4.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus/1.0.4/plexus-1.0.4.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus/1.0.4/plexus-1.0.4.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus@1.0.4" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus/1.0.5/plexus-1.0.5.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus/1.0.5/plexus-1.0.5.pom.package.json index f7d25a1e33e..52cc7339570 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus/1.0.5/plexus-1.0.5.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus/1.0.5/plexus-1.0.5.pom.package.json @@ -109,10 +109,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus@1.0.5?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -125,8 +125,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.plexus/plexus@1.0.5", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus/1.0.5/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus/1.0.5/plexus-1.0.5.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus/1.0.5/plexus-1.0.5.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus/1.0.5/plexus-1.0.5.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus@1.0.5" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus/1.0.8/plexus-1.0.8.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus/1.0.8/plexus-1.0.8.pom.package.json index 3c73204373e..43abbe20da4 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus/1.0.8/plexus-1.0.8.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus/1.0.8/plexus-1.0.8.pom.package.json @@ -130,10 +130,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus@1.0.8?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -146,8 +146,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.plexus/plexus@1.0.8", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus/1.0.8/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus/1.0.8/plexus-1.0.8.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus/1.0.8/plexus-1.0.8.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus/1.0.8/plexus-1.0.8.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus@1.0.8" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus/1.0.9/plexus-1.0.9.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus/1.0.9/plexus-1.0.9.pom.package.json index eb730b864a9..586cf600869 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus/1.0.9/plexus-1.0.9.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus/1.0.9/plexus-1.0.9.pom.package.json @@ -137,10 +137,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus@1.0.9?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -153,8 +153,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.plexus/plexus@1.0.9", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus/1.0.9/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus/1.0.9/plexus-1.0.9.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus/1.0.9/plexus-1.0.9.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus/1.0.9/plexus-1.0.9.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus@1.0.9" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/easymock/easymock/2.3/easymock-2.3.pom.package.json b/tests/packagedcode/data/m2/org/easymock/easymock/2.3/easymock-2.3.pom.package.json index 254ed492bbc..08e53599d99 100644 --- a/tests/packagedcode/data/m2/org/easymock/easymock/2.3/easymock-2.3.pom.package.json +++ b/tests/packagedcode/data/m2/org/easymock/easymock/2.3/easymock-2.3.pom.package.json @@ -31,10 +31,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.easymock/easymock@2.3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -47,8 +47,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.easymock/easymock@2.3", "repository_homepage_url": "https://repo1.maven.org/maven2/org/easymock/easymock/2.3/", "repository_download_url": "https://repo1.maven.org/maven2/org/easymock/easymock/2.3/easymock-2.3.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/easymock/easymock/2.3/easymock-2.3.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/easymock/easymock/2.3/easymock-2.3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.easymock/easymock@2.3" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/easymock/easymockclassextension/2.3/easymockclassextension-2.3.pom.package.json b/tests/packagedcode/data/m2/org/easymock/easymockclassextension/2.3/easymockclassextension-2.3.pom.package.json index f97d181cd5b..5aba3dc7e09 100644 --- a/tests/packagedcode/data/m2/org/easymock/easymockclassextension/2.3/easymockclassextension-2.3.pom.package.json +++ b/tests/packagedcode/data/m2/org/easymock/easymockclassextension/2.3/easymockclassextension-2.3.pom.package.json @@ -31,10 +31,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.easymock/easymockclassextension@2.3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -74,8 +74,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.easymock/easymockclassextension@2.3", "repository_homepage_url": "https://repo1.maven.org/maven2/org/easymock/easymockclassextension/2.3/", "repository_download_url": "https://repo1.maven.org/maven2/org/easymock/easymockclassextension/2.3/easymockclassextension-2.3.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/easymock/easymockclassextension/2.3/easymockclassextension-2.3.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/easymock/easymockclassextension/2.3/easymockclassextension-2.3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.easymock/easymockclassextension@2.3" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/hibernate/ejb3-persistence/1.0.1.GA/ejb3-persistence-1.0.1.GA.pom.package.json b/tests/packagedcode/data/m2/org/hibernate/ejb3-persistence/1.0.1.GA/ejb3-persistence-1.0.1.GA.pom.package.json index 33ced87be9d..eb31c36ffea 100644 --- a/tests/packagedcode/data/m2/org/hibernate/ejb3-persistence/1.0.1.GA/ejb3-persistence-1.0.1.GA.pom.package.json +++ b/tests/packagedcode/data/m2/org/hibernate/ejb3-persistence/1.0.1.GA/ejb3-persistence-1.0.1.GA.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.hibernate/ejb3-persistence@1.0.1.GA?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.hibernate/ejb3-persistence@1.0.1.GA", "repository_homepage_url": "https://repo1.maven.org/maven2/org/hibernate/ejb3-persistence/1.0.1.GA/", "repository_download_url": "https://repo1.maven.org/maven2/org/hibernate/ejb3-persistence/1.0.1.GA/ejb3-persistence-1.0.1.GA.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/hibernate/ejb3-persistence/1.0.1.GA/ejb3-persistence-1.0.1.GA.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/hibernate/ejb3-persistence/1.0.1.GA/ejb3-persistence-1.0.1.GA.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.hibernate/ejb3-persistence@1.0.1.GA" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/hibernate/hibernate-annotations/3.2.1.ga/hibernate-annotations-3.2.1.ga.pom.package.json b/tests/packagedcode/data/m2/org/hibernate/hibernate-annotations/3.2.1.ga/hibernate-annotations-3.2.1.ga.pom.package.json index 5c15b366d66..a095dfc2184 100644 --- a/tests/packagedcode/data/m2/org/hibernate/hibernate-annotations/3.2.1.ga/hibernate-annotations-3.2.1.ga.pom.package.json +++ b/tests/packagedcode/data/m2/org/hibernate/hibernate-annotations/3.2.1.ga/hibernate-annotations-3.2.1.ga.pom.package.json @@ -31,10 +31,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.hibernate/hibernate-annotations@3.2.1.ga?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -65,8 +65,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.hibernate/hibernate-annotations@3.2.1.ga", "repository_homepage_url": "https://repo1.maven.org/maven2/org/hibernate/hibernate-annotations/3.2.1.ga/", "repository_download_url": "https://repo1.maven.org/maven2/org/hibernate/hibernate-annotations/3.2.1.ga/hibernate-annotations-3.2.1.ga.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/hibernate/hibernate-annotations/3.2.1.ga/hibernate-annotations-3.2.1.ga.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/hibernate/hibernate-annotations/3.2.1.ga/hibernate-annotations-3.2.1.ga.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.hibernate/hibernate-annotations@3.2.1.ga" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/hibernate/hibernate-annotations/3.3.1.GA/hibernate-annotations-3.3.1.GA.pom.package.json b/tests/packagedcode/data/m2/org/hibernate/hibernate-annotations/3.3.1.GA/hibernate-annotations-3.3.1.GA.pom.package.json index d7066e23a60..122b8c37584 100644 --- a/tests/packagedcode/data/m2/org/hibernate/hibernate-annotations/3.3.1.GA/hibernate-annotations-3.3.1.GA.pom.package.json +++ b/tests/packagedcode/data/m2/org/hibernate/hibernate-annotations/3.3.1.GA/hibernate-annotations-3.3.1.GA.pom.package.json @@ -31,10 +31,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.hibernate/hibernate-annotations@3.3.1.GA?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -74,8 +74,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.hibernate/hibernate-annotations@3.3.1.GA", "repository_homepage_url": "https://repo1.maven.org/maven2/org/hibernate/hibernate-annotations/3.3.1.GA/", "repository_download_url": "https://repo1.maven.org/maven2/org/hibernate/hibernate-annotations/3.3.1.GA/hibernate-annotations-3.3.1.GA.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/hibernate/hibernate-annotations/3.3.1.GA/hibernate-annotations-3.3.1.GA.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/hibernate/hibernate-annotations/3.3.1.GA/hibernate-annotations-3.3.1.GA.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.hibernate/hibernate-annotations@3.3.1.GA" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/hibernate/hibernate-commons-annotations/3.0.0.ga/hibernate-commons-annotations-3.0.0.ga.pom.package.json b/tests/packagedcode/data/m2/org/hibernate/hibernate-commons-annotations/3.0.0.ga/hibernate-commons-annotations-3.0.0.ga.pom.package.json index 7c3bad16036..7ae5a236e4c 100644 --- a/tests/packagedcode/data/m2/org/hibernate/hibernate-commons-annotations/3.0.0.ga/hibernate-commons-annotations-3.0.0.ga.pom.package.json +++ b/tests/packagedcode/data/m2/org/hibernate/hibernate-commons-annotations/3.0.0.ga/hibernate-commons-annotations-3.0.0.ga.pom.package.json @@ -31,10 +31,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.hibernate/hibernate-commons-annotations@3.0.0.ga?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -56,8 +56,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.hibernate/hibernate-commons-annotations@3.0.0.ga", "repository_homepage_url": "https://repo1.maven.org/maven2/org/hibernate/hibernate-commons-annotations/3.0.0.ga/", "repository_download_url": "https://repo1.maven.org/maven2/org/hibernate/hibernate-commons-annotations/3.0.0.ga/hibernate-commons-annotations-3.0.0.ga.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/hibernate/hibernate-commons-annotations/3.0.0.ga/hibernate-commons-annotations-3.0.0.ga.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/hibernate/hibernate-commons-annotations/3.0.0.ga/hibernate-commons-annotations-3.0.0.ga.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.hibernate/hibernate-commons-annotations@3.0.0.ga" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/hibernate/hibernate-entitymanager/3.2.1.ga/hibernate-entitymanager-3.2.1.ga.pom.package.json b/tests/packagedcode/data/m2/org/hibernate/hibernate-entitymanager/3.2.1.ga/hibernate-entitymanager-3.2.1.ga.pom.package.json index 82cb4582058..5e7a87b3867 100644 --- a/tests/packagedcode/data/m2/org/hibernate/hibernate-entitymanager/3.2.1.ga/hibernate-entitymanager-3.2.1.ga.pom.package.json +++ b/tests/packagedcode/data/m2/org/hibernate/hibernate-entitymanager/3.2.1.ga/hibernate-entitymanager-3.2.1.ga.pom.package.json @@ -31,10 +31,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.hibernate/hibernate-entitymanager@3.2.1.ga?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -65,8 +65,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.hibernate/hibernate-entitymanager@3.2.1.ga", "repository_homepage_url": "https://repo1.maven.org/maven2/org/hibernate/hibernate-entitymanager/3.2.1.ga/", "repository_download_url": "https://repo1.maven.org/maven2/org/hibernate/hibernate-entitymanager/3.2.1.ga/hibernate-entitymanager-3.2.1.ga.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/hibernate/hibernate-entitymanager/3.2.1.ga/hibernate-entitymanager-3.2.1.ga.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/hibernate/hibernate-entitymanager/3.2.1.ga/hibernate-entitymanager-3.2.1.ga.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.hibernate/hibernate-entitymanager@3.2.1.ga" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/hibernate/hibernate-entitymanager/3.3.2.GA/hibernate-entitymanager-3.3.2.GA.pom.package.json b/tests/packagedcode/data/m2/org/hibernate/hibernate-entitymanager/3.3.2.GA/hibernate-entitymanager-3.3.2.GA.pom.package.json index e65aaec1661..fa57793aa51 100644 --- a/tests/packagedcode/data/m2/org/hibernate/hibernate-entitymanager/3.3.2.GA/hibernate-entitymanager-3.3.2.GA.pom.package.json +++ b/tests/packagedcode/data/m2/org/hibernate/hibernate-entitymanager/3.3.2.GA/hibernate-entitymanager-3.3.2.GA.pom.package.json @@ -31,10 +31,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.hibernate/hibernate-entitymanager@3.3.2.GA?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -92,8 +92,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.hibernate/hibernate-entitymanager@3.3.2.GA", "repository_homepage_url": "https://repo1.maven.org/maven2/org/hibernate/hibernate-entitymanager/3.3.2.GA/", "repository_download_url": "https://repo1.maven.org/maven2/org/hibernate/hibernate-entitymanager/3.3.2.GA/hibernate-entitymanager-3.3.2.GA.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/hibernate/hibernate-entitymanager/3.3.2.GA/hibernate-entitymanager-3.3.2.GA.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/hibernate/hibernate-entitymanager/3.3.2.GA/hibernate-entitymanager-3.3.2.GA.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.hibernate/hibernate-entitymanager@3.3.2.GA" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/hibernate/hibernate/3.2.1.ga/hibernate-3.2.1.ga.pom.package.json b/tests/packagedcode/data/m2/org/hibernate/hibernate/3.2.1.ga/hibernate-3.2.1.ga.pom.package.json index 297f93d25d7..0e2d34fec85 100644 --- a/tests/packagedcode/data/m2/org/hibernate/hibernate/3.2.1.ga/hibernate-3.2.1.ga.pom.package.json +++ b/tests/packagedcode/data/m2/org/hibernate/hibernate/3.2.1.ga/hibernate-3.2.1.ga.pom.package.json @@ -39,10 +39,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.hibernate/hibernate@3.2.1.ga?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -199,8 +199,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.hibernate/hibernate@3.2.1.ga", "repository_homepage_url": "https://repo1.maven.org/maven2/org/hibernate/hibernate/3.2.1.ga/", "repository_download_url": "https://repo1.maven.org/maven2/org/hibernate/hibernate/3.2.1.ga/hibernate-3.2.1.ga.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/hibernate/hibernate/3.2.1.ga/hibernate-3.2.1.ga.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/hibernate/hibernate/3.2.1.ga/hibernate-3.2.1.ga.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.hibernate/hibernate@3.2.1.ga" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/hibernate/hibernate/3.2.6.ga/hibernate-3.2.6.ga.pom.package.json b/tests/packagedcode/data/m2/org/hibernate/hibernate/3.2.6.ga/hibernate-3.2.6.ga.pom.package.json index 20eade3ac64..646bd86700e 100644 --- a/tests/packagedcode/data/m2/org/hibernate/hibernate/3.2.6.ga/hibernate-3.2.6.ga.pom.package.json +++ b/tests/packagedcode/data/m2/org/hibernate/hibernate/3.2.6.ga/hibernate-3.2.6.ga.pom.package.json @@ -39,10 +39,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.hibernate/hibernate@3.2.6.ga?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -199,8 +199,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.hibernate/hibernate@3.2.6.ga", "repository_homepage_url": "https://repo1.maven.org/maven2/org/hibernate/hibernate/3.2.6.ga/", "repository_download_url": "https://repo1.maven.org/maven2/org/hibernate/hibernate/3.2.6.ga/hibernate-3.2.6.ga.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/hibernate/hibernate/3.2.6.ga/hibernate-3.2.6.ga.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/hibernate/hibernate/3.2.6.ga/hibernate-3.2.6.ga.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.hibernate/hibernate@3.2.6.ga" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/mortbay/jetty/jetty-parent/7/jetty-parent-7.pom.package.json b/tests/packagedcode/data/m2/org/mortbay/jetty/jetty-parent/7/jetty-parent-7.pom.package.json index bb8deba9c88..c2589d07e18 100644 --- a/tests/packagedcode/data/m2/org/mortbay/jetty/jetty-parent/7/jetty-parent-7.pom.package.json +++ b/tests/packagedcode/data/m2/org/mortbay/jetty/jetty-parent/7/jetty-parent-7.pom.package.json @@ -116,14 +116,15 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.mortbay.jetty/jetty-parent@7?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.mortbay.jetty/jetty-parent@7", "repository_homepage_url": "https://repo1.maven.org/maven2/org/mortbay/jetty/jetty-parent/7/", "repository_download_url": "https://repo1.maven.org/maven2/org/mortbay/jetty/jetty-parent/7/jetty-parent-7.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/mortbay/jetty/jetty-parent/7/jetty-parent-7.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/mortbay/jetty/jetty-parent/7/jetty-parent-7.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.mortbay.jetty/jetty-parent@7" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/mortbay/jetty/jetty-util/6.1.5/jetty-util-6.1.5.pom.package.json b/tests/packagedcode/data/m2/org/mortbay/jetty/jetty-util/6.1.5/jetty-util-6.1.5.pom.package.json index 273523f6a01..4456b1144e4 100644 --- a/tests/packagedcode/data/m2/org/mortbay/jetty/jetty-util/6.1.5/jetty-util-6.1.5.pom.package.json +++ b/tests/packagedcode/data/m2/org/mortbay/jetty/jetty-util/6.1.5/jetty-util-6.1.5.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.mortbay.jetty/jetty-util@6.1.5?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -49,8 +49,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.mortbay.jetty/jetty-util@6.1.5", "repository_homepage_url": "https://repo1.maven.org/maven2/org/mortbay/jetty/jetty-util/6.1.5/", "repository_download_url": "https://repo1.maven.org/maven2/org/mortbay/jetty/jetty-util/6.1.5/jetty-util-6.1.5.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/mortbay/jetty/jetty-util/6.1.5/jetty-util-6.1.5.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/mortbay/jetty/jetty-util/6.1.5/jetty-util-6.1.5.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.mortbay.jetty/jetty-util@6.1.5" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/mortbay/jetty/jetty/6.1.5/jetty-6.1.5.pom.package.json b/tests/packagedcode/data/m2/org/mortbay/jetty/jetty/6.1.5/jetty-6.1.5.pom.package.json index bf8f3b9bf4b..ca2a31a51e8 100644 --- a/tests/packagedcode/data/m2/org/mortbay/jetty/jetty/6.1.5/jetty-6.1.5.pom.package.json +++ b/tests/packagedcode/data/m2/org/mortbay/jetty/jetty/6.1.5/jetty-6.1.5.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.mortbay.jetty/jetty@6.1.5?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -58,8 +58,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.mortbay.jetty/jetty@6.1.5", "repository_homepage_url": "https://repo1.maven.org/maven2/org/mortbay/jetty/jetty/6.1.5/", "repository_download_url": "https://repo1.maven.org/maven2/org/mortbay/jetty/jetty/6.1.5/jetty-6.1.5.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/mortbay/jetty/jetty/6.1.5/jetty-6.1.5.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/mortbay/jetty/jetty/6.1.5/jetty-6.1.5.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.mortbay.jetty/jetty@6.1.5" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/mortbay/jetty/maven-jetty-plugin/6.1-SNAPSHOT/maven-jetty-plugin-6.1-20090123.170629-84.pom.package.json b/tests/packagedcode/data/m2/org/mortbay/jetty/maven-jetty-plugin/6.1-SNAPSHOT/maven-jetty-plugin-6.1-20090123.170629-84.pom.package.json index 3655d0cbbcd..1eed2956d4f 100644 --- a/tests/packagedcode/data/m2/org/mortbay/jetty/maven-jetty-plugin/6.1-SNAPSHOT/maven-jetty-plugin-6.1-20090123.170629-84.pom.package.json +++ b/tests/packagedcode/data/m2/org/mortbay/jetty/maven-jetty-plugin/6.1-SNAPSHOT/maven-jetty-plugin-6.1-20090123.170629-84.pom.package.json @@ -32,10 +32,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.mortbay.jetty/maven-jetty-plugin@6.1-SNAPSHOT?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -138,8 +138,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.mortbay.jetty/maven-jetty-plugin@6.1-SNAPSHOT", "repository_homepage_url": "https://repo1.maven.org/maven2/org/mortbay/jetty/maven-jetty-plugin/6.1-SNAPSHOT/", "repository_download_url": "https://repo1.maven.org/maven2/org/mortbay/jetty/maven-jetty-plugin/6.1-SNAPSHOT/maven-jetty-plugin-6.1-SNAPSHOT.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/mortbay/jetty/maven-jetty-plugin/6.1-SNAPSHOT/maven-jetty-plugin-6.1-SNAPSHOT.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/mortbay/jetty/maven-jetty-plugin/6.1-SNAPSHOT/maven-jetty-plugin-6.1-SNAPSHOT.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.mortbay.jetty/maven-jetty-plugin@6.1-SNAPSHOT" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/mortbay/jetty/maven-jetty-plugin/6.1-SNAPSHOT/maven-jetty-plugin-6.1-SNAPSHOT.pom.package.json b/tests/packagedcode/data/m2/org/mortbay/jetty/maven-jetty-plugin/6.1-SNAPSHOT/maven-jetty-plugin-6.1-SNAPSHOT.pom.package.json index 3655d0cbbcd..1eed2956d4f 100644 --- a/tests/packagedcode/data/m2/org/mortbay/jetty/maven-jetty-plugin/6.1-SNAPSHOT/maven-jetty-plugin-6.1-SNAPSHOT.pom.package.json +++ b/tests/packagedcode/data/m2/org/mortbay/jetty/maven-jetty-plugin/6.1-SNAPSHOT/maven-jetty-plugin-6.1-SNAPSHOT.pom.package.json @@ -32,10 +32,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.mortbay.jetty/maven-jetty-plugin@6.1-SNAPSHOT?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -138,8 +138,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.mortbay.jetty/maven-jetty-plugin@6.1-SNAPSHOT", "repository_homepage_url": "https://repo1.maven.org/maven2/org/mortbay/jetty/maven-jetty-plugin/6.1-SNAPSHOT/", "repository_download_url": "https://repo1.maven.org/maven2/org/mortbay/jetty/maven-jetty-plugin/6.1-SNAPSHOT/maven-jetty-plugin-6.1-SNAPSHOT.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/mortbay/jetty/maven-jetty-plugin/6.1-SNAPSHOT/maven-jetty-plugin-6.1-SNAPSHOT.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/mortbay/jetty/maven-jetty-plugin/6.1-SNAPSHOT/maven-jetty-plugin-6.1-SNAPSHOT.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.mortbay.jetty/maven-jetty-plugin@6.1-SNAPSHOT" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/mortbay/jetty/project/6.1-SNAPSHOT/project-6.1-20090123.170629-92.pom.package.json b/tests/packagedcode/data/m2/org/mortbay/jetty/project/6.1-SNAPSHOT/project-6.1-20090123.170629-92.pom.package.json index fad6c77ce73..bb1c18b5fe3 100644 --- a/tests/packagedcode/data/m2/org/mortbay/jetty/project/6.1-SNAPSHOT/project-6.1-20090123.170629-92.pom.package.json +++ b/tests/packagedcode/data/m2/org/mortbay/jetty/project/6.1-SNAPSHOT/project-6.1-20090123.170629-92.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.mortbay.jetty/project@6.1-SNAPSHOT?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -103,8 +103,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.mortbay.jetty/project@6.1-SNAPSHOT", "repository_homepage_url": "https://repo1.maven.org/maven2/org/mortbay/jetty/project/6.1-SNAPSHOT/", "repository_download_url": "https://repo1.maven.org/maven2/org/mortbay/jetty/project/6.1-SNAPSHOT/project-6.1-SNAPSHOT.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/mortbay/jetty/project/6.1-SNAPSHOT/project-6.1-SNAPSHOT.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/mortbay/jetty/project/6.1-SNAPSHOT/project-6.1-SNAPSHOT.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.mortbay.jetty/project@6.1-SNAPSHOT" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/mortbay/jetty/project/6.1-SNAPSHOT/project-6.1-SNAPSHOT.pom.package.json b/tests/packagedcode/data/m2/org/mortbay/jetty/project/6.1-SNAPSHOT/project-6.1-SNAPSHOT.pom.package.json index fad6c77ce73..bb1c18b5fe3 100644 --- a/tests/packagedcode/data/m2/org/mortbay/jetty/project/6.1-SNAPSHOT/project-6.1-SNAPSHOT.pom.package.json +++ b/tests/packagedcode/data/m2/org/mortbay/jetty/project/6.1-SNAPSHOT/project-6.1-SNAPSHOT.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.mortbay.jetty/project@6.1-SNAPSHOT?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -103,8 +103,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.mortbay.jetty/project@6.1-SNAPSHOT", "repository_homepage_url": "https://repo1.maven.org/maven2/org/mortbay/jetty/project/6.1-SNAPSHOT/", "repository_download_url": "https://repo1.maven.org/maven2/org/mortbay/jetty/project/6.1-SNAPSHOT/project-6.1-SNAPSHOT.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/mortbay/jetty/project/6.1-SNAPSHOT/project-6.1-SNAPSHOT.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/mortbay/jetty/project/6.1-SNAPSHOT/project-6.1-SNAPSHOT.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.mortbay.jetty/project@6.1-SNAPSHOT" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/mortbay/jetty/project/6.1.5/project-6.1.5.pom.package.json b/tests/packagedcode/data/m2/org/mortbay/jetty/project/6.1.5/project-6.1.5.pom.package.json index 1143e0a8e9d..4b291382f1a 100644 --- a/tests/packagedcode/data/m2/org/mortbay/jetty/project/6.1.5/project-6.1.5.pom.package.json +++ b/tests/packagedcode/data/m2/org/mortbay/jetty/project/6.1.5/project-6.1.5.pom.package.json @@ -95,10 +95,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.mortbay.jetty/project@6.1.5?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -201,8 +201,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.mortbay.jetty/project@6.1.5", "repository_homepage_url": "https://repo1.maven.org/maven2/org/mortbay/jetty/project/6.1.5/", "repository_download_url": "https://repo1.maven.org/maven2/org/mortbay/jetty/project/6.1.5/project-6.1.5.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/mortbay/jetty/project/6.1.5/project-6.1.5.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/mortbay/jetty/project/6.1.5/project-6.1.5.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.mortbay.jetty/project@6.1.5" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/mortbay/jetty/servlet-api-2.5/6.1.5/servlet-api-2.5-6.1.5.pom.package.json b/tests/packagedcode/data/m2/org/mortbay/jetty/servlet-api-2.5/6.1.5/servlet-api-2.5-6.1.5.pom.package.json index c7aae50acc8..3c235f4414a 100644 --- a/tests/packagedcode/data/m2/org/mortbay/jetty/servlet-api-2.5/6.1.5/servlet-api-2.5-6.1.5.pom.package.json +++ b/tests/packagedcode/data/m2/org/mortbay/jetty/servlet-api-2.5/6.1.5/servlet-api-2.5-6.1.5.pom.package.json @@ -31,14 +31,15 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.mortbay.jetty/servlet-api-2.5@6.1.5?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.mortbay.jetty/servlet-api-2.5@6.1.5", "repository_homepage_url": "https://repo1.maven.org/maven2/org/mortbay/jetty/servlet-api-2.5/6.1.5/", "repository_download_url": "https://repo1.maven.org/maven2/org/mortbay/jetty/servlet-api-2.5/6.1.5/servlet-api-2.5-6.1.5.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/mortbay/jetty/servlet-api-2.5/6.1.5/servlet-api-2.5-6.1.5.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/mortbay/jetty/servlet-api-2.5/6.1.5/servlet-api-2.5-6.1.5.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.mortbay.jetty/servlet-api-2.5@6.1.5" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/openqa/selenium/client-drivers/selenium-client-drivers/0.9.2/selenium-client-drivers-0.9.2.pom.package.json b/tests/packagedcode/data/m2/org/openqa/selenium/client-drivers/selenium-client-drivers/0.9.2/selenium-client-drivers-0.9.2.pom.package.json index 3f70e9bd666..c792b2b5147 100644 --- a/tests/packagedcode/data/m2/org/openqa/selenium/client-drivers/selenium-client-drivers/0.9.2/selenium-client-drivers-0.9.2.pom.package.json +++ b/tests/packagedcode/data/m2/org/openqa/selenium/client-drivers/selenium-client-drivers/0.9.2/selenium-client-drivers-0.9.2.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.openqa.selenium.client-drivers/selenium-client-drivers@0.9.2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -49,8 +49,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.openqa.selenium.client-drivers/selenium-client-drivers@0.9.2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/openqa/selenium/client-drivers/selenium-client-drivers/0.9.2/", "repository_download_url": "https://repo1.maven.org/maven2/org/openqa/selenium/client-drivers/selenium-client-drivers/0.9.2/selenium-client-drivers-0.9.2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/openqa/selenium/client-drivers/selenium-client-drivers/0.9.2/selenium-client-drivers-0.9.2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/openqa/selenium/client-drivers/selenium-client-drivers/0.9.2/selenium-client-drivers-0.9.2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.openqa.selenium.client-drivers/selenium-client-drivers@0.9.2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/openqa/selenium/client-drivers/selenium-java-client-driver/0.9.2/selenium-java-client-driver-0.9.2.pom.package.json b/tests/packagedcode/data/m2/org/openqa/selenium/client-drivers/selenium-java-client-driver/0.9.2/selenium-java-client-driver-0.9.2.pom.package.json index 3e5fa48d012..0fb206c70ea 100644 --- a/tests/packagedcode/data/m2/org/openqa/selenium/client-drivers/selenium-java-client-driver/0.9.2/selenium-java-client-driver-0.9.2.pom.package.json +++ b/tests/packagedcode/data/m2/org/openqa/selenium/client-drivers/selenium-java-client-driver/0.9.2/selenium-java-client-driver-0.9.2.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.openqa.selenium.client-drivers/selenium-java-client-driver@0.9.2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -49,8 +49,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.openqa.selenium.client-drivers/selenium-java-client-driver@0.9.2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/openqa/selenium/client-drivers/selenium-java-client-driver/0.9.2/", "repository_download_url": "https://repo1.maven.org/maven2/org/openqa/selenium/client-drivers/selenium-java-client-driver/0.9.2/selenium-java-client-driver-0.9.2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/openqa/selenium/client-drivers/selenium-java-client-driver/0.9.2/selenium-java-client-driver-0.9.2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/openqa/selenium/client-drivers/selenium-java-client-driver/0.9.2/selenium-java-client-driver-0.9.2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.openqa.selenium.client-drivers/selenium-java-client-driver@0.9.2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/openqa/selenium/core/selenium-core/0.8.3/selenium-core-0.8.3.pom.package.json b/tests/packagedcode/data/m2/org/openqa/selenium/core/selenium-core/0.8.3/selenium-core-0.8.3.pom.package.json index 4f7bb5c5a76..707628a9e59 100644 --- a/tests/packagedcode/data/m2/org/openqa/selenium/core/selenium-core/0.8.3/selenium-core-0.8.3.pom.package.json +++ b/tests/packagedcode/data/m2/org/openqa/selenium/core/selenium-core/0.8.3/selenium-core-0.8.3.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.openqa.selenium.core/selenium-core@0.8.3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -58,8 +58,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.openqa.selenium.core/selenium-core@0.8.3", "repository_homepage_url": "https://repo1.maven.org/maven2/org/openqa/selenium/core/selenium-core/0.8.3/", "repository_download_url": "https://repo1.maven.org/maven2/org/openqa/selenium/core/selenium-core/0.8.3/selenium-core-0.8.3.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/openqa/selenium/core/selenium-core/0.8.3/selenium-core-0.8.3.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/openqa/selenium/core/selenium-core/0.8.3/selenium-core-0.8.3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.openqa.selenium.core/selenium-core@0.8.3" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/openqa/selenium/selenium-rc/0.9.1/selenium-rc-0.9.1.pom.package.json b/tests/packagedcode/data/m2/org/openqa/selenium/selenium-rc/0.9.1/selenium-rc-0.9.1.pom.package.json index a1f813ad0e6..8c08d0e3660 100644 --- a/tests/packagedcode/data/m2/org/openqa/selenium/selenium-rc/0.9.1/selenium-rc-0.9.1.pom.package.json +++ b/tests/packagedcode/data/m2/org/openqa/selenium/selenium-rc/0.9.1/selenium-rc-0.9.1.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.openqa.selenium/selenium-rc@0.9.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -121,8 +121,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.openqa.selenium/selenium-rc@0.9.1", "repository_homepage_url": "https://repo1.maven.org/maven2/org/openqa/selenium/selenium-rc/0.9.1/", "repository_download_url": "https://repo1.maven.org/maven2/org/openqa/selenium/selenium-rc/0.9.1/selenium-rc-0.9.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/openqa/selenium/selenium-rc/0.9.1/selenium-rc-0.9.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/openqa/selenium/selenium-rc/0.9.1/selenium-rc-0.9.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.openqa.selenium/selenium-rc@0.9.1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/openqa/selenium/selenium-rc/0.9.2/selenium-rc-0.9.2.pom.package.json b/tests/packagedcode/data/m2/org/openqa/selenium/selenium-rc/0.9.2/selenium-rc-0.9.2.pom.package.json index a1623bd0e32..3ff1bd4171f 100644 --- a/tests/packagedcode/data/m2/org/openqa/selenium/selenium-rc/0.9.2/selenium-rc-0.9.2.pom.package.json +++ b/tests/packagedcode/data/m2/org/openqa/selenium/selenium-rc/0.9.2/selenium-rc-0.9.2.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.openqa.selenium/selenium-rc@0.9.2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -130,8 +130,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.openqa.selenium/selenium-rc@0.9.2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/openqa/selenium/selenium-rc/0.9.2/", "repository_download_url": "https://repo1.maven.org/maven2/org/openqa/selenium/selenium-rc/0.9.2/selenium-rc-0.9.2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/openqa/selenium/selenium-rc/0.9.2/selenium-rc-0.9.2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/openqa/selenium/selenium-rc/0.9.2/selenium-rc-0.9.2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.openqa.selenium/selenium-rc@0.9.2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/openqa/selenium/server/selenium-server-coreless/0.9.1/selenium-server-coreless-0.9.1.pom.package.json b/tests/packagedcode/data/m2/org/openqa/selenium/server/selenium-server-coreless/0.9.1/selenium-server-coreless-0.9.1.pom.package.json index 968bba63458..214e7d80815 100644 --- a/tests/packagedcode/data/m2/org/openqa/selenium/server/selenium-server-coreless/0.9.1/selenium-server-coreless-0.9.1.pom.package.json +++ b/tests/packagedcode/data/m2/org/openqa/selenium/server/selenium-server-coreless/0.9.1/selenium-server-coreless-0.9.1.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.openqa.selenium.server/selenium-server-coreless@0.9.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -76,8 +76,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.openqa.selenium.server/selenium-server-coreless@0.9.1", "repository_homepage_url": "https://repo1.maven.org/maven2/org/openqa/selenium/server/selenium-server-coreless/0.9.1/", "repository_download_url": "https://repo1.maven.org/maven2/org/openqa/selenium/server/selenium-server-coreless/0.9.1/selenium-server-coreless-0.9.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/openqa/selenium/server/selenium-server-coreless/0.9.1/selenium-server-coreless-0.9.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/openqa/selenium/server/selenium-server-coreless/0.9.1/selenium-server-coreless-0.9.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.openqa.selenium.server/selenium-server-coreless@0.9.1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/openqa/selenium/server/selenium-server-coreless/0.9.2/selenium-server-coreless-0.9.2.pom.package.json b/tests/packagedcode/data/m2/org/openqa/selenium/server/selenium-server-coreless/0.9.2/selenium-server-coreless-0.9.2.pom.package.json index 096d0ef02eb..e3f1a5787c8 100644 --- a/tests/packagedcode/data/m2/org/openqa/selenium/server/selenium-server-coreless/0.9.2/selenium-server-coreless-0.9.2.pom.package.json +++ b/tests/packagedcode/data/m2/org/openqa/selenium/server/selenium-server-coreless/0.9.2/selenium-server-coreless-0.9.2.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.openqa.selenium.server/selenium-server-coreless@0.9.2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -85,8 +85,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.openqa.selenium.server/selenium-server-coreless@0.9.2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/openqa/selenium/server/selenium-server-coreless/0.9.2/", "repository_download_url": "https://repo1.maven.org/maven2/org/openqa/selenium/server/selenium-server-coreless/0.9.2/selenium-server-coreless-0.9.2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/openqa/selenium/server/selenium-server-coreless/0.9.2/selenium-server-coreless-0.9.2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/openqa/selenium/server/selenium-server-coreless/0.9.2/selenium-server-coreless-0.9.2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.openqa.selenium.server/selenium-server-coreless@0.9.2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/openqa/selenium/server/selenium-server/0.9.2/selenium-server-0.9.2.pom.package.json b/tests/packagedcode/data/m2/org/openqa/selenium/server/selenium-server/0.9.2/selenium-server-0.9.2.pom.package.json index 0208983a37d..985ed326e17 100644 --- a/tests/packagedcode/data/m2/org/openqa/selenium/server/selenium-server/0.9.2/selenium-server-0.9.2.pom.package.json +++ b/tests/packagedcode/data/m2/org/openqa/selenium/server/selenium-server/0.9.2/selenium-server-0.9.2.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.openqa.selenium.server/selenium-server@0.9.2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -49,8 +49,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.openqa.selenium.server/selenium-server@0.9.2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/openqa/selenium/server/selenium-server/0.9.2/", "repository_download_url": "https://repo1.maven.org/maven2/org/openqa/selenium/server/selenium-server/0.9.2/selenium-server-0.9.2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/openqa/selenium/server/selenium-server/0.9.2/selenium-server-0.9.2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/openqa/selenium/server/selenium-server/0.9.2/selenium-server-0.9.2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.openqa.selenium.server/selenium-server@0.9.2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/slf4j/slf4j-api/1.4.2/slf4j-api-1.4.2.pom.package.json b/tests/packagedcode/data/m2/org/slf4j/slf4j-api/1.4.2/slf4j-api-1.4.2.pom.package.json index f814f547ce5..702002a1138 100644 --- a/tests/packagedcode/data/m2/org/slf4j/slf4j-api/1.4.2/slf4j-api-1.4.2.pom.package.json +++ b/tests/packagedcode/data/m2/org/slf4j/slf4j-api/1.4.2/slf4j-api-1.4.2.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.slf4j/slf4j-api@1.4.2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.slf4j/slf4j-api@1.4.2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/slf4j/slf4j-api/1.4.2/", "repository_download_url": "https://repo1.maven.org/maven2/org/slf4j/slf4j-api/1.4.2/slf4j-api-1.4.2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/slf4j/slf4j-api/1.4.2/slf4j-api-1.4.2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/slf4j/slf4j-api/1.4.2/slf4j-api-1.4.2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.slf4j/slf4j-api@1.4.2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/slf4j/slf4j-log4j12/1.4.2/slf4j-log4j12-1.4.2.pom.package.json b/tests/packagedcode/data/m2/org/slf4j/slf4j-log4j12/1.4.2/slf4j-log4j12-1.4.2.pom.package.json index 702cded61fa..c5878330eb0 100644 --- a/tests/packagedcode/data/m2/org/slf4j/slf4j-log4j12/1.4.2/slf4j-log4j12-1.4.2.pom.package.json +++ b/tests/packagedcode/data/m2/org/slf4j/slf4j-log4j12/1.4.2/slf4j-log4j12-1.4.2.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.slf4j/slf4j-log4j12@1.4.2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -49,8 +49,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.slf4j/slf4j-log4j12@1.4.2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/slf4j/slf4j-log4j12/1.4.2/", "repository_download_url": "https://repo1.maven.org/maven2/org/slf4j/slf4j-log4j12/1.4.2/slf4j-log4j12-1.4.2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/slf4j/slf4j-log4j12/1.4.2/slf4j-log4j12-1.4.2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/slf4j/slf4j-log4j12/1.4.2/slf4j-log4j12-1.4.2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.slf4j/slf4j-log4j12@1.4.2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/slf4j/slf4j-parent/1.4.2/slf4j-parent-1.4.2.pom.package.json b/tests/packagedcode/data/m2/org/slf4j/slf4j-parent/1.4.2/slf4j-parent-1.4.2.pom.package.json index e50d311b08e..4cd88901a1b 100644 --- a/tests/packagedcode/data/m2/org/slf4j/slf4j-parent/1.4.2/slf4j-parent-1.4.2.pom.package.json +++ b/tests/packagedcode/data/m2/org/slf4j/slf4j-parent/1.4.2/slf4j-parent-1.4.2.pom.package.json @@ -32,10 +32,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.slf4j/slf4j-parent@1.4.2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -66,8 +66,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.slf4j/slf4j-parent@1.4.2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/slf4j/slf4j-parent/1.4.2/", "repository_download_url": "https://repo1.maven.org/maven2/org/slf4j/slf4j-parent/1.4.2/slf4j-parent-1.4.2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/slf4j/slf4j-parent/1.4.2/slf4j-parent-1.4.2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/slf4j/slf4j-parent/1.4.2/slf4j-parent-1.4.2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.slf4j/slf4j-parent@1.4.2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/springframework/spring-aop/2.5.3/spring-aop-2.5.3.pom.package.json b/tests/packagedcode/data/m2/org/springframework/spring-aop/2.5.3/spring-aop-2.5.3.pom.package.json index ae12442b519..94575b53cd3 100644 --- a/tests/packagedcode/data/m2/org/springframework/spring-aop/2.5.3/spring-aop-2.5.3.pom.package.json +++ b/tests/packagedcode/data/m2/org/springframework/spring-aop/2.5.3/spring-aop-2.5.3.pom.package.json @@ -39,10 +39,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.springframework/spring-aop@2.5.3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -154,8 +154,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.springframework/spring-aop@2.5.3", "repository_homepage_url": "https://repo1.maven.org/maven2/org/springframework/spring-aop/2.5.3/", "repository_download_url": "https://repo1.maven.org/maven2/org/springframework/spring-aop/2.5.3/spring-aop-2.5.3.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/springframework/spring-aop/2.5.3/spring-aop-2.5.3.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/springframework/spring-aop/2.5.3/spring-aop-2.5.3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.springframework/spring-aop@2.5.3" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/springframework/spring-aspects/2.5.3/spring-aspects-2.5.3.pom.package.json b/tests/packagedcode/data/m2/org/springframework/spring-aspects/2.5.3/spring-aspects-2.5.3.pom.package.json index 71bb753cdec..852f72b511c 100644 --- a/tests/packagedcode/data/m2/org/springframework/spring-aspects/2.5.3/spring-aspects-2.5.3.pom.package.json +++ b/tests/packagedcode/data/m2/org/springframework/spring-aspects/2.5.3/spring-aspects-2.5.3.pom.package.json @@ -39,10 +39,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.springframework/spring-aspects@2.5.3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -91,8 +91,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.springframework/spring-aspects@2.5.3", "repository_homepage_url": "https://repo1.maven.org/maven2/org/springframework/spring-aspects/2.5.3/", "repository_download_url": "https://repo1.maven.org/maven2/org/springframework/spring-aspects/2.5.3/spring-aspects-2.5.3.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/springframework/spring-aspects/2.5.3/spring-aspects-2.5.3.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/springframework/spring-aspects/2.5.3/spring-aspects-2.5.3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.springframework/spring-aspects@2.5.3" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/springframework/spring-aspects/2.5.4/spring-aspects-2.5.4.pom.package.json b/tests/packagedcode/data/m2/org/springframework/spring-aspects/2.5.4/spring-aspects-2.5.4.pom.package.json index 38b74d9e2bc..48bfd6ee470 100644 --- a/tests/packagedcode/data/m2/org/springframework/spring-aspects/2.5.4/spring-aspects-2.5.4.pom.package.json +++ b/tests/packagedcode/data/m2/org/springframework/spring-aspects/2.5.4/spring-aspects-2.5.4.pom.package.json @@ -39,10 +39,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.springframework/spring-aspects@2.5.4?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -91,8 +91,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.springframework/spring-aspects@2.5.4", "repository_homepage_url": "https://repo1.maven.org/maven2/org/springframework/spring-aspects/2.5.4/", "repository_download_url": "https://repo1.maven.org/maven2/org/springframework/spring-aspects/2.5.4/spring-aspects-2.5.4.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/springframework/spring-aspects/2.5.4/spring-aspects-2.5.4.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/springframework/spring-aspects/2.5.4/spring-aspects-2.5.4.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.springframework/spring-aspects@2.5.4" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/springframework/spring-beans/2.5.3/spring-beans-2.5.3.pom.package.json b/tests/packagedcode/data/m2/org/springframework/spring-beans/2.5.3/spring-beans-2.5.3.pom.package.json index a2f31f48f47..bbe45170c20 100644 --- a/tests/packagedcode/data/m2/org/springframework/spring-beans/2.5.3/spring-beans-2.5.3.pom.package.json +++ b/tests/packagedcode/data/m2/org/springframework/spring-beans/2.5.3/spring-beans-2.5.3.pom.package.json @@ -39,10 +39,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.springframework/spring-beans@2.5.3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -73,8 +73,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.springframework/spring-beans@2.5.3", "repository_homepage_url": "https://repo1.maven.org/maven2/org/springframework/spring-beans/2.5.3/", "repository_download_url": "https://repo1.maven.org/maven2/org/springframework/spring-beans/2.5.3/spring-beans-2.5.3.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/springframework/spring-beans/2.5.3/spring-beans-2.5.3.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/springframework/spring-beans/2.5.3/spring-beans-2.5.3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.springframework/spring-beans@2.5.3" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/springframework/spring-context-support/2.5.3/spring-context-support-2.5.3.pom.package.json b/tests/packagedcode/data/m2/org/springframework/spring-context-support/2.5.3/spring-context-support-2.5.3.pom.package.json index ea066eab531..48a6e412773 100644 --- a/tests/packagedcode/data/m2/org/springframework/spring-context-support/2.5.3/spring-context-support-2.5.3.pom.package.json +++ b/tests/packagedcode/data/m2/org/springframework/spring-context-support/2.5.3/spring-context-support-2.5.3.pom.package.json @@ -39,10 +39,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.springframework/spring-context-support@2.5.3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -262,8 +262,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.springframework/spring-context-support@2.5.3", "repository_homepage_url": "https://repo1.maven.org/maven2/org/springframework/spring-context-support/2.5.3/", "repository_download_url": "https://repo1.maven.org/maven2/org/springframework/spring-context-support/2.5.3/spring-context-support-2.5.3.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/springframework/spring-context-support/2.5.3/spring-context-support-2.5.3.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/springframework/spring-context-support/2.5.3/spring-context-support-2.5.3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.springframework/spring-context-support@2.5.3" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/springframework/spring-context/2.5.3/spring-context-2.5.3.pom.package.json b/tests/packagedcode/data/m2/org/springframework/spring-context/2.5.3/spring-context-2.5.3.pom.package.json index be3d1cd59df..1336dd3489f 100644 --- a/tests/packagedcode/data/m2/org/springframework/spring-context/2.5.3/spring-context-2.5.3.pom.package.json +++ b/tests/packagedcode/data/m2/org/springframework/spring-context/2.5.3/spring-context-2.5.3.pom.package.json @@ -39,10 +39,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.springframework/spring-context@2.5.3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -145,8 +145,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.springframework/spring-context@2.5.3", "repository_homepage_url": "https://repo1.maven.org/maven2/org/springframework/spring-context/2.5.3/", "repository_download_url": "https://repo1.maven.org/maven2/org/springframework/spring-context/2.5.3/spring-context-2.5.3.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/springframework/spring-context/2.5.3/spring-context-2.5.3.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/springframework/spring-context/2.5.3/spring-context-2.5.3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.springframework/spring-context@2.5.3" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/springframework/spring-core/2.5.3/spring-core-2.5.3.pom.package.json b/tests/packagedcode/data/m2/org/springframework/spring-core/2.5.3/spring-core-2.5.3.pom.package.json index 618d0a639b9..074a6f85aff 100644 --- a/tests/packagedcode/data/m2/org/springframework/spring-core/2.5.3/spring-core-2.5.3.pom.package.json +++ b/tests/packagedcode/data/m2/org/springframework/spring-core/2.5.3/spring-core-2.5.3.pom.package.json @@ -39,10 +39,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.springframework/spring-core@2.5.3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -109,8 +109,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.springframework/spring-core@2.5.3", "repository_homepage_url": "https://repo1.maven.org/maven2/org/springframework/spring-core/2.5.3/", "repository_download_url": "https://repo1.maven.org/maven2/org/springframework/spring-core/2.5.3/spring-core-2.5.3.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/springframework/spring-core/2.5.3/spring-core-2.5.3.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/springframework/spring-core/2.5.3/spring-core-2.5.3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.springframework/spring-core@2.5.3" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/springframework/spring-jdbc/2.5.3/spring-jdbc-2.5.3.pom.package.json b/tests/packagedcode/data/m2/org/springframework/spring-jdbc/2.5.3/spring-jdbc-2.5.3.pom.package.json index bd21896e6b5..2165cd95c53 100644 --- a/tests/packagedcode/data/m2/org/springframework/spring-jdbc/2.5.3/spring-jdbc-2.5.3.pom.package.json +++ b/tests/packagedcode/data/m2/org/springframework/spring-jdbc/2.5.3/spring-jdbc-2.5.3.pom.package.json @@ -39,10 +39,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.springframework/spring-jdbc@2.5.3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -118,8 +118,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.springframework/spring-jdbc@2.5.3", "repository_homepage_url": "https://repo1.maven.org/maven2/org/springframework/spring-jdbc/2.5.3/", "repository_download_url": "https://repo1.maven.org/maven2/org/springframework/spring-jdbc/2.5.3/spring-jdbc-2.5.3.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/springframework/spring-jdbc/2.5.3/spring-jdbc-2.5.3.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/springframework/spring-jdbc/2.5.3/spring-jdbc-2.5.3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.springframework/spring-jdbc@2.5.3" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/springframework/spring-orm/2.5.3/spring-orm-2.5.3.pom.package.json b/tests/packagedcode/data/m2/org/springframework/spring-orm/2.5.3/spring-orm-2.5.3.pom.package.json index 23b59d94558..772ae6b7cab 100644 --- a/tests/packagedcode/data/m2/org/springframework/spring-orm/2.5.3/spring-orm-2.5.3.pom.package.json +++ b/tests/packagedcode/data/m2/org/springframework/spring-orm/2.5.3/spring-orm-2.5.3.pom.package.json @@ -39,10 +39,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.springframework/spring-orm@2.5.3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -190,8 +190,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.springframework/spring-orm@2.5.3", "repository_homepage_url": "https://repo1.maven.org/maven2/org/springframework/spring-orm/2.5.3/", "repository_download_url": "https://repo1.maven.org/maven2/org/springframework/spring-orm/2.5.3/spring-orm-2.5.3.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/springframework/spring-orm/2.5.3/spring-orm-2.5.3.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/springframework/spring-orm/2.5.3/spring-orm-2.5.3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.springframework/spring-orm@2.5.3" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/springframework/spring-test/2.5.3/spring-test-2.5.3.pom.package.json b/tests/packagedcode/data/m2/org/springframework/spring-test/2.5.3/spring-test-2.5.3.pom.package.json index 574d6aef2cb..9975f2ed68c 100644 --- a/tests/packagedcode/data/m2/org/springframework/spring-test/2.5.3/spring-test-2.5.3.pom.package.json +++ b/tests/packagedcode/data/m2/org/springframework/spring-test/2.5.3/spring-test-2.5.3.pom.package.json @@ -39,10 +39,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.springframework/spring-test@2.5.3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -190,8 +190,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.springframework/spring-test@2.5.3", "repository_homepage_url": "https://repo1.maven.org/maven2/org/springframework/spring-test/2.5.3/", "repository_download_url": "https://repo1.maven.org/maven2/org/springframework/spring-test/2.5.3/spring-test-2.5.3.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/springframework/spring-test/2.5.3/spring-test-2.5.3.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/springframework/spring-test/2.5.3/spring-test-2.5.3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.springframework/spring-test@2.5.3" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/springframework/spring-test/2.5.4/spring-test-2.5.4.pom.package.json b/tests/packagedcode/data/m2/org/springframework/spring-test/2.5.4/spring-test-2.5.4.pom.package.json index 3ed50d24dd2..86d54aa4f9e 100644 --- a/tests/packagedcode/data/m2/org/springframework/spring-test/2.5.4/spring-test-2.5.4.pom.package.json +++ b/tests/packagedcode/data/m2/org/springframework/spring-test/2.5.4/spring-test-2.5.4.pom.package.json @@ -39,10 +39,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.springframework/spring-test@2.5.4?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -190,8 +190,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.springframework/spring-test@2.5.4", "repository_homepage_url": "https://repo1.maven.org/maven2/org/springframework/spring-test/2.5.4/", "repository_download_url": "https://repo1.maven.org/maven2/org/springframework/spring-test/2.5.4/spring-test-2.5.4.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/springframework/spring-test/2.5.4/spring-test-2.5.4.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/springframework/spring-test/2.5.4/spring-test-2.5.4.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.springframework/spring-test@2.5.4" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/springframework/spring-tx/2.5.3/spring-tx-2.5.3.pom.package.json b/tests/packagedcode/data/m2/org/springframework/spring-tx/2.5.3/spring-tx-2.5.3.pom.package.json index 3af2d190fb9..0fba3033d65 100644 --- a/tests/packagedcode/data/m2/org/springframework/spring-tx/2.5.3/spring-tx-2.5.3.pom.package.json +++ b/tests/packagedcode/data/m2/org/springframework/spring-tx/2.5.3/spring-tx-2.5.3.pom.package.json @@ -39,10 +39,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.springframework/spring-tx@2.5.3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -136,8 +136,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.springframework/spring-tx@2.5.3", "repository_homepage_url": "https://repo1.maven.org/maven2/org/springframework/spring-tx/2.5.3/", "repository_download_url": "https://repo1.maven.org/maven2/org/springframework/spring-tx/2.5.3/spring-tx-2.5.3.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/springframework/spring-tx/2.5.3/spring-tx-2.5.3.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/springframework/spring-tx/2.5.3/spring-tx-2.5.3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.springframework/spring-tx@2.5.3" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/springframework/spring-web/2.5.3/spring-web-2.5.3.pom.package.json b/tests/packagedcode/data/m2/org/springframework/spring-web/2.5.3/spring-web-2.5.3.pom.package.json index dd4dd8d5335..017f6896eb3 100644 --- a/tests/packagedcode/data/m2/org/springframework/spring-web/2.5.3/spring-web-2.5.3.pom.package.json +++ b/tests/packagedcode/data/m2/org/springframework/spring-web/2.5.3/spring-web-2.5.3.pom.package.json @@ -39,10 +39,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.springframework/spring-web@2.5.3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -181,8 +181,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.springframework/spring-web@2.5.3", "repository_homepage_url": "https://repo1.maven.org/maven2/org/springframework/spring-web/2.5.3/", "repository_download_url": "https://repo1.maven.org/maven2/org/springframework/spring-web/2.5.3/spring-web-2.5.3.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/springframework/spring-web/2.5.3/spring-web-2.5.3.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/springframework/spring-web/2.5.3/spring-web-2.5.3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.springframework/spring-web@2.5.3" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/springframework/spring-webmvc/2.5.3/spring-webmvc-2.5.3.pom.package.json b/tests/packagedcode/data/m2/org/springframework/spring-webmvc/2.5.3/spring-webmvc-2.5.3.pom.package.json index c22828b117b..03352de8c00 100644 --- a/tests/packagedcode/data/m2/org/springframework/spring-webmvc/2.5.3/spring-webmvc-2.5.3.pom.package.json +++ b/tests/packagedcode/data/m2/org/springframework/spring-webmvc/2.5.3/spring-webmvc-2.5.3.pom.package.json @@ -39,10 +39,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.springframework/spring-webmvc@2.5.3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -244,8 +244,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.springframework/spring-webmvc@2.5.3", "repository_homepage_url": "https://repo1.maven.org/maven2/org/springframework/spring-webmvc/2.5.3/", "repository_download_url": "https://repo1.maven.org/maven2/org/springframework/spring-webmvc/2.5.3/spring-webmvc-2.5.3.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/springframework/spring-webmvc/2.5.3/spring-webmvc-2.5.3.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/springframework/spring-webmvc/2.5.3/spring-webmvc-2.5.3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.springframework/spring-webmvc@2.5.3" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/springframework/spring-webmvc/2.5.4/spring-webmvc-2.5.4.pom.package.json b/tests/packagedcode/data/m2/org/springframework/spring-webmvc/2.5.4/spring-webmvc-2.5.4.pom.package.json index 8a59fece94d..58d318850b6 100644 --- a/tests/packagedcode/data/m2/org/springframework/spring-webmvc/2.5.4/spring-webmvc-2.5.4.pom.package.json +++ b/tests/packagedcode/data/m2/org/springframework/spring-webmvc/2.5.4/spring-webmvc-2.5.4.pom.package.json @@ -39,10 +39,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.springframework/spring-webmvc@2.5.4?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -244,8 +244,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.springframework/spring-webmvc@2.5.4", "repository_homepage_url": "https://repo1.maven.org/maven2/org/springframework/spring-webmvc/2.5.4/", "repository_download_url": "https://repo1.maven.org/maven2/org/springframework/spring-webmvc/2.5.4/spring-webmvc-2.5.4.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/springframework/spring-webmvc/2.5.4/spring-webmvc-2.5.4.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/springframework/spring-webmvc/2.5.4/spring-webmvc-2.5.4.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.springframework/spring-webmvc@2.5.4" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/springframework/spring/2.5.4/spring-2.5.4.pom.package.json b/tests/packagedcode/data/m2/org/springframework/spring/2.5.4/spring-2.5.4.pom.package.json index efb6b8d0f8f..acf8c5bb3c7 100644 --- a/tests/packagedcode/data/m2/org/springframework/spring/2.5.4/spring-2.5.4.pom.package.json +++ b/tests/packagedcode/data/m2/org/springframework/spring/2.5.4/spring-2.5.4.pom.package.json @@ -39,10 +39,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.springframework/spring@2.5.4?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -631,8 +631,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.springframework/spring@2.5.4", "repository_homepage_url": "https://repo1.maven.org/maven2/org/springframework/spring/2.5.4/", "repository_download_url": "https://repo1.maven.org/maven2/org/springframework/spring/2.5.4/spring-2.5.4.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/springframework/spring/2.5.4/spring-2.5.4.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/springframework/spring/2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.springframework/spring@2.5.4" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/testng/testng/5.7/testng-5.7.pom.package.json b/tests/packagedcode/data/m2/org/testng/testng/5.7/testng-5.7.pom.package.json index ccbc9dd7470..f4369cd92f2 100644 --- a/tests/packagedcode/data/m2/org/testng/testng/5.7/testng-5.7.pom.package.json +++ b/tests/packagedcode/data/m2/org/testng/testng/5.7/testng-5.7.pom.package.json @@ -31,10 +31,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.testng/testng@5.7?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -74,8 +74,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.testng/testng@5.7", "repository_homepage_url": "https://repo1.maven.org/maven2/org/testng/testng/5.7/", "repository_download_url": "https://repo1.maven.org/maven2/org/testng/testng/5.7/testng-5.7.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/testng/testng/5.7/testng-5.7.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/testng/testng/5.7/testng-5.7.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.testng/testng@5.7" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/testng/testng/5.8/testng-5.8.pom.package.json b/tests/packagedcode/data/m2/org/testng/testng/5.8/testng-5.8.pom.package.json index dde25a65cd7..39e0f62b130 100644 --- a/tests/packagedcode/data/m2/org/testng/testng/5.8/testng-5.8.pom.package.json +++ b/tests/packagedcode/data/m2/org/testng/testng/5.8/testng-5.8.pom.package.json @@ -31,10 +31,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.testng/testng@5.8?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -74,8 +74,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.testng/testng@5.8", "repository_homepage_url": "https://repo1.maven.org/maven2/org/testng/testng/5.8/", "repository_download_url": "https://repo1.maven.org/maven2/org/testng/testng/5.8/testng-5.8.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/testng/testng/5.8/testng-5.8.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/testng/testng/5.8/testng-5.8.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.testng/testng@5.8" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/org/uncommons/reportng/0.9.5/reportng-0.9.5.pom.package.json b/tests/packagedcode/data/m2/org/uncommons/reportng/0.9.5/reportng-0.9.5.pom.package.json index 8a3c4fa59b2..405ce8edc9a 100644 --- a/tests/packagedcode/data/m2/org/uncommons/reportng/0.9.5/reportng-0.9.5.pom.package.json +++ b/tests/packagedcode/data/m2/org/uncommons/reportng/0.9.5/reportng-0.9.5.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.uncommons/reportng@0.9.5?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.uncommons/reportng@0.9.5", "repository_homepage_url": "https://repo1.maven.org/maven2/org/uncommons/reportng/0.9.5/", "repository_download_url": "https://repo1.maven.org/maven2/org/uncommons/reportng/0.9.5/reportng-0.9.5.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/uncommons/reportng/0.9.5/reportng-0.9.5.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/uncommons/reportng/0.9.5/reportng-0.9.5.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.uncommons/reportng@0.9.5" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/oro/oro/2.0.7/oro-2.0.7.pom.package.json b/tests/packagedcode/data/m2/oro/oro/2.0.7/oro-2.0.7.pom.package.json index 888a35d0641..41600acd1ff 100644 --- a/tests/packagedcode/data/m2/oro/oro/2.0.7/oro-2.0.7.pom.package.json +++ b/tests/packagedcode/data/m2/oro/oro/2.0.7/oro-2.0.7.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/oro/oro@2.0.7?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/oro/oro@2.0.7", "repository_homepage_url": "https://repo1.maven.org/maven2/oro/oro/2.0.7/", "repository_download_url": "https://repo1.maven.org/maven2/oro/oro/2.0.7/oro-2.0.7.jar", - "api_data_url": "https://repo1.maven.org/maven2/oro/oro/2.0.7/oro-2.0.7.pom" + "api_data_url": "https://repo1.maven.org/maven2/oro/oro/2.0.7/oro-2.0.7.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/oro/oro@2.0.7" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/oro/oro/2.0.8/oro-2.0.8.pom.package.json b/tests/packagedcode/data/m2/oro/oro/2.0.8/oro-2.0.8.pom.package.json index 4d2c20b3127..30f5a22f39f 100644 --- a/tests/packagedcode/data/m2/oro/oro/2.0.8/oro-2.0.8.pom.package.json +++ b/tests/packagedcode/data/m2/oro/oro/2.0.8/oro-2.0.8.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/oro/oro@2.0.8?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/oro/oro@2.0.8", "repository_homepage_url": "https://repo1.maven.org/maven2/oro/oro/2.0.8/", "repository_download_url": "https://repo1.maven.org/maven2/oro/oro/2.0.8/oro-2.0.8.jar", - "api_data_url": "https://repo1.maven.org/maven2/oro/oro/2.0.8/oro-2.0.8.pom" + "api_data_url": "https://repo1.maven.org/maven2/oro/oro/2.0.8/oro-2.0.8.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/oro/oro@2.0.8" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/p6spy/p6spy/1.3/p6spy-1.3.pom.package.json b/tests/packagedcode/data/m2/p6spy/p6spy/1.3/p6spy-1.3.pom.package.json index a256b54e508..16ed3669414 100644 --- a/tests/packagedcode/data/m2/p6spy/p6spy/1.3/p6spy-1.3.pom.package.json +++ b/tests/packagedcode/data/m2/p6spy/p6spy/1.3/p6spy-1.3.pom.package.json @@ -67,10 +67,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/p6spy/p6spy@1.3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -128,8 +128,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/p6spy/p6spy@1.3", "repository_homepage_url": "https://repo1.maven.org/maven2/p6spy/p6spy/1.3/", "repository_download_url": "https://repo1.maven.org/maven2/p6spy/p6spy/1.3/p6spy-1.3.jar", - "api_data_url": "https://repo1.maven.org/maven2/p6spy/p6spy/1.3/p6spy-1.3.pom" + "api_data_url": "https://repo1.maven.org/maven2/p6spy/p6spy/1.3/p6spy-1.3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/p6spy/p6spy@1.3" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/parsing_issues/inifinite_loop/argus-webservices-2.7.0.pom.package.json b/tests/packagedcode/data/m2/parsing_issues/inifinite_loop/argus-webservices-2.7.0.pom.package.json index 1c6ca2167d6..bcc2dc96e38 100644 --- a/tests/packagedcode/data/m2/parsing_issues/inifinite_loop/argus-webservices-2.7.0.pom.package.json +++ b/tests/packagedcode/data/m2/parsing_issues/inifinite_loop/argus-webservices-2.7.0.pom.package.json @@ -26,10 +26,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/com.salesforce.argus/argus-webservices@%24%7Bproject.version%7D?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -132,8 +132,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/com.salesforce.argus/argus-webservices@%24%7Bproject.version%7D?type=war", "repository_homepage_url": "https://repo1.maven.org/maven2/com/salesforce/argus/argus-webservices/${project.version}/", "repository_download_url": "https://repo1.maven.org/maven2/com/salesforce/argus/argus-webservices/${project.version}/argus-webservices-${project.version}.war", - "api_data_url": "https://repo1.maven.org/maven2/com/salesforce/argus/argus-webservices/${project.version}/argus-webservices-${project.version}.pom" + "api_data_url": "https://repo1.maven.org/maven2/com/salesforce/argus/argus-webservices/${project.version}/argus-webservices-${project.version}.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/com.salesforce.argus/argus-webservices@%24%7Bproject.version%7D?type=war" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/parsing_issues/inifinite_loop/argus-webservices-2.8.0.pom.package.json b/tests/packagedcode/data/m2/parsing_issues/inifinite_loop/argus-webservices-2.8.0.pom.package.json index 1c6ca2167d6..bcc2dc96e38 100644 --- a/tests/packagedcode/data/m2/parsing_issues/inifinite_loop/argus-webservices-2.8.0.pom.package.json +++ b/tests/packagedcode/data/m2/parsing_issues/inifinite_loop/argus-webservices-2.8.0.pom.package.json @@ -26,10 +26,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/com.salesforce.argus/argus-webservices@%24%7Bproject.version%7D?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -132,8 +132,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/com.salesforce.argus/argus-webservices@%24%7Bproject.version%7D?type=war", "repository_homepage_url": "https://repo1.maven.org/maven2/com/salesforce/argus/argus-webservices/${project.version}/", "repository_download_url": "https://repo1.maven.org/maven2/com/salesforce/argus/argus-webservices/${project.version}/argus-webservices-${project.version}.war", - "api_data_url": "https://repo1.maven.org/maven2/com/salesforce/argus/argus-webservices/${project.version}/argus-webservices-${project.version}.pom" + "api_data_url": "https://repo1.maven.org/maven2/com/salesforce/argus/argus-webservices/${project.version}/argus-webservices-${project.version}.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/com.salesforce.argus/argus-webservices@%24%7Bproject.version%7D?type=war" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/parsing_issues/inifinite_loop/coreplugin-1.0.0.pom.package.json b/tests/packagedcode/data/m2/parsing_issues/inifinite_loop/coreplugin-1.0.0.pom.package.json index dc653b5bcc6..d6550248a4a 100644 --- a/tests/packagedcode/data/m2/parsing_issues/inifinite_loop/coreplugin-1.0.0.pom.package.json +++ b/tests/packagedcode/data/m2/parsing_issues/inifinite_loop/coreplugin-1.0.0.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/net.sourceforge.findbugs/coreplugin@1.0.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/net.sourceforge.findbugs/coreplugin@1.0.0", "repository_homepage_url": "https://repo1.maven.org/maven2/net/sourceforge/findbugs/coreplugin/1.0.0/", "repository_download_url": "https://repo1.maven.org/maven2/net/sourceforge/findbugs/coreplugin/1.0.0/coreplugin-1.0.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/net/sourceforge/findbugs/coreplugin/1.0.0/coreplugin-1.0.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/net/sourceforge/findbugs/coreplugin/1.0.0/coreplugin-1.0.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/net.sourceforge.findbugs/coreplugin@1.0.0" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/parsing_issues/inifinite_loop/jacuzzi-annotations-0.2.1.pom.package.json b/tests/packagedcode/data/m2/parsing_issues/inifinite_loop/jacuzzi-annotations-0.2.1.pom.package.json index 81eeb6bdefa..639d1b527ed 100644 --- a/tests/packagedcode/data/m2/parsing_issues/inifinite_loop/jacuzzi-annotations-0.2.1.pom.package.json +++ b/tests/packagedcode/data/m2/parsing_issues/inifinite_loop/jacuzzi-annotations-0.2.1.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/com.github.albertoanguita/jacuzzi-annotations@%24%7Bversion%7D?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/com.github.albertoanguita/jacuzzi-annotations@%24%7Bversion%7D", "repository_homepage_url": "https://repo1.maven.org/maven2/com/github/albertoanguita/jacuzzi-annotations/${version}/", "repository_download_url": "https://repo1.maven.org/maven2/com/github/albertoanguita/jacuzzi-annotations/${version}/jacuzzi-annotations-${version}.jar", - "api_data_url": "https://repo1.maven.org/maven2/com/github/albertoanguita/jacuzzi-annotations/${version}/jacuzzi-annotations-${version}.pom" + "api_data_url": "https://repo1.maven.org/maven2/com/github/albertoanguita/jacuzzi-annotations/${version}/jacuzzi-annotations-${version}.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/com.github.albertoanguita/jacuzzi-annotations@%24%7Bversion%7D" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/parsing_issues/inifinite_loop/jacuzzi-database-0.2.1.pom.package.json b/tests/packagedcode/data/m2/parsing_issues/inifinite_loop/jacuzzi-database-0.2.1.pom.package.json index f4f3a5d3a05..e814e4e3e81 100644 --- a/tests/packagedcode/data/m2/parsing_issues/inifinite_loop/jacuzzi-database-0.2.1.pom.package.json +++ b/tests/packagedcode/data/m2/parsing_issues/inifinite_loop/jacuzzi-database-0.2.1.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/com.github.albertoanguita/jacuzzi-database@%24%7Bversion%7D?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -58,8 +58,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/com.github.albertoanguita/jacuzzi-database@%24%7Bversion%7D", "repository_homepage_url": "https://repo1.maven.org/maven2/com/github/albertoanguita/jacuzzi-database/${version}/", "repository_download_url": "https://repo1.maven.org/maven2/com/github/albertoanguita/jacuzzi-database/${version}/jacuzzi-database-${version}.jar", - "api_data_url": "https://repo1.maven.org/maven2/com/github/albertoanguita/jacuzzi-database/${version}/jacuzzi-database-${version}.pom" + "api_data_url": "https://repo1.maven.org/maven2/com/github/albertoanguita/jacuzzi-database/${version}/jacuzzi-database-${version}.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/com.github.albertoanguita/jacuzzi-database@%24%7Bversion%7D" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/parsing_issues/inifinite_loop/ojcms-beans-0.1-beta.pom.package.json b/tests/packagedcode/data/m2/parsing_issues/inifinite_loop/ojcms-beans-0.1-beta.pom.package.json index 60c34ca7783..ed0c829315c 100644 --- a/tests/packagedcode/data/m2/parsing_issues/inifinite_loop/ojcms-beans-0.1-beta.pom.package.json +++ b/tests/packagedcode/data/m2/parsing_issues/inifinite_loop/ojcms-beans-0.1-beta.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/com.github.simondan.ojcms/ojcms-beans@%24%7Bproject.version%7D?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/com.github.simondan.ojcms/ojcms-beans@%24%7Bproject.version%7D", "repository_homepage_url": "https://repo1.maven.org/maven2/com/github/simondan/ojcms/ojcms-beans/${project.version}/", "repository_download_url": "https://repo1.maven.org/maven2/com/github/simondan/ojcms/ojcms-beans/${project.version}/ojcms-beans-${project.version}.jar", - "api_data_url": "https://repo1.maven.org/maven2/com/github/simondan/ojcms/ojcms-beans/${project.version}/ojcms-beans-${project.version}.pom" + "api_data_url": "https://repo1.maven.org/maven2/com/github/simondan/ojcms/ojcms-beans/${project.version}/ojcms-beans-${project.version}.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/com.github.simondan.ojcms/ojcms-beans@%24%7Bproject.version%7D" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/parsing_issues/inifinite_loop/pkg-2.0.13.1005.pom.package.json b/tests/packagedcode/data/m2/parsing_issues/inifinite_loop/pkg-2.0.13.1005.pom.package.json index 067e49e5e4c..9c0999b94d0 100644 --- a/tests/packagedcode/data/m2/parsing_issues/inifinite_loop/pkg-2.0.13.1005.pom.package.json +++ b/tests/packagedcode/data/m2/parsing_issues/inifinite_loop/pkg-2.0.13.1005.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.jvnet.updatecenter2/pkg@%24%7Bversion%7D?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.jvnet.updatecenter2/pkg@%24%7Bversion%7D", "repository_homepage_url": "https://repo1.maven.org/maven2/org/jvnet/updatecenter2/pkg/${version}/", "repository_download_url": "https://repo1.maven.org/maven2/org/jvnet/updatecenter2/pkg/${version}/pkg-${version}.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/jvnet/updatecenter2/pkg/${version}/pkg-${version}.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/jvnet/updatecenter2/pkg/${version}/pkg-${version}.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.jvnet.updatecenter2/pkg@%24%7Bversion%7D" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/parsing_issues/parse_error/jds-2.17.0718b.pom.package.json b/tests/packagedcode/data/m2/parsing_issues/parse_error/jds-2.17.0718b.pom.package.json index 7c060275815..f70170ed919 100644 --- a/tests/packagedcode/data/m2/parsing_issues/parse_error/jds-2.17.0718b.pom.package.json +++ b/tests/packagedcode/data/m2/parsing_issues/parse_error/jds-2.17.0718b.pom.package.json @@ -39,10 +39,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/io.github.subiyacryolite/jds@2.17.0718b?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -91,8 +91,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/io.github.subiyacryolite/jds@2.17.0718b", "repository_homepage_url": "https://repo1.maven.org/maven2/io/github/subiyacryolite/jds/2.17.0718b/", "repository_download_url": "https://repo1.maven.org/maven2/io/github/subiyacryolite/jds/2.17.0718b/jds-2.17.0718b.jar", - "api_data_url": "https://repo1.maven.org/maven2/io/github/subiyacryolite/jds/2.17.0718b/jds-2.17.0718b.pom" + "api_data_url": "https://repo1.maven.org/maven2/io/github/subiyacryolite/jds/2.17.0718b/jds-2.17.0718b.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/io.github.subiyacryolite/jds@2.17.0718b" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/parsing_issues/parse_error/jds-3.0.1.pom.package.json b/tests/packagedcode/data/m2/parsing_issues/parse_error/jds-3.0.1.pom.package.json index c80a52d6c0b..cb40981af77 100644 --- a/tests/packagedcode/data/m2/parsing_issues/parse_error/jds-3.0.1.pom.package.json +++ b/tests/packagedcode/data/m2/parsing_issues/parse_error/jds-3.0.1.pom.package.json @@ -39,10 +39,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/io.github.subiyacryolite/jds@3.0.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -91,8 +91,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/io.github.subiyacryolite/jds@3.0.1", "repository_homepage_url": "https://repo1.maven.org/maven2/io/github/subiyacryolite/jds/3.0.1/", "repository_download_url": "https://repo1.maven.org/maven2/io/github/subiyacryolite/jds/3.0.1/jds-3.0.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/io/github/subiyacryolite/jds/3.0.1/jds-3.0.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/io/github/subiyacryolite/jds/3.0.1/jds-3.0.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/io.github.subiyacryolite/jds@3.0.1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/parsing_issues/parse_error/maven-javanet-plugin-1.7.pom.package.json b/tests/packagedcode/data/m2/parsing_issues/parse_error/maven-javanet-plugin-1.7.pom.package.json index 4bf2db90830..0366b3182fa 100644 --- a/tests/packagedcode/data/m2/parsing_issues/parse_error/maven-javanet-plugin-1.7.pom.package.json +++ b/tests/packagedcode/data/m2/parsing_issues/parse_error/maven-javanet-plugin-1.7.pom.package.json @@ -46,8 +46,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -114,8 +114,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/maven-javanet-plugin/maven-javanet-plugin", "repository_homepage_url": "https://repo1.maven.org/maven2/maven-javanet-plugin/maven-javanet-plugin/None/", "repository_download_url": "https://repo1.maven.org/maven2/maven-javanet-plugin/maven-javanet-plugin/None/maven-javanet-plugin-None.jar", - "api_data_url": "https://repo1.maven.org/maven2/maven-javanet-plugin/maven-javanet-plugin/None/maven-javanet-plugin-None.pom" + "api_data_url": "https://repo1.maven.org/maven2/maven-javanet-plugin/maven-javanet-plugin/None/maven-javanet-plugin-None.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/maven-javanet-plugin/maven-javanet-plugin" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/parsing_issues/parse_error/springmvc-rest-docs-maven-plugin-1.0-RC1.pom.package.json b/tests/packagedcode/data/m2/parsing_issues/parse_error/springmvc-rest-docs-maven-plugin-1.0-RC1.pom.package.json index 843cc73436e..1831388b7c4 100644 --- a/tests/packagedcode/data/m2/parsing_issues/parse_error/springmvc-rest-docs-maven-plugin-1.0-RC1.pom.package.json +++ b/tests/packagedcode/data/m2/parsing_issues/parse_error/springmvc-rest-docs-maven-plugin-1.0-RC1.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/com.github.vincentrussell/springmvc-rest-docs-maven-plugin@1.0-RC1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -373,8 +373,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/com.github.vincentrussell/springmvc-rest-docs-maven-plugin@1.0-RC1", "repository_homepage_url": "https://repo1.maven.org/maven2/com/github/vincentrussell/springmvc-rest-docs-maven-plugin/1.0-RC1/", "repository_download_url": "https://repo1.maven.org/maven2/com/github/vincentrussell/springmvc-rest-docs-maven-plugin/1.0-RC1/springmvc-rest-docs-maven-plugin-1.0-RC1.jar", - "api_data_url": "https://repo1.maven.org/maven2/com/github/vincentrussell/springmvc-rest-docs-maven-plugin/1.0-RC1/springmvc-rest-docs-maven-plugin-1.0-RC1.pom" + "api_data_url": "https://repo1.maven.org/maven2/com/github/vincentrussell/springmvc-rest-docs-maven-plugin/1.0-RC1/springmvc-rest-docs-maven-plugin-1.0-RC1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/com.github.vincentrussell/springmvc-rest-docs-maven-plugin@1.0-RC1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/parsing_issues/was_empty/common-object-1.0.2.pom.package.json b/tests/packagedcode/data/m2/parsing_issues/was_empty/common-object-1.0.2.pom.package.json index aebe4886de7..803a84ed56c 100644 --- a/tests/packagedcode/data/m2/parsing_issues/was_empty/common-object-1.0.2.pom.package.json +++ b/tests/packagedcode/data/m2/parsing_issues/was_empty/common-object-1.0.2.pom.package.json @@ -39,10 +39,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.xson/common-object@1.0.2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -82,8 +82,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.xson/common-object@1.0.2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/xson/common-object/1.0.2/", "repository_download_url": "https://repo1.maven.org/maven2/org/xson/common-object/1.0.2/common-object-1.0.2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/xson/common-object/1.0.2/common-object-1.0.2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/xson/common-object/1.0.2/common-object-1.0.2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.xson/common-object@1.0.2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/parsing_issues/was_empty/osgl-http-1.1.2.pom.package.json b/tests/packagedcode/data/m2/parsing_issues/was_empty/osgl-http-1.1.2.pom.package.json index 1f55a9f8ddf..975bdb9443b 100644 --- a/tests/packagedcode/data/m2/parsing_issues/was_empty/osgl-http-1.1.2.pom.package.json +++ b/tests/packagedcode/data/m2/parsing_issues/was_empty/osgl-http-1.1.2.pom.package.json @@ -31,10 +31,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.osgl/osgl-http@1.1.2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -83,8 +83,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.osgl/osgl-http@1.1.2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/osgl/osgl-http/1.1.2/", "repository_download_url": "https://repo1.maven.org/maven2/org/osgl/osgl-http/1.1.2/osgl-http-1.1.2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/osgl/osgl-http/1.1.2/osgl-http-1.1.2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/osgl/osgl-http/1.1.2/osgl-http-1.1.2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.osgl/osgl-http@1.1.2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/plexus/plexus-containers/1.0.2/plexus-containers-1.0.2.pom.package.json b/tests/packagedcode/data/m2/plexus/plexus-containers/1.0.2/plexus-containers-1.0.2.pom.package.json index eb394b4bf3c..f475cb637f8 100644 --- a/tests/packagedcode/data/m2/plexus/plexus-containers/1.0.2/plexus-containers-1.0.2.pom.package.json +++ b/tests/packagedcode/data/m2/plexus/plexus-containers/1.0.2/plexus-containers-1.0.2.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/plexus/plexus-containers@1.0.2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/plexus/plexus-containers@1.0.2", "repository_homepage_url": "https://repo1.maven.org/maven2/plexus/plexus-containers/1.0.2/", "repository_download_url": "https://repo1.maven.org/maven2/plexus/plexus-containers/1.0.2/plexus-containers-1.0.2.jar", - "api_data_url": "https://repo1.maven.org/maven2/plexus/plexus-containers/1.0.2/plexus-containers-1.0.2.pom" + "api_data_url": "https://repo1.maven.org/maven2/plexus/plexus-containers/1.0.2/plexus-containers-1.0.2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/plexus/plexus-containers@1.0.2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/plexus/plexus-root/1.0.3/plexus-root-1.0.3.pom.package.json b/tests/packagedcode/data/m2/plexus/plexus-root/1.0.3/plexus-root-1.0.3.pom.package.json index bb772428894..91c275203a2 100644 --- a/tests/packagedcode/data/m2/plexus/plexus-root/1.0.3/plexus-root-1.0.3.pom.package.json +++ b/tests/packagedcode/data/m2/plexus/plexus-root/1.0.3/plexus-root-1.0.3.pom.package.json @@ -109,10 +109,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/plexus/plexus-root@1.0.3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -125,8 +125,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/plexus/plexus-root@1.0.3", "repository_homepage_url": "https://repo1.maven.org/maven2/plexus/plexus-root/1.0.3/", "repository_download_url": "https://repo1.maven.org/maven2/plexus/plexus-root/1.0.3/plexus-root-1.0.3.jar", - "api_data_url": "https://repo1.maven.org/maven2/plexus/plexus-root/1.0.3/plexus-root-1.0.3.pom" + "api_data_url": "https://repo1.maven.org/maven2/plexus/plexus-root/1.0.3/plexus-root-1.0.3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/plexus/plexus-root@1.0.3" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/plexus/plexus-utils/1.0.2/plexus-utils-1.0.2.pom.package.json b/tests/packagedcode/data/m2/plexus/plexus-utils/1.0.2/plexus-utils-1.0.2.pom.package.json index 58d464b24bb..9bc2d06ea28 100644 --- a/tests/packagedcode/data/m2/plexus/plexus-utils/1.0.2/plexus-utils-1.0.2.pom.package.json +++ b/tests/packagedcode/data/m2/plexus/plexus-utils/1.0.2/plexus-utils-1.0.2.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/plexus/plexus-utils@1.0.2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/plexus/plexus-utils@1.0.2", "repository_homepage_url": "https://repo1.maven.org/maven2/plexus/plexus-utils/1.0.2/", "repository_download_url": "https://repo1.maven.org/maven2/plexus/plexus-utils/1.0.2/plexus-utils-1.0.2.jar", - "api_data_url": "https://repo1.maven.org/maven2/plexus/plexus-utils/1.0.2/plexus-utils-1.0.2.pom" + "api_data_url": "https://repo1.maven.org/maven2/plexus/plexus-utils/1.0.2/plexus-utils-1.0.2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/plexus/plexus-utils@1.0.2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/quartz/quartz/1.5.1/quartz-1.5.1.pom.package.json b/tests/packagedcode/data/m2/quartz/quartz/1.5.1/quartz-1.5.1.pom.package.json index 503ef71413c..8285b69e650 100644 --- a/tests/packagedcode/data/m2/quartz/quartz/1.5.1/quartz-1.5.1.pom.package.json +++ b/tests/packagedcode/data/m2/quartz/quartz/1.5.1/quartz-1.5.1.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/quartz/quartz@1.5.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/quartz/quartz@1.5.1", "repository_homepage_url": "https://repo1.maven.org/maven2/quartz/quartz/1.5.1/", "repository_download_url": "https://repo1.maven.org/maven2/quartz/quartz/1.5.1/quartz-1.5.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/quartz/quartz/1.5.1/quartz-1.5.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/quartz/quartz/1.5.1/quartz-1.5.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/quartz/quartz@1.5.1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/regexp/regexp/1.3/regexp-1.3.pom.package.json b/tests/packagedcode/data/m2/regexp/regexp/1.3/regexp-1.3.pom.package.json index 053f7b5643b..78d548a9075 100644 --- a/tests/packagedcode/data/m2/regexp/regexp/1.3/regexp-1.3.pom.package.json +++ b/tests/packagedcode/data/m2/regexp/regexp/1.3/regexp-1.3.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/regexp/regexp@1.3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/regexp/regexp@1.3", "repository_homepage_url": "https://repo1.maven.org/maven2/regexp/regexp/1.3/", "repository_download_url": "https://repo1.maven.org/maven2/regexp/regexp/1.3/regexp-1.3.jar", - "api_data_url": "https://repo1.maven.org/maven2/regexp/regexp/1.3/regexp-1.3.pom" + "api_data_url": "https://repo1.maven.org/maven2/regexp/regexp/1.3/regexp-1.3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/regexp/regexp@1.3" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/validator/commons-validator/1.1.4/commons-validator-1.1.4.pom.package.json b/tests/packagedcode/data/m2/validator/commons-validator/1.1.4/commons-validator-1.1.4.pom.package.json index 5141011c2e9..564ca296c07 100644 --- a/tests/packagedcode/data/m2/validator/commons-validator/1.1.4/commons-validator-1.1.4.pom.package.json +++ b/tests/packagedcode/data/m2/validator/commons-validator/1.1.4/commons-validator-1.1.4.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/commons-validator/commons-validator@1.1.4?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/commons-validator/commons-validator@1.1.4", "repository_homepage_url": "https://repo1.maven.org/maven2/commons-validator/commons-validator/1.1.4/", "repository_download_url": "https://repo1.maven.org/maven2/commons-validator/commons-validator/1.1.4/commons-validator-1.1.4.jar", - "api_data_url": "https://repo1.maven.org/maven2/commons-validator/commons-validator/1.1.4/commons-validator-1.1.4.pom" + "api_data_url": "https://repo1.maven.org/maven2/commons-validator/commons-validator/1.1.4/commons-validator-1.1.4.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/commons-validator/commons-validator@1.1.4" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/validator/commons-validator/1.2.0/commons-validator-1.2.0.pom.package.json b/tests/packagedcode/data/m2/validator/commons-validator/1.2.0/commons-validator-1.2.0.pom.package.json index 7d8cfab755a..2851cdf0903 100644 --- a/tests/packagedcode/data/m2/validator/commons-validator/1.2.0/commons-validator-1.2.0.pom.package.json +++ b/tests/packagedcode/data/m2/validator/commons-validator/1.2.0/commons-validator-1.2.0.pom.package.json @@ -256,10 +256,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/commons-validator/commons-validator@1.2.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -317,8 +317,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/commons-validator/commons-validator@1.2.0", "repository_homepage_url": "https://repo1.maven.org/maven2/commons-validator/commons-validator/1.2.0/", "repository_download_url": "https://repo1.maven.org/maven2/commons-validator/commons-validator/1.2.0/commons-validator-1.2.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/commons-validator/commons-validator/1.2.0/commons-validator-1.2.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/commons-validator/commons-validator/1.2.0/commons-validator-1.2.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/commons-validator/commons-validator@1.2.0" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/validator/commons-validator/1.3.1/commons-validator-1.3.1.pom.package.json b/tests/packagedcode/data/m2/validator/commons-validator/1.3.1/commons-validator-1.3.1.pom.package.json index 67b1dbeaa83..37aa34201d5 100644 --- a/tests/packagedcode/data/m2/validator/commons-validator/1.3.1/commons-validator-1.3.1.pom.package.json +++ b/tests/packagedcode/data/m2/validator/commons-validator/1.3.1/commons-validator-1.3.1.pom.package.json @@ -263,10 +263,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/commons-validator/commons-validator@1.3.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -324,8 +324,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/commons-validator/commons-validator@1.3.1", "repository_homepage_url": "https://repo1.maven.org/maven2/commons-validator/commons-validator/1.3.1/", "repository_download_url": "https://repo1.maven.org/maven2/commons-validator/commons-validator/1.3.1/commons-validator-1.3.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/commons-validator/commons-validator/1.3.1/commons-validator-1.3.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/commons-validator/commons-validator/1.3.1/commons-validator-1.3.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/commons-validator/commons-validator@1.3.1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/velocity/velocity-dep/1.4/velocity-dep-1.4.pom.package.json b/tests/packagedcode/data/m2/velocity/velocity-dep/1.4/velocity-dep-1.4.pom.package.json index ff530ae1170..eaf74c568a6 100644 --- a/tests/packagedcode/data/m2/velocity/velocity-dep/1.4/velocity-dep-1.4.pom.package.json +++ b/tests/packagedcode/data/m2/velocity/velocity-dep/1.4/velocity-dep-1.4.pom.package.json @@ -32,14 +32,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/velocity/velocity-dep@1.4?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/velocity/velocity-dep@1.4", "repository_homepage_url": "https://repo1.maven.org/maven2/velocity/velocity-dep/1.4/", "repository_download_url": "https://repo1.maven.org/maven2/velocity/velocity-dep/1.4/velocity-dep-1.4.jar", - "api_data_url": "https://repo1.maven.org/maven2/velocity/velocity-dep/1.4/velocity-dep-1.4.pom" + "api_data_url": "https://repo1.maven.org/maven2/velocity/velocity-dep/1.4/velocity-dep-1.4.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/velocity/velocity-dep@1.4" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/velocity/velocity/1.4/velocity-1.4.pom.package.json b/tests/packagedcode/data/m2/velocity/velocity/1.4/velocity-1.4.pom.package.json index 6e6ac4fe118..bca57ab3528 100644 --- a/tests/packagedcode/data/m2/velocity/velocity/1.4/velocity-1.4.pom.package.json +++ b/tests/packagedcode/data/m2/velocity/velocity/1.4/velocity-1.4.pom.package.json @@ -39,10 +39,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/velocity/velocity@1.4?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -55,8 +55,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/velocity/velocity@1.4", "repository_homepage_url": "https://repo1.maven.org/maven2/velocity/velocity/1.4/", "repository_download_url": "https://repo1.maven.org/maven2/velocity/velocity/1.4/velocity-1.4.jar", - "api_data_url": "https://repo1.maven.org/maven2/velocity/velocity/1.4/velocity-1.4.pom" + "api_data_url": "https://repo1.maven.org/maven2/velocity/velocity/1.4/velocity-1.4.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/velocity/velocity@1.4" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.pom.package.json b/tests/packagedcode/data/m2/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.pom.package.json index f6003e781d1..07bba5f8253 100644 --- a/tests/packagedcode/data/m2/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.pom.package.json +++ b/tests/packagedcode/data/m2/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.pom.package.json @@ -39,14 +39,15 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/xml-apis/xml-apis@1.0.b2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/xml-apis/xml-apis@1.0.b2", "repository_homepage_url": "https://repo1.maven.org/maven2/xml-apis/xml-apis/1.0.b2/", "repository_download_url": "https://repo1.maven.org/maven2/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar", - "api_data_url": "https://repo1.maven.org/maven2/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.pom" + "api_data_url": "https://repo1.maven.org/maven2/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/xml-apis/xml-apis@1.0.b2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/xml-apis/xml-apis/2.0.2/xml-apis-2.0.2.pom.package.json b/tests/packagedcode/data/m2/xml-apis/xml-apis/2.0.2/xml-apis-2.0.2.pom.package.json index 58a072fdaf9..0c4c9d20610 100644 --- a/tests/packagedcode/data/m2/xml-apis/xml-apis/2.0.2/xml-apis-2.0.2.pom.package.json +++ b/tests/packagedcode/data/m2/xml-apis/xml-apis/2.0.2/xml-apis-2.0.2.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/xml-apis/xml-apis@2.0.2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/xml-apis/xml-apis@2.0.2", "repository_homepage_url": "https://repo1.maven.org/maven2/xml-apis/xml-apis/2.0.2/", "repository_download_url": "https://repo1.maven.org/maven2/xml-apis/xml-apis/2.0.2/xml-apis-2.0.2.jar", - "api_data_url": "https://repo1.maven.org/maven2/xml-apis/xml-apis/2.0.2/xml-apis-2.0.2.pom" + "api_data_url": "https://repo1.maven.org/maven2/xml-apis/xml-apis/2.0.2/xml-apis-2.0.2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/xml-apis/xml-apis@2.0.2" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/xmlpull/xmlpull/1.1.3.1/xmlpull-1.1.3.1.pom.package.json b/tests/packagedcode/data/m2/xmlpull/xmlpull/1.1.3.1/xmlpull-1.1.3.1.pom.package.json index 9be01760414..4748e505dca 100644 --- a/tests/packagedcode/data/m2/xmlpull/xmlpull/1.1.3.1/xmlpull-1.1.3.1.pom.package.json +++ b/tests/packagedcode/data/m2/xmlpull/xmlpull/1.1.3.1/xmlpull-1.1.3.1.pom.package.json @@ -31,14 +31,15 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/xmlpull/xmlpull@1.1.3.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/xmlpull/xmlpull@1.1.3.1", "repository_homepage_url": "https://repo1.maven.org/maven2/xmlpull/xmlpull/1.1.3.1/", "repository_download_url": "https://repo1.maven.org/maven2/xmlpull/xmlpull/1.1.3.1/xmlpull-1.1.3.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/xmlpull/xmlpull/1.1.3.1/xmlpull-1.1.3.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/xmlpull/xmlpull/1.1.3.1/xmlpull-1.1.3.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/xmlpull/xmlpull@1.1.3.1" } \ No newline at end of file diff --git a/tests/packagedcode/data/m2/xpp3/xpp3_min/1.1.3.4.O/xpp3_min-1.1.3.4.O.pom.package.json b/tests/packagedcode/data/m2/xpp3/xpp3_min/1.1.3.4.O/xpp3_min-1.1.3.4.O.pom.package.json index 5c2a0d2f6d8..c506385ef4d 100644 --- a/tests/packagedcode/data/m2/xpp3/xpp3_min/1.1.3.4.O/xpp3_min-1.1.3.4.O.pom.package.json +++ b/tests/packagedcode/data/m2/xpp3/xpp3_min/1.1.3.4.O/xpp3_min-1.1.3.4.O.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/xpp3/xpp3_min@1.1.3.4.O?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/xpp3/xpp3_min@1.1.3.4.O", "repository_homepage_url": "https://repo1.maven.org/maven2/xpp3/xpp3_min/1.1.3.4.O/", "repository_download_url": "https://repo1.maven.org/maven2/xpp3/xpp3_min/1.1.3.4.O/xpp3_min-1.1.3.4.O.jar", - "api_data_url": "https://repo1.maven.org/maven2/xpp3/xpp3_min/1.1.3.4.O/xpp3_min-1.1.3.4.O.pom" + "api_data_url": "https://repo1.maven.org/maven2/xpp3/xpp3_min/1.1.3.4.O/xpp3_min-1.1.3.4.O.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/xpp3/xpp3_min@1.1.3.4.O" } \ No newline at end of file diff --git a/tests/packagedcode/data/maven2/activemq-camel/activemq-camel-pom.xml.package.json b/tests/packagedcode/data/maven2/activemq-camel/activemq-camel-pom.xml.package.json index 3da8df9d3e2..09434fba8eb 100644 --- a/tests/packagedcode/data/maven2/activemq-camel/activemq-camel-pom.xml.package.json +++ b/tests/packagedcode/data/maven2/activemq-camel/activemq-camel-pom.xml.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.activemq/activemq-camel@5.4.2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -130,8 +130,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.activemq/activemq-camel@5.4.2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/activemq/activemq-camel/5.4.2/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/activemq/activemq-camel/5.4.2/activemq-camel-5.4.2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/activemq/activemq-camel/5.4.2/activemq-camel-5.4.2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/activemq/activemq-camel/5.4.2/activemq-camel-5.4.2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.activemq/activemq-camel@5.4.2" } \ No newline at end of file diff --git a/tests/packagedcode/data/maven2/adarwin-1.0/adarwin-1.0.pom.package.json b/tests/packagedcode/data/maven2/adarwin-1.0/adarwin-1.0.pom.package.json index f62be03bd93..17f07dc043e 100644 --- a/tests/packagedcode/data/maven2/adarwin-1.0/adarwin-1.0.pom.package.json +++ b/tests/packagedcode/data/maven2/adarwin-1.0/adarwin-1.0.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/adarwin/adarwin@1.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/adarwin/adarwin@1.0", "repository_homepage_url": "https://repo1.maven.org/maven2/adarwin/adarwin/1.0/", "repository_download_url": "https://repo1.maven.org/maven2/adarwin/adarwin/1.0/adarwin-1.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/adarwin/adarwin/1.0/adarwin-1.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/adarwin/adarwin/1.0/adarwin-1.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/adarwin/adarwin@1.0" } \ No newline at end of file diff --git a/tests/packagedcode/data/maven2/ant-jai-1.7.0/ant-jai-1.7.0.pom.package.json b/tests/packagedcode/data/maven2/ant-jai-1.7.0/ant-jai-1.7.0.pom.package.json index 7afd5c67810..71810e853b6 100644 --- a/tests/packagedcode/data/maven2/ant-jai-1.7.0/ant-jai-1.7.0.pom.package.json +++ b/tests/packagedcode/data/maven2/ant-jai-1.7.0/ant-jai-1.7.0.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.ant/ant-jai@1.7.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -58,8 +58,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.ant/ant-jai@1.7.0", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/ant/ant-jai/1.7.0/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/ant/ant-jai/1.7.0/ant-jai-1.7.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/ant/ant-jai/1.7.0/ant-jai-1.7.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/ant/ant-jai/1.7.0/ant-jai-1.7.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.ant/ant-jai@1.7.0" } \ No newline at end of file diff --git a/tests/packagedcode/data/maven2/ant-jsch-1.7.0/ant-jsch-1.7.0.pom.package.json b/tests/packagedcode/data/maven2/ant-jsch-1.7.0/ant-jsch-1.7.0.pom.package.json index 83c737707b0..dadfecd89b8 100644 --- a/tests/packagedcode/data/maven2/ant-jsch-1.7.0/ant-jsch-1.7.0.pom.package.json +++ b/tests/packagedcode/data/maven2/ant-jsch-1.7.0/ant-jsch-1.7.0.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.ant/ant-jsch@1.7.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -49,8 +49,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.ant/ant-jsch@1.7.0", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/ant/ant-jsch/1.7.0/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/ant/ant-jsch/1.7.0/ant-jsch-1.7.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/ant/ant-jsch/1.7.0/ant-jsch-1.7.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/ant/ant-jsch/1.7.0/ant-jsch-1.7.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.ant/ant-jsch@1.7.0" } \ No newline at end of file diff --git a/tests/packagedcode/data/maven2/aopalliance-1.0/aopalliance-1.0.pom.package.json b/tests/packagedcode/data/maven2/aopalliance-1.0/aopalliance-1.0.pom.package.json index ca32cf6e0c5..13d8fdee5df 100644 --- a/tests/packagedcode/data/maven2/aopalliance-1.0/aopalliance-1.0.pom.package.json +++ b/tests/packagedcode/data/maven2/aopalliance-1.0/aopalliance-1.0.pom.package.json @@ -37,14 +37,15 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/aopalliance/aopalliance@1.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/aopalliance/aopalliance@1.0", "repository_homepage_url": "https://repo1.maven.org/maven2/aopalliance/aopalliance/1.0/", "repository_download_url": "https://repo1.maven.org/maven2/aopalliance/aopalliance/1.0/aopalliance-1.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/aopalliance/aopalliance/1.0/aopalliance-1.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/aopalliance/aopalliance/1.0/aopalliance-1.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/aopalliance/aopalliance@1.0" } \ No newline at end of file diff --git a/tests/packagedcode/data/maven2/bcel-5.1/bcel-5.1.pom.package.json b/tests/packagedcode/data/maven2/bcel-5.1/bcel-5.1.pom.package.json index b045797eb36..1bf0871623e 100644 --- a/tests/packagedcode/data/maven2/bcel-5.1/bcel-5.1.pom.package.json +++ b/tests/packagedcode/data/maven2/bcel-5.1/bcel-5.1.pom.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/bcel/bcel@5.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/bcel/bcel@5.1", "repository_homepage_url": "https://repo1.maven.org/maven2/bcel/bcel/5.1/", "repository_download_url": "https://repo1.maven.org/maven2/bcel/bcel/5.1/bcel-5.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/bcel/bcel/5.1/bcel-5.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/bcel/bcel/5.1/bcel-5.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/bcel/bcel@5.1" } \ No newline at end of file diff --git a/tests/packagedcode/data/maven2/classworlds-1.1-alpha2/classworlds-1.1-alpha-2.pom.package.json b/tests/packagedcode/data/maven2/classworlds-1.1-alpha2/classworlds-1.1-alpha-2.pom.package.json index c0fbc1253d4..6d330894990 100644 --- a/tests/packagedcode/data/maven2/classworlds-1.1-alpha2/classworlds-1.1-alpha-2.pom.package.json +++ b/tests/packagedcode/data/maven2/classworlds-1.1-alpha2/classworlds-1.1-alpha-2.pom.package.json @@ -53,14 +53,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/classworlds/classworlds@1.1-alpha-2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/classworlds/classworlds@1.1-alpha-2", "repository_homepage_url": "https://repo1.maven.org/maven2/classworlds/classworlds/1.1-alpha-2/", "repository_download_url": "https://repo1.maven.org/maven2/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.jar", - "api_data_url": "https://repo1.maven.org/maven2/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.pom" + "api_data_url": "https://repo1.maven.org/maven2/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/classworlds/classworlds@1.1-alpha-2" } \ No newline at end of file diff --git a/tests/packagedcode/data/maven2/commons-fileupload-1.0/commons-fileupload-1.0.pom.package.json b/tests/packagedcode/data/maven2/commons-fileupload-1.0/commons-fileupload-1.0.pom.package.json index d6a91b82fed..dfda4410e5c 100644 --- a/tests/packagedcode/data/maven2/commons-fileupload-1.0/commons-fileupload-1.0.pom.package.json +++ b/tests/packagedcode/data/maven2/commons-fileupload-1.0/commons-fileupload-1.0.pom.package.json @@ -74,10 +74,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/commons-fileupload/commons-fileupload@1.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -99,8 +99,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/commons-fileupload/commons-fileupload@1.0", "repository_homepage_url": "https://repo1.maven.org/maven2/commons-fileupload/commons-fileupload/1.0/", "repository_download_url": "https://repo1.maven.org/maven2/commons-fileupload/commons-fileupload/1.0/commons-fileupload-1.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/commons-fileupload/commons-fileupload/1.0/commons-fileupload-1.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/commons-fileupload/commons-fileupload/1.0/commons-fileupload-1.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/commons-fileupload/commons-fileupload@1.0" } \ No newline at end of file diff --git a/tests/packagedcode/data/maven2/commons-validator-1.2.0/commons-validator-1.2.0.pom.package.json b/tests/packagedcode/data/maven2/commons-validator-1.2.0/commons-validator-1.2.0.pom.package.json index 7d8cfab755a..2851cdf0903 100644 --- a/tests/packagedcode/data/maven2/commons-validator-1.2.0/commons-validator-1.2.0.pom.package.json +++ b/tests/packagedcode/data/maven2/commons-validator-1.2.0/commons-validator-1.2.0.pom.package.json @@ -256,10 +256,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/commons-validator/commons-validator@1.2.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -317,8 +317,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/commons-validator/commons-validator@1.2.0", "repository_homepage_url": "https://repo1.maven.org/maven2/commons-validator/commons-validator/1.2.0/", "repository_download_url": "https://repo1.maven.org/maven2/commons-validator/commons-validator/1.2.0/commons-validator-1.2.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/commons-validator/commons-validator/1.2.0/commons-validator-1.2.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/commons-validator/commons-validator/1.2.0/commons-validator-1.2.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/commons-validator/commons-validator@1.2.0" } \ No newline at end of file diff --git a/tests/packagedcode/data/maven2/dbwebx_pom/dbwebx_pom.xml.package.json b/tests/packagedcode/data/maven2/dbwebx_pom/dbwebx_pom.xml.package.json index ebe689ff7d3..b8f3fad778f 100644 --- a/tests/packagedcode/data/maven2/dbwebx_pom/dbwebx_pom.xml.package.json +++ b/tests/packagedcode/data/maven2/dbwebx_pom/dbwebx_pom.xml.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.dbwebx/tools@0.0.1.SNAPSHOT?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.dbwebx/tools@0.0.1.SNAPSHOT", "repository_homepage_url": "https://repo1.maven.org/maven2/org/dbwebx/tools/0.0.1.SNAPSHOT/", "repository_download_url": "https://repo1.maven.org/maven2/org/dbwebx/tools/0.0.1.SNAPSHOT/tools-0.0.1.SNAPSHOT.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/dbwebx/tools/0.0.1.SNAPSHOT/tools-0.0.1.SNAPSHOT.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/dbwebx/tools/0.0.1.SNAPSHOT/tools-0.0.1.SNAPSHOT.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.dbwebx/tools@0.0.1.SNAPSHOT" } \ No newline at end of file diff --git a/tests/packagedcode/data/maven2/easyconf-0.9.0/easyconf-0.9.0.pom.package.json b/tests/packagedcode/data/maven2/easyconf-0.9.0/easyconf-0.9.0.pom.package.json index 45a0796551a..19f993e76d3 100644 --- a/tests/packagedcode/data/maven2/easyconf-0.9.0/easyconf-0.9.0.pom.package.json +++ b/tests/packagedcode/data/maven2/easyconf-0.9.0/easyconf-0.9.0.pom.package.json @@ -60,10 +60,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/easyconf/easyconf@0.9.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -229,8 +229,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/easyconf/easyconf@0.9.0", "repository_homepage_url": "https://repo1.maven.org/maven2/easyconf/easyconf/0.9.0/", "repository_download_url": "https://repo1.maven.org/maven2/easyconf/easyconf/0.9.0/easyconf-0.9.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/easyconf/easyconf/0.9.0/easyconf-0.9.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/easyconf/easyconf/0.9.0/easyconf-0.9.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/easyconf/easyconf@0.9.0" } \ No newline at end of file diff --git a/tests/packagedcode/data/maven2/findbugs-maven-plugin-1.1.1/findbugs-maven-plugin-1.1.1.pom.package.json b/tests/packagedcode/data/maven2/findbugs-maven-plugin-1.1.1/findbugs-maven-plugin-1.1.1.pom.package.json index 94a798c4b27..73a305acf57 100644 --- a/tests/packagedcode/data/maven2/findbugs-maven-plugin-1.1.1/findbugs-maven-plugin-1.1.1.pom.package.json +++ b/tests/packagedcode/data/maven2/findbugs-maven-plugin-1.1.1/findbugs-maven-plugin-1.1.1.pom.package.json @@ -60,10 +60,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -112,8 +112,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/findbugs-maven-plugin/1.1.1/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/findbugs-maven-plugin/1.1.1/findbugs-maven-plugin-1.1.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/findbugs-maven-plugin/1.1.1/findbugs-maven-plugin-1.1.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/findbugs-maven-plugin/1.1.1/findbugs-maven-plugin-1.1.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1" } \ No newline at end of file diff --git a/tests/packagedcode/data/maven2/fna2_pom/fna2_pom.xml.package.json b/tests/packagedcode/data/maven2/fna2_pom/fna2_pom.xml.package.json index c1edb71c30c..54001e74cb0 100644 --- a/tests/packagedcode/data/maven2/fna2_pom/fna2_pom.xml.package.json +++ b/tests/packagedcode/data/maven2/fna2_pom/fna2_pom.xml.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/com.adobe.ac.samples.lcds/flex_app@1.0-SNAPSHOT?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -121,8 +121,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/com.adobe.ac.samples.lcds/flex_app@1.0-SNAPSHOT", "repository_homepage_url": "https://repo1.maven.org/maven2/com/adobe/ac/samples/lcds/flex_app/1.0-SNAPSHOT/", "repository_download_url": "https://repo1.maven.org/maven2/com/adobe/ac/samples/lcds/flex_app/1.0-SNAPSHOT/flex_app-1.0-SNAPSHOT.jar", - "api_data_url": "https://repo1.maven.org/maven2/com/adobe/ac/samples/lcds/flex_app/1.0-SNAPSHOT/flex_app-1.0-SNAPSHOT.pom" + "api_data_url": "https://repo1.maven.org/maven2/com/adobe/ac/samples/lcds/flex_app/1.0-SNAPSHOT/flex_app-1.0-SNAPSHOT.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/com.adobe.ac.samples.lcds/flex_app@1.0-SNAPSHOT" } \ No newline at end of file diff --git a/tests/packagedcode/data/maven2/fna_pom_project/fna_pom_project.xml.package.json b/tests/packagedcode/data/maven2/fna_pom_project/fna_pom_project.xml.package.json index 3f7119da7c6..627f6b9a45c 100644 --- a/tests/packagedcode/data/maven2/fna_pom_project/fna_pom_project.xml.package.json +++ b/tests/packagedcode/data/maven2/fna_pom_project/fna_pom_project.xml.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/com.adobe.ac.samples.bash/bash_flex_app@1.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -94,8 +94,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/com.adobe.ac.samples.bash/bash_flex_app@1.0", "repository_homepage_url": "https://repo1.maven.org/maven2/com/adobe/ac/samples/bash/bash_flex_app/1.0/", "repository_download_url": "https://repo1.maven.org/maven2/com/adobe/ac/samples/bash/bash_flex_app/1.0/bash_flex_app-1.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/com/adobe/ac/samples/bash/bash_flex_app/1.0/bash_flex_app-1.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/com/adobe/ac/samples/bash/bash_flex_app/1.0/bash_flex_app-1.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/com.adobe.ac.samples.bash/bash_flex_app@1.0" } \ No newline at end of file diff --git a/tests/packagedcode/data/maven2/foo-pom/foo-pom.xml.package.json b/tests/packagedcode/data/maven2/foo-pom/foo-pom.xml.package.json index 05c94caf9a0..41a565bb9b9 100644 --- a/tests/packagedcode/data/maven2/foo-pom/foo-pom.xml.package.json +++ b/tests/packagedcode/data/maven2/foo-pom/foo-pom.xml.package.json @@ -39,10 +39,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/com.myco.foo.bar.baz/baz-bar-parent@1.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -118,8 +118,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/com.myco.foo.bar.baz/baz-bar-parent@1.0", "repository_homepage_url": "https://repo1.maven.org/maven2/com/myco/foo/bar/baz/baz-bar-parent/1.0/", "repository_download_url": "https://repo1.maven.org/maven2/com/myco/foo/bar/baz/baz-bar-parent/1.0/baz-bar-parent-1.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/com/myco/foo/bar/baz/baz-bar-parent/1.0/baz-bar-parent-1.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/com/myco/foo/bar/baz/baz-bar-parent/1.0/baz-bar-parent-1.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/com.myco.foo.bar.baz/baz-bar-parent@1.0" } \ No newline at end of file diff --git a/tests/packagedcode/data/maven2/gero_pom/gero_pom.xml.package.json b/tests/packagedcode/data/maven2/gero_pom/gero_pom.xml.package.json index 6258da6c9ed..95be9235199 100644 --- a/tests/packagedcode/data/maven2/gero_pom/gero_pom.xml.package.json +++ b/tests/packagedcode/data/maven2/gero_pom/gero_pom.xml.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.geronimo.bundles/axis@1.4_1-SNAPSHOT?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.geronimo.bundles/axis@1.4_1-SNAPSHOT", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/geronimo/bundles/axis/1.4_1-SNAPSHOT/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/geronimo/bundles/axis/1.4_1-SNAPSHOT/axis-1.4_1-SNAPSHOT.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/geronimo/bundles/axis/1.4_1-SNAPSHOT/axis-1.4_1-SNAPSHOT.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/geronimo/bundles/axis/1.4_1-SNAPSHOT/axis-1.4_1-SNAPSHOT.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.geronimo.bundles/axis@1.4_1-SNAPSHOT" } \ No newline at end of file diff --git a/tests/packagedcode/data/maven2/idega_pom/idega_pom.xml.package.json b/tests/packagedcode/data/maven2/idega_pom/idega_pom.xml.package.json index 1f554bb1744..76785c8f27d 100644 --- a/tests/packagedcode/data/maven2/idega_pom/idega_pom.xml.package.json +++ b/tests/packagedcode/data/maven2/idega_pom/idega_pom.xml.package.json @@ -53,10 +53,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/com.idega.block.addon/com.idega.block.contract@4.1.3-SNAPSHOT?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -96,8 +96,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/com.idega.block.addon/com.idega.block.contract@4.1.3-SNAPSHOT", "repository_homepage_url": "https://repo1.maven.org/maven2/com/idega/block/addon/com.idega.block.contract/4.1.3-SNAPSHOT/", "repository_download_url": "https://repo1.maven.org/maven2/com/idega/block/addon/com.idega.block.contract/4.1.3-SNAPSHOT/com.idega.block.contract-4.1.3-SNAPSHOT.jar", - "api_data_url": "https://repo1.maven.org/maven2/com/idega/block/addon/com.idega.block.contract/4.1.3-SNAPSHOT/com.idega.block.contract-4.1.3-SNAPSHOT.pom" + "api_data_url": "https://repo1.maven.org/maven2/com/idega/block/addon/com.idega.block.contract/4.1.3-SNAPSHOT/com.idega.block.contract-4.1.3-SNAPSHOT.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/com.idega.block.addon/com.idega.block.contract@4.1.3-SNAPSHOT" } \ No newline at end of file diff --git a/tests/packagedcode/data/maven2/jrecordbind-2.3.4/jrecordbind-2.3.4.pom.package.json b/tests/packagedcode/data/maven2/jrecordbind-2.3.4/jrecordbind-2.3.4.pom.package.json index 05409403003..6d6e94182b1 100644 --- a/tests/packagedcode/data/maven2/jrecordbind-2.3.4/jrecordbind-2.3.4.pom.package.json +++ b/tests/packagedcode/data/maven2/jrecordbind-2.3.4/jrecordbind-2.3.4.pom.package.json @@ -39,10 +39,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -82,8 +82,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4", "repository_homepage_url": "https://repo1.maven.org/maven2/it/assist/jrecordbind/jrecordbind${artifactId.ext}/2.3.4/", "repository_download_url": "https://repo1.maven.org/maven2/it/assist/jrecordbind/jrecordbind${artifactId.ext}/2.3.4/jrecordbind${artifactId.ext}-2.3.4.jar", - "api_data_url": "https://repo1.maven.org/maven2/it/assist/jrecordbind/jrecordbind${artifactId.ext}/2.3.4/jrecordbind${artifactId.ext}-2.3.4.pom" + "api_data_url": "https://repo1.maven.org/maven2/it/assist/jrecordbind/jrecordbind${artifactId.ext}/2.3.4/jrecordbind${artifactId.ext}-2.3.4.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4" } \ No newline at end of file diff --git a/tests/packagedcode/data/maven2/log4j/log4j-pom.xml.package.json b/tests/packagedcode/data/maven2/log4j/log4j-pom.xml.package.json index 9910162b479..e08e62d1a12 100644 --- a/tests/packagedcode/data/maven2/log4j/log4j-pom.xml.package.json +++ b/tests/packagedcode/data/maven2/log4j/log4j-pom.xml.package.json @@ -39,10 +39,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/log4j/log4j@1.2.15?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -100,8 +100,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/log4j/log4j@1.2.15", "repository_homepage_url": "https://repo1.maven.org/maven2/log4j/log4j/1.2.15/", "repository_download_url": "https://repo1.maven.org/maven2/log4j/log4j/1.2.15/log4j-1.2.15.jar", - "api_data_url": "https://repo1.maven.org/maven2/log4j/log4j/1.2.15/log4j-1.2.15.pom" + "api_data_url": "https://repo1.maven.org/maven2/log4j/log4j/1.2.15/log4j-1.2.15.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/log4j/log4j@1.2.15" } \ No newline at end of file diff --git a/tests/packagedcode/data/maven2/logback-access/logback-access.pom.package.json b/tests/packagedcode/data/maven2/logback-access/logback-access.pom.package.json index f553060348b..3b2699aa265 100644 --- a/tests/packagedcode/data/maven2/logback-access/logback-access.pom.package.json +++ b/tests/packagedcode/data/maven2/logback-access/logback-access.pom.package.json @@ -31,10 +31,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/ch.qos.logback/logback-access@0.2.5?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -83,8 +83,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/ch.qos.logback/logback-access@0.2.5", "repository_homepage_url": "https://repo1.maven.org/maven2/ch/qos/logback/logback-access/0.2.5/", "repository_download_url": "https://repo1.maven.org/maven2/ch/qos/logback/logback-access/0.2.5/logback-access-0.2.5.jar", - "api_data_url": "https://repo1.maven.org/maven2/ch/qos/logback/logback-access/0.2.5/logback-access-0.2.5.pom" + "api_data_url": "https://repo1.maven.org/maven2/ch/qos/logback/logback-access/0.2.5/logback-access-0.2.5.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/ch.qos.logback/logback-access@0.2.5" } \ No newline at end of file diff --git a/tests/packagedcode/data/maven2/plexus-interactivity-api-1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom.package.json b/tests/packagedcode/data/maven2/plexus-interactivity-api-1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom.package.json index f46d0905c0b..13b61ec9cca 100644 --- a/tests/packagedcode/data/maven2/plexus-interactivity-api-1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom.package.json +++ b/tests/packagedcode/data/maven2/plexus-interactivity-api-1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom.package.json @@ -109,10 +109,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -152,8 +152,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4" } \ No newline at end of file diff --git a/tests/packagedcode/data/maven2/pom-generic/pom.xml.package.json b/tests/packagedcode/data/maven2/pom-generic/pom.xml.package.json index f7e84774a40..cf0ac47f0e9 100644 --- a/tests/packagedcode/data/maven2/pom-generic/pom.xml.package.json +++ b/tests/packagedcode/data/maven2/pom-generic/pom.xml.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/ur.urwerk.test.modules/main@1.0.0-SNAPSHOT?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/ur.urwerk.test.modules/main@1.0.0-SNAPSHOT", "repository_homepage_url": "https://repo1.maven.org/maven2/ur/urwerk/test/modules/main/1.0.0-SNAPSHOT/", "repository_download_url": "https://repo1.maven.org/maven2/ur/urwerk/test/modules/main/1.0.0-SNAPSHOT/main-1.0.0-SNAPSHOT.jar", - "api_data_url": "https://repo1.maven.org/maven2/ur/urwerk/test/modules/main/1.0.0-SNAPSHOT/main-1.0.0-SNAPSHOT.pom" + "api_data_url": "https://repo1.maven.org/maven2/ur/urwerk/test/modules/main/1.0.0-SNAPSHOT/main-1.0.0-SNAPSHOT.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/ur.urwerk.test.modules/main@1.0.0-SNAPSHOT" } \ No newline at end of file diff --git a/tests/packagedcode/data/maven2/proper-pom/proper_pom.xml.package.json b/tests/packagedcode/data/maven2/proper-pom/proper_pom.xml.package.json index 6258da6c9ed..95be9235199 100644 --- a/tests/packagedcode/data/maven2/proper-pom/proper_pom.xml.package.json +++ b/tests/packagedcode/data/maven2/proper-pom/proper_pom.xml.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.geronimo.bundles/axis@1.4_1-SNAPSHOT?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.geronimo.bundles/axis@1.4_1-SNAPSHOT", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/geronimo/bundles/axis/1.4_1-SNAPSHOT/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/geronimo/bundles/axis/1.4_1-SNAPSHOT/axis-1.4_1-SNAPSHOT.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/geronimo/bundles/axis/1.4_1-SNAPSHOT/axis-1.4_1-SNAPSHOT.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/geronimo/bundles/axis/1.4_1-SNAPSHOT/axis-1.4_1-SNAPSHOT.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.geronimo.bundles/axis@1.4_1-SNAPSHOT" } \ No newline at end of file diff --git a/tests/packagedcode/data/maven2/rel_pom/rel_pom.xml.package.json b/tests/packagedcode/data/maven2/rel_pom/rel_pom.xml.package.json index 915742c488d..2425e5cde29 100644 --- a/tests/packagedcode/data/maven2/rel_pom/rel_pom.xml.package.json +++ b/tests/packagedcode/data/maven2/rel_pom/rel_pom.xml.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.modeler/modeler@0.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -112,8 +112,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.modeler/modeler@0.1", "repository_homepage_url": "https://repo1.maven.org/maven2/org/modeler/modeler/0.1/", "repository_download_url": "https://repo1.maven.org/maven2/org/modeler/modeler/0.1/modeler-0.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/modeler/modeler/0.1/modeler-0.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/modeler/modeler/0.1/modeler-0.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.modeler/modeler@0.1" } \ No newline at end of file diff --git a/tests/packagedcode/data/maven2/sea_pom/sea_pom.xml.package.json b/tests/packagedcode/data/maven2/sea_pom/sea_pom.xml.package.json index 5f89fcaf969..f741ca68e2f 100644 --- a/tests/packagedcode/data/maven2/sea_pom/sea_pom.xml.package.json +++ b/tests/packagedcode/data/maven2/sea_pom/sea_pom.xml.package.json @@ -46,10 +46,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -386,8 +386,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT", "repository_homepage_url": "https://repo1.maven.org/maven2/no/knowit/seam/root/2.2.0-SNAPSHOT/", "repository_download_url": "https://repo1.maven.org/maven2/no/knowit/seam/root/2.2.0-SNAPSHOT/root-2.2.0-SNAPSHOT.jar", - "api_data_url": "https://repo1.maven.org/maven2/no/knowit/seam/root/2.2.0-SNAPSHOT/root-2.2.0-SNAPSHOT.pom" + "api_data_url": "https://repo1.maven.org/maven2/no/knowit/seam/root/2.2.0-SNAPSHOT/root-2.2.0-SNAPSHOT.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT" } \ No newline at end of file diff --git a/tests/packagedcode/data/maven2/specs-1.3/specs-1.3.pom.package.json b/tests/packagedcode/data/maven2/specs-1.3/specs-1.3.pom.package.json index ba26c62f851..a2ff4f9fae8 100644 --- a/tests/packagedcode/data/maven2/specs-1.3/specs-1.3.pom.package.json +++ b/tests/packagedcode/data/maven2/specs-1.3/specs-1.3.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.geronimo.specs/specs@1.3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -40,8 +40,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.geronimo.specs/specs@1.3", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/geronimo/specs/specs/1.3/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/geronimo/specs/specs/1.3/specs-1.3.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/geronimo/specs/specs/1.3/specs-1.3.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/geronimo/specs/specs/1.3/specs-1.3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.geronimo.specs/specs@1.3" } \ No newline at end of file diff --git a/tests/packagedcode/data/maven2/spring-2.5.4/spring-2.5.4.pom.package.json b/tests/packagedcode/data/maven2/spring-2.5.4/spring-2.5.4.pom.package.json index efb6b8d0f8f..acf8c5bb3c7 100644 --- a/tests/packagedcode/data/maven2/spring-2.5.4/spring-2.5.4.pom.package.json +++ b/tests/packagedcode/data/maven2/spring-2.5.4/spring-2.5.4.pom.package.json @@ -39,10 +39,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.springframework/spring@2.5.4?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -631,8 +631,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.springframework/spring@2.5.4", "repository_homepage_url": "https://repo1.maven.org/maven2/org/springframework/spring/2.5.4/", "repository_download_url": "https://repo1.maven.org/maven2/org/springframework/spring/2.5.4/spring-2.5.4.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/springframework/spring/2.5.4/spring-2.5.4.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/springframework/spring/2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.springframework/spring@2.5.4" } \ No newline at end of file diff --git a/tests/packagedcode/data/maven2/spring-orm-2.5.3/spring-orm-2.5.3.pom.package.json b/tests/packagedcode/data/maven2/spring-orm-2.5.3/spring-orm-2.5.3.pom.package.json index 23b59d94558..772ae6b7cab 100644 --- a/tests/packagedcode/data/maven2/spring-orm-2.5.3/spring-orm-2.5.3.pom.package.json +++ b/tests/packagedcode/data/maven2/spring-orm-2.5.3/spring-orm-2.5.3.pom.package.json @@ -39,10 +39,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.springframework/spring-orm@2.5.3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -190,8 +190,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.springframework/spring-orm@2.5.3", "repository_homepage_url": "https://repo1.maven.org/maven2/org/springframework/spring-orm/2.5.3/", "repository_download_url": "https://repo1.maven.org/maven2/org/springframework/spring-orm/2.5.3/spring-orm-2.5.3.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/springframework/spring-orm/2.5.3/spring-orm-2.5.3.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/springframework/spring-orm/2.5.3/spring-orm-2.5.3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.springframework/spring-orm@2.5.3" } \ No newline at end of file diff --git a/tests/packagedcode/data/maven2/spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom.package.json b/tests/packagedcode/data/maven2/spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom.package.json index c22828b117b..03352de8c00 100644 --- a/tests/packagedcode/data/maven2/spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom.package.json +++ b/tests/packagedcode/data/maven2/spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom.package.json @@ -39,10 +39,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.springframework/spring-webmvc@2.5.3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -244,8 +244,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.springframework/spring-webmvc@2.5.3", "repository_homepage_url": "https://repo1.maven.org/maven2/org/springframework/spring-webmvc/2.5.3/", "repository_download_url": "https://repo1.maven.org/maven2/org/springframework/spring-webmvc/2.5.3/spring-webmvc-2.5.3.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/springframework/spring-webmvc/2.5.3/spring-webmvc-2.5.3.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/springframework/spring-webmvc/2.5.3/spring-webmvc-2.5.3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.springframework/spring-webmvc@2.5.3" } \ No newline at end of file diff --git a/tests/packagedcode/data/maven2/startup-trigger-plugin-0.1/startup-trigger-plugin-0.1.pom.package.json b/tests/packagedcode/data/maven2/startup-trigger-plugin-0.1/startup-trigger-plugin-0.1.pom.package.json index 084f1d94a00..7ca26cd8001 100644 --- a/tests/packagedcode/data/maven2/startup-trigger-plugin-0.1/startup-trigger-plugin-0.1.pom.package.json +++ b/tests/packagedcode/data/maven2/startup-trigger-plugin-0.1/startup-trigger-plugin-0.1.pom.package.json @@ -32,10 +32,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -48,8 +48,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1", "repository_homepage_url": "https://repo1.maven.org/maven2/org/jvnet/hudson/plugins/startup-trigger-plugin/0.1/", "repository_download_url": "https://repo1.maven.org/maven2/org/jvnet/hudson/plugins/startup-trigger-plugin/0.1/startup-trigger-plugin-0.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/jvnet/hudson/plugins/startup-trigger-plugin/0.1/startup-trigger-plugin-0.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/jvnet/hudson/plugins/startup-trigger-plugin/0.1/startup-trigger-plugin-0.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1" } \ No newline at end of file diff --git a/tests/packagedcode/data/maven2/uni_pom/uni_pom.xml.package.json b/tests/packagedcode/data/maven2/uni_pom/uni_pom.xml.package.json index 916cae51bbe..0260402a54f 100644 --- a/tests/packagedcode/data/maven2/uni_pom/uni_pom.xml.package.json +++ b/tests/packagedcode/data/maven2/uni_pom/uni_pom.xml.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/de.fzj.unicore.rcp/eclipseSequencePlugin@0.0.1-SNAPSHOT?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -76,8 +76,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/de.fzj.unicore.rcp/eclipseSequencePlugin@0.0.1-SNAPSHOT", "repository_homepage_url": "https://repo1.maven.org/maven2/de/fzj/unicore/rcp/eclipseSequencePlugin/0.0.1-SNAPSHOT/", "repository_download_url": "https://repo1.maven.org/maven2/de/fzj/unicore/rcp/eclipseSequencePlugin/0.0.1-SNAPSHOT/eclipseSequencePlugin-0.0.1-SNAPSHOT.jar", - "api_data_url": "https://repo1.maven.org/maven2/de/fzj/unicore/rcp/eclipseSequencePlugin/0.0.1-SNAPSHOT/eclipseSequencePlugin-0.0.1-SNAPSHOT.pom" + "api_data_url": "https://repo1.maven.org/maven2/de/fzj/unicore/rcp/eclipseSequencePlugin/0.0.1-SNAPSHOT/eclipseSequencePlugin-0.0.1-SNAPSHOT.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/de.fzj.unicore.rcp/eclipseSequencePlugin@0.0.1-SNAPSHOT" } \ No newline at end of file diff --git a/tests/packagedcode/data/maven2/urwerky_pom/urwerky_pom.xml.package.json b/tests/packagedcode/data/maven2/urwerky_pom/urwerky_pom.xml.package.json index b119f332560..5783c4f05a5 100644 --- a/tests/packagedcode/data/maven2/urwerky_pom/urwerky_pom.xml.package.json +++ b/tests/packagedcode/data/maven2/urwerky_pom/urwerky_pom.xml.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/ur.urwerk.test/ur.urwerk.test.module-y@1.0.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/ur.urwerk.test/ur.urwerk.test.module-y@1.0.0", "repository_homepage_url": "https://repo1.maven.org/maven2/ur/urwerk/test/ur.urwerk.test.module-y/1.0.0/", "repository_download_url": "https://repo1.maven.org/maven2/ur/urwerk/test/ur.urwerk.test.module-y/1.0.0/ur.urwerk.test.module-y-1.0.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/ur/urwerk/test/ur.urwerk.test.module-y/1.0.0/ur.urwerk.test.module-y-1.0.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/ur/urwerk/test/ur.urwerk.test.module-y/1.0.0/ur.urwerk.test.module-y-1.0.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/ur.urwerk.test/ur.urwerk.test.module-y@1.0.0" } \ No newline at end of file diff --git a/tests/packagedcode/data/maven2/webre_pom/webre_pom.xml.package.json b/tests/packagedcode/data/maven2/webre_pom/webre_pom.xml.package.json index ccb9d6b136d..ce928dd8f51 100644 --- a/tests/packagedcode/data/maven2/webre_pom/webre_pom.xml.package.json +++ b/tests/packagedcode/data/maven2/webre_pom/webre_pom.xml.package.json @@ -24,14 +24,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.webreformatter.wrappers/com.google.gwt.query@0.1.5.SNAPSHOT?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.webreformatter.wrappers/com.google.gwt.query@0.1.5.SNAPSHOT", "repository_homepage_url": "https://repo1.maven.org/maven2/org/webreformatter/wrappers/com.google.gwt.query/0.1.5.SNAPSHOT/", "repository_download_url": "https://repo1.maven.org/maven2/org/webreformatter/wrappers/com.google.gwt.query/0.1.5.SNAPSHOT/com.google.gwt.query-0.1.5.SNAPSHOT.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/webreformatter/wrappers/com.google.gwt.query/0.1.5.SNAPSHOT/com.google.gwt.query-0.1.5.SNAPSHOT.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/webreformatter/wrappers/com.google.gwt.query/0.1.5.SNAPSHOT/com.google.gwt.query-0.1.5.SNAPSHOT.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.webreformatter.wrappers/com.google.gwt.query@0.1.5.SNAPSHOT" } \ No newline at end of file diff --git a/tests/packagedcode/data/maven2/xml-format-maven-plugin-3.0.6/xml-format-maven-plugin-3.0.6.pom.package.json b/tests/packagedcode/data/maven2/xml-format-maven-plugin-3.0.6/xml-format-maven-plugin-3.0.6.pom.package.json index ed2477c428e..7e851e8d8c0 100644 --- a/tests/packagedcode/data/maven2/xml-format-maven-plugin-3.0.6/xml-format-maven-plugin-3.0.6.pom.package.json +++ b/tests/packagedcode/data/maven2/xml-format-maven-plugin-3.0.6/xml-format-maven-plugin-3.0.6.pom.package.json @@ -24,10 +24,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -94,8 +94,9 @@ "resolved_package": {} } ], - "purl": "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6", "repository_homepage_url": "https://repo1.maven.org/maven2/au/com/acegi/xml-format-maven-plugin/3.0.6/", "repository_download_url": "https://repo1.maven.org/maven2/au/com/acegi/xml-format-maven-plugin/3.0.6/xml-format-maven-plugin-3.0.6.jar", - "api_data_url": "https://repo1.maven.org/maven2/au/com/acegi/xml-format-maven-plugin/3.0.6/xml-format-maven-plugin-3.0.6.pom" + "api_data_url": "https://repo1.maven.org/maven2/au/com/acegi/xml-format-maven-plugin/3.0.6/xml-format-maven-plugin-3.0.6.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6" } \ No newline at end of file diff --git a/tests/packagedcode/data/maven_misc/extracted-jar-expected.json b/tests/packagedcode/data/maven_misc/extracted-jar-expected.json new file mode 100644 index 00000000000..0b0353e3ae3 --- /dev/null +++ b/tests/packagedcode/data/maven_misc/extracted-jar-expected.json @@ -0,0 +1,498 @@ +{ + "headers": [ + { + "tool_name": "scancode-toolkit", + "options": { + "input": "", + "--json": "", + "--package": true, + "--processes": "-1" + }, + "notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.", + "output_format_version": "2.0.0", + "message": null, + "errors": [], + "warnings": [], + "extra_data": { + "spdx_license_list_version": "3.16", + "files_count": 4 + } + } + ], + "dependencies": [ + { + "purl": "pkg:maven/org.activiti/activiti-bpmn-model", + "extracted_requirement": null, + "scope": "compile", + "is_runtime": false, + "is_optional": true, + "is_resolved": null, + "resolved_package": {}, + "dependency_uid": "pkg:maven/org.activiti/activiti-bpmn-model?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.activiti/activiti-image-generator@7-201802-EA?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator/pom.xml", + "datasource_id": "maven_pom" + }, + { + "purl": "pkg:maven/org.apache.xmlgraphics/batik-awt-util", + "extracted_requirement": null, + "scope": "compile", + "is_runtime": false, + "is_optional": true, + "is_resolved": null, + "resolved_package": {}, + "dependency_uid": "pkg:maven/org.apache.xmlgraphics/batik-awt-util?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.activiti/activiti-image-generator@7-201802-EA?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator/pom.xml", + "datasource_id": "maven_pom" + }, + { + "purl": "pkg:maven/org.apache.xmlgraphics/batik-dom", + "extracted_requirement": null, + "scope": "compile", + "is_runtime": false, + "is_optional": true, + "is_resolved": null, + "resolved_package": {}, + "dependency_uid": "pkg:maven/org.apache.xmlgraphics/batik-dom?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.activiti/activiti-image-generator@7-201802-EA?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator/pom.xml", + "datasource_id": "maven_pom" + }, + { + "purl": "pkg:maven/org.apache.xmlgraphics/batik-svggen", + "extracted_requirement": null, + "scope": "compile", + "is_runtime": false, + "is_optional": true, + "is_resolved": null, + "resolved_package": {}, + "dependency_uid": "pkg:maven/org.apache.xmlgraphics/batik-svggen?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.activiti/activiti-image-generator@7-201802-EA?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator/pom.xml", + "datasource_id": "maven_pom" + }, + { + "purl": "pkg:maven/org.slf4j/slf4j-api", + "extracted_requirement": null, + "scope": "compile", + "is_runtime": false, + "is_optional": true, + "is_resolved": null, + "resolved_package": {}, + "dependency_uid": "pkg:maven/org.slf4j/slf4j-api?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.activiti/activiti-image-generator@7-201802-EA?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator/pom.xml", + "datasource_id": "maven_pom" + }, + { + "purl": "pkg:maven/org.springframework/spring-context", + "extracted_requirement": null, + "scope": "compile", + "is_runtime": false, + "is_optional": true, + "is_resolved": null, + "resolved_package": {}, + "dependency_uid": "pkg:maven/org.springframework/spring-context?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.activiti/activiti-image-generator@7-201802-EA?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator/pom.xml", + "datasource_id": "maven_pom" + }, + { + "purl": "pkg:maven/org.activiti/activiti-engine", + "extracted_requirement": null, + "scope": "test", + "is_runtime": false, + "is_optional": true, + "is_resolved": null, + "resolved_package": {}, + "dependency_uid": "pkg:maven/org.activiti/activiti-engine?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.activiti/activiti-image-generator@7-201802-EA?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator/pom.xml", + "datasource_id": "maven_pom" + }, + { + "purl": "pkg:maven/junit/junit", + "extracted_requirement": null, + "scope": "test", + "is_runtime": false, + "is_optional": true, + "is_resolved": null, + "resolved_package": {}, + "dependency_uid": "pkg:maven/junit/junit?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.activiti/activiti-image-generator@7-201802-EA?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator/pom.xml", + "datasource_id": "maven_pom" + }, + { + "purl": "pkg:maven/com.h2database/h2", + "extracted_requirement": null, + "scope": "test", + "is_runtime": false, + "is_optional": true, + "is_resolved": null, + "resolved_package": {}, + "dependency_uid": "pkg:maven/com.h2database/h2?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.activiti/activiti-image-generator@7-201802-EA?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator/pom.xml", + "datasource_id": "maven_pom" + }, + { + "purl": "pkg:maven/org.apache.xmlgraphics/batik-svg-dom", + "extracted_requirement": null, + "scope": "test", + "is_runtime": false, + "is_optional": true, + "is_resolved": null, + "resolved_package": {}, + "dependency_uid": "pkg:maven/org.apache.xmlgraphics/batik-svg-dom?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.activiti/activiti-image-generator@7-201802-EA?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator/pom.xml", + "datasource_id": "maven_pom" + }, + { + "purl": "pkg:maven/org.apache.xmlgraphics/batik-anim", + "extracted_requirement": null, + "scope": "test", + "is_runtime": false, + "is_optional": true, + "is_resolved": null, + "resolved_package": {}, + "dependency_uid": "pkg:maven/org.apache.xmlgraphics/batik-anim?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.activiti/activiti-image-generator@7-201802-EA?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator/pom.xml", + "datasource_id": "maven_pom" + }, + { + "purl": "pkg:maven/org.apache.xmlgraphics/batik-parser", + "extracted_requirement": null, + "scope": "test", + "is_runtime": false, + "is_optional": true, + "is_resolved": null, + "resolved_package": {}, + "dependency_uid": "pkg:maven/org.apache.xmlgraphics/batik-parser?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.activiti/activiti-image-generator@7-201802-EA?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator/pom.xml", + "datasource_id": "maven_pom" + } + ], + "packages": [ + { + "type": "maven", + "namespace": "org.activiti", + "name": "activiti-image-generator", + "version": "7-201802-EA", + "qualifiers": {}, + "subpath": null, + "primary_language": "Java", + "description": "Activiti :: Image Generator", + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [ + "pkg:maven/org.activiti/activiti-image-generator@7-201802-EA?classifier=sources" + ], + "extra_data": {}, + "repository_homepage_url": "https://repo1.maven.org/maven2/org/activiti/activiti-image-generator/7-201802-EA/", + "repository_download_url": "https://repo1.maven.org/maven2/org/activiti/activiti-image-generator/7-201802-EA/activiti-image-generator-7-201802-EA.jar", + "api_data_url": "https://repo1.maven.org/maven2/org/activiti/activiti-image-generator/7-201802-EA/activiti-image-generator-7-201802-EA.pom", + "package_uid": "pkg:maven/org.activiti/activiti-image-generator@7-201802-EA?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator/pom.xml" + ], + "datasource_ids": [ + "maven_pom" + ], + "purl": "pkg:maven/org.activiti/activiti-image-generator@7-201802-EA" + } + ], + "files": [ + { + "path": "extracted-jar", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract", + "type": "directory", + "package_data": [], + "for_packages": [ + "pkg:maven/org.activiti/activiti-image-generator@7-201802-EA?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF", + "type": "directory", + "package_data": [], + "for_packages": [ + "pkg:maven/org.activiti/activiti-image-generator@7-201802-EA?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/MANIFEST.MF", + "type": "file", + "package_data": [], + "for_packages": [ + "pkg:maven/org.activiti/activiti-image-generator@7-201802-EA?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven", + "type": "directory", + "package_data": [], + "for_packages": [ + "pkg:maven/org.activiti/activiti-image-generator@7-201802-EA?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti", + "type": "directory", + "package_data": [], + "for_packages": [ + "pkg:maven/org.activiti/activiti-image-generator@7-201802-EA?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator", + "type": "directory", + "package_data": [], + "for_packages": [ + "pkg:maven/org.activiti/activiti-image-generator@7-201802-EA?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator/pom.properties", + "type": "file", + "package_data": [], + "for_packages": [ + "pkg:maven/org.activiti/activiti-image-generator@7-201802-EA?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator/pom.xml", + "type": "file", + "package_data": [ + { + "type": "maven", + "namespace": "org.activiti", + "name": "activiti-image-generator", + "version": "7-201802-EA", + "qualifiers": {}, + "subpath": null, + "primary_language": "Java", + "description": "Activiti :: Image Generator", + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [ + "pkg:maven/org.activiti/activiti-image-generator@7-201802-EA?classifier=sources" + ], + "file_references": [], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:maven/org.activiti/activiti-bpmn-model", + "extracted_requirement": null, + "scope": "compile", + "is_runtime": false, + "is_optional": true, + "is_resolved": null, + "resolved_package": {} + }, + { + "purl": "pkg:maven/org.apache.xmlgraphics/batik-awt-util", + "extracted_requirement": null, + "scope": "compile", + "is_runtime": false, + "is_optional": true, + "is_resolved": null, + "resolved_package": {} + }, + { + "purl": "pkg:maven/org.apache.xmlgraphics/batik-dom", + "extracted_requirement": null, + "scope": "compile", + "is_runtime": false, + "is_optional": true, + "is_resolved": null, + "resolved_package": {} + }, + { + "purl": "pkg:maven/org.apache.xmlgraphics/batik-svggen", + "extracted_requirement": null, + "scope": "compile", + "is_runtime": false, + "is_optional": true, + "is_resolved": null, + "resolved_package": {} + }, + { + "purl": "pkg:maven/org.slf4j/slf4j-api", + "extracted_requirement": null, + "scope": "compile", + "is_runtime": false, + "is_optional": true, + "is_resolved": null, + "resolved_package": {} + }, + { + "purl": "pkg:maven/org.springframework/spring-context", + "extracted_requirement": null, + "scope": "compile", + "is_runtime": false, + "is_optional": true, + "is_resolved": null, + "resolved_package": {} + }, + { + "purl": "pkg:maven/org.activiti/activiti-engine", + "extracted_requirement": null, + "scope": "test", + "is_runtime": false, + "is_optional": true, + "is_resolved": null, + "resolved_package": {} + }, + { + "purl": "pkg:maven/junit/junit", + "extracted_requirement": null, + "scope": "test", + "is_runtime": false, + "is_optional": true, + "is_resolved": null, + "resolved_package": {} + }, + { + "purl": "pkg:maven/com.h2database/h2", + "extracted_requirement": null, + "scope": "test", + "is_runtime": false, + "is_optional": true, + "is_resolved": null, + "resolved_package": {} + }, + { + "purl": "pkg:maven/org.apache.xmlgraphics/batik-svg-dom", + "extracted_requirement": null, + "scope": "test", + "is_runtime": false, + "is_optional": true, + "is_resolved": null, + "resolved_package": {} + }, + { + "purl": "pkg:maven/org.apache.xmlgraphics/batik-anim", + "extracted_requirement": null, + "scope": "test", + "is_runtime": false, + "is_optional": true, + "is_resolved": null, + "resolved_package": {} + }, + { + "purl": "pkg:maven/org.apache.xmlgraphics/batik-parser", + "extracted_requirement": null, + "scope": "test", + "is_runtime": false, + "is_optional": true, + "is_resolved": null, + "resolved_package": {} + } + ], + "repository_homepage_url": "https://repo1.maven.org/maven2/org/activiti/activiti-image-generator/7-201802-EA/", + "repository_download_url": "https://repo1.maven.org/maven2/org/activiti/activiti-image-generator/7-201802-EA/activiti-image-generator-7-201802-EA.jar", + "api_data_url": "https://repo1.maven.org/maven2/org/activiti/activiti-image-generator/7-201802-EA/activiti-image-generator-7-201802-EA.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.activiti/activiti-image-generator@7-201802-EA" + } + ], + "for_packages": [ + "pkg:maven/org.activiti/activiti-image-generator@7-201802-EA?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/org", + "type": "directory", + "package_data": [], + "for_packages": [ + "pkg:maven/org.activiti/activiti-image-generator@7-201802-EA?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/org/activiti", + "type": "directory", + "package_data": [], + "for_packages": [ + "pkg:maven/org.activiti/activiti-image-generator@7-201802-EA?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/org/activiti/image", + "type": "directory", + "package_data": [], + "for_packages": [ + "pkg:maven/org.activiti/activiti-image-generator@7-201802-EA?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/org/activiti/image/exception", + "type": "directory", + "package_data": [], + "for_packages": [ + "pkg:maven/org.activiti/activiti-image-generator@7-201802-EA?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/org/activiti/image/exception/ActivitiImageException.java", + "type": "file", + "package_data": [], + "for_packages": [ + "pkg:maven/org.activiti/activiti-image-generator@7-201802-EA?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + } + ] +} \ No newline at end of file diff --git a/tests/packagedcode/data/maven_misc/package_root/activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/MANIFEST.MF b/tests/packagedcode/data/maven_misc/extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/MANIFEST.MF similarity index 100% rename from tests/packagedcode/data/maven_misc/package_root/activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/MANIFEST.MF rename to tests/packagedcode/data/maven_misc/extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/MANIFEST.MF diff --git a/tests/packagedcode/data/maven_misc/package_root/activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator/pom.properties b/tests/packagedcode/data/maven_misc/extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator/pom.properties similarity index 100% rename from tests/packagedcode/data/maven_misc/package_root/activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator/pom.properties rename to tests/packagedcode/data/maven_misc/extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator/pom.properties diff --git a/tests/packagedcode/data/maven_misc/package_root/activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator/pom.xml b/tests/packagedcode/data/maven_misc/extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator/pom.xml similarity index 100% rename from tests/packagedcode/data/maven_misc/package_root/activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator/pom.xml rename to tests/packagedcode/data/maven_misc/extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator/pom.xml diff --git a/tests/packagedcode/data/maven_misc/package_root/activiti-image-generator-7-201802-EA-sources.jar-extract/org/activiti/image/exception/ActivitiImageException.java b/tests/packagedcode/data/maven_misc/extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/org/activiti/image/exception/ActivitiImageException.java similarity index 100% rename from tests/packagedcode/data/maven_misc/package_root/activiti-image-generator-7-201802-EA-sources.jar-extract/org/activiti/image/exception/ActivitiImageException.java rename to tests/packagedcode/data/maven_misc/extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/org/activiti/image/exception/ActivitiImageException.java diff --git a/tests/packagedcode/data/maven_misc/parse/ant-1.6.5.pom.json b/tests/packagedcode/data/maven_misc/parse/ant-1.6.5.pom.json index 34cecb5997c..9e26dfeeb6e 100644 --- a/tests/packagedcode/data/maven_misc/parse/ant-1.6.5.pom.json +++ b/tests/packagedcode/data/maven_misc/parse/ant-1.6.5.pom.json @@ -1,42 +1 @@ -{ - "model_version": null, - "group_id": null, - "artifact_id": null, - "version": "1.6.5", - "classifier": null, - "packaging": "jar", - "parent": {}, - "name": null, - "description": null, - "inception_year": null, - "url": null, - "organization_name": null, - "organization_url": null, - "licenses": [], - "developers": [], - "contributors": [], - "modules": [], - "mailing_lists": [], - "scm": {}, - "issue_management": {}, - "ci_management": {}, - "distribution_management": {}, - "repositories": [], - "plugin_repositories": [], - "dependencies": { - "compile": [ - { - "group_id": "xerces", - "artifact_id": "xercesImpl", - "version": "2.6.2", - "required": false - }, - { - "group_id": "xml-apis", - "artifact_id": "xml-apis", - "version": "1.3.04", - "required": false - } - ] - } -} \ No newline at end of file +{} \ No newline at end of file diff --git a/tests/packagedcode/data/maven_misc/parse/mysql-connector-java-5.0.4.pom.json b/tests/packagedcode/data/maven_misc/parse/mysql-connector-java-5.0.4.pom.json index e5b444d6f9b..9e26dfeeb6e 100644 --- a/tests/packagedcode/data/maven_misc/parse/mysql-connector-java-5.0.4.pom.json +++ b/tests/packagedcode/data/maven_misc/parse/mysql-connector-java-5.0.4.pom.json @@ -1,32 +1 @@ -{ - "model_version": "4.0.0", - "group_id": null, - "artifact_id": null, - "version": null, - "classifier": null, - "packaging": "jar", - "parent": {}, - "name": null, - "description": null, - "inception_year": null, - "url": null, - "organization_name": null, - "organization_url": null, - "licenses": [], - "developers": [], - "contributors": [], - "modules": [], - "mailing_lists": [], - "scm": { - "connection": null, - "developer_connection": null, - "url": "http://svn.mysql.com/svnpublic/connector-j/trunk/connector-j", - "tag": null - }, - "issue_management": {}, - "ci_management": {}, - "distribution_management": {}, - "repositories": [], - "plugin_repositories": [], - "dependencies": {} -} \ No newline at end of file +{} \ No newline at end of file diff --git a/tests/packagedcode/data/maven_misc/parse/plexus-root-1.0.3.pom.json b/tests/packagedcode/data/maven_misc/parse/plexus-root-1.0.3.pom.json index 9971db260e0..9e26dfeeb6e 100644 --- a/tests/packagedcode/data/maven_misc/parse/plexus-root-1.0.3.pom.json +++ b/tests/packagedcode/data/maven_misc/parse/plexus-root-1.0.3.pom.json @@ -1,39 +1 @@ -{ - "model_version": null, - "group_id": null, - "artifact_id": null, - "version": null, - "classifier": null, - "packaging": "jar", - "parent": {}, - "name": null, - "description": null, - "inception_year": null, - "url": null, - "organization_name": null, - "organization_url": null, - "licenses": [], - "developers": [ - { - "id": "trygvis", - "name": "Trygve Laugstl", - "email": "trygvis@codehaus.org", - "url": null, - "organization": null, - "organization_url": null, - "roles": [ - "Developer" - ] - } - ], - "contributors": [], - "modules": [], - "mailing_lists": [], - "scm": {}, - "issue_management": {}, - "ci_management": {}, - "distribution_management": {}, - "repositories": [], - "plugin_repositories": [], - "dependencies": {} -} \ No newline at end of file +{} \ No newline at end of file diff --git a/tests/packagedcode/data/models/full-expected.json b/tests/packagedcode/data/models/full-expected.json index 9e5fcaf25fb..49cf9ce39cb 100644 --- a/tests/packagedcode/data/models/full-expected.json +++ b/tests/packagedcode/data/models/full-expected.json @@ -39,13 +39,15 @@ "license_expression": "apache-2.0", "declared_license": "apache-2.0", "notice_text": "licensed under the apacche 2.0 \nlicense", - "contains_source_code": true, "source_packages": [ "pkg:maven/aspectj/aspectjtools@1.5.4?classifier=sources" ], + "file_references": [], "extra_data": {}, - "purl": "pkg:rpm/fedora/Sample@12.2.3?abc=12&this=that#asdasd/asdasd/asdasd", + "dependencies": [], "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": null, + "purl": "pkg:rpm/fedora/Sample@12.2.3?abc=12&this=that#asdasd/asdasd/asdasd" } \ No newline at end of file diff --git a/tests/packagedcode/data/models/nested-npm-packages.json b/tests/packagedcode/data/models/nested-npm-packages.json deleted file mode 100644 index 71555a78b76..00000000000 --- a/tests/packagedcode/data/models/nested-npm-packages.json +++ /dev/null @@ -1,237 +0,0 @@ -{ - "headers": [ - { - "tool_name": "scancode-toolkit", - "tool_version": "3.0.2.post1250.904952c36", - "options": { - "input": [ - "plugins/scancode-consolidate-scan/tests/data/plugin_consolidate/nested-packages/" - ], - "--json-pp": "plugins/scancode-consolidate-scan/tests/data/plugin_consolidate/nested-npm-packages.json", - "--package": true - }, - "notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.", - "start_timestamp": "2019-07-26T200843.397788", - "end_timestamp": "2019-07-26T200845.708729", - "message": null, - "errors": [], - "extra_data": { - "files_count": 4 - } - } - ], - "files": [ - { - "path": "nested-packages", - "type": "directory", - "packages": [ - { - "type": "npm", - "namespace": null, - "name": "test-package", - "version": "0.0.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/test-package/-/test-package-0.0.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": "apache-2.0", - "declared_license": [ - "apache-2.0" - ], - "notice_text": null, - "root_path": "package.json", - "dependencies": [], - "contains_source_code": null, - "source_packages": [], - "purl": "pkg:npm/test-package@0.0.1", - "repository_homepage_url": "https://www.npmjs.com/package/test-package", - "repository_download_url": "https://registry.npmjs.org/test-package/-/test-package-0.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/test-package/0.0.1" - } - ], - "scan_errors": [] - }, - { - "path": "nested-packages/package.json", - "type": "file", - "packages": [], - "scan_errors": [] - }, - { - "path": "nested-packages/node_modules", - "type": "directory", - "packages": [], - "scan_errors": [] - }, - { - "path": "nested-packages/node_modules/bar", - "type": "directory", - "packages": [ - { - "type": "npm", - "namespace": null, - "name": "bar", - "version": "0.0.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/bar/-/bar-0.0.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": "apache-2.0", - "declared_license": [ - "apache-2.0" - ], - "notice_text": null, - "root_path": "package.json", - "dependencies": [], - "contains_source_code": null, - "source_packages": [], - "purl": "pkg:npm/bar@0.0.1", - "repository_homepage_url": "https://www.npmjs.com/package/bar", - "repository_download_url": "https://registry.npmjs.org/bar/-/bar-0.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/bar/0.0.1" - } - ], - "scan_errors": [] - }, - { - "path": "nested-packages/node_modules/bar/package.json", - "type": "file", - "packages": [], - "scan_errors": [] - }, - { - "path": "nested-packages/node_modules/foo", - "type": "directory", - "packages": [ - { - "type": "npm", - "namespace": null, - "name": "foo", - "version": "0.0.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/foo/-/foo-0.0.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": "apache-2.0", - "declared_license": [ - "apache-2.0" - ], - "notice_text": null, - "root_path": "package.json", - "dependencies": [], - "contains_source_code": null, - "source_packages": [], - "purl": "pkg:npm/foo@0.0.1", - "repository_homepage_url": "https://www.npmjs.com/package/foo", - "repository_download_url": "https://registry.npmjs.org/foo/-/foo-0.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/foo/0.0.1" - } - ], - "scan_errors": [] - }, - { - "path": "nested-packages/node_modules/foo/package.json", - "type": "file", - "packages": [], - "scan_errors": [] - }, - { - "path": "nested-packages/node_modules/foo/node_modules", - "type": "directory", - "packages": [], - "scan_errors": [] - }, - { - "path": "nested-packages/node_modules/foo/node_modules/bar", - "type": "directory", - "packages": [ - { - "type": "npm", - "namespace": null, - "name": "bar", - "version": "0.0.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/bar/-/bar-0.0.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": "apache-2.0", - "declared_license": [ - "apache-2.0" - ], - "notice_text": null, - "root_path": "package.json", - "dependencies": [], - "contains_source_code": null, - "source_packages": [], - "purl": "pkg:npm/bar@0.0.1", - "repository_homepage_url": "https://www.npmjs.com/package/bar", - "repository_download_url": "https://registry.npmjs.org/bar/-/bar-0.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/bar/0.0.1" - } - ], - "scan_errors": [] - }, - { - "path": "nested-packages/node_modules/foo/node_modules/bar/package.json", - "type": "file", - "packages": [], - "scan_errors": [] - } - ] -} diff --git a/tests/packagedcode/data/models/simple-expected.json b/tests/packagedcode/data/models/simple-expected.json index 5439bd8fb28..8d092f26d05 100644 --- a/tests/packagedcode/data/models/simple-expected.json +++ b/tests/packagedcode/data/models/simple-expected.json @@ -35,11 +35,13 @@ "license_expression": "apache-2.0", "declared_license": "apache-2.0", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, - "purl": "pkg:rpm/Sample", + "dependencies": [], "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "rpm_archive", + "purl": "pkg:rpm/Sample" } \ No newline at end of file diff --git a/tests/packagedcode/data/npm/as_installed/package.json.expected b/tests/packagedcode/data/npm/as_installed/package.json.expected index 4560e897d88..0433b44aa04 100644 --- a/tests/packagedcode/data/npm/as_installed/package.json.expected +++ b/tests/packagedcode/data/npm/as_installed/package.json.expected @@ -2210,8 +2210,8 @@ "Artistic-2.0" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -2908,9 +2908,10 @@ "resolved_package": {} } ], - "purl": "pkg:npm/npm@2.13.5", "repository_homepage_url": "https://www.npmjs.com/package/npm", "repository_download_url": "https://registry.npmjs.org/npm/-/npm-2.13.5.tgz", - "api_data_url": "https://registry.npmjs.org/npm/2.13.5" + "api_data_url": "https://registry.npmjs.org/npm/2.13.5", + "datasource_id": "npm_package_json", + "purl": "pkg:npm/npm@2.13.5" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/npm/authors_list_dicts/package.json.expected b/tests/packagedcode/data/npm/authors_list_dicts/package.json.expected index db258537e5c..29fc85e83c6 100644 --- a/tests/packagedcode/data/npm/authors_list_dicts/package.json.expected +++ b/tests/packagedcode/data/npm/authors_list_dicts/package.json.expected @@ -58,8 +58,8 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -117,9 +117,10 @@ "resolved_package": {} } ], - "purl": "pkg:npm/grunt-csscomb@3.1.1", "repository_homepage_url": "https://www.npmjs.com/package/grunt-csscomb", "repository_download_url": "https://registry.npmjs.org/grunt-csscomb/-/grunt-csscomb-3.1.1.tgz", - "api_data_url": "https://registry.npmjs.org/grunt-csscomb/3.1.1" + "api_data_url": "https://registry.npmjs.org/grunt-csscomb/3.1.1", + "datasource_id": "npm_package_json", + "purl": "pkg:npm/grunt-csscomb@3.1.1" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/npm/authors_list_strings/package.json.expected b/tests/packagedcode/data/npm/authors_list_strings/package.json.expected index 69c475bb8f3..0db6e8f6160 100644 --- a/tests/packagedcode/data/npm/authors_list_strings/package.json.expected +++ b/tests/packagedcode/data/npm/authors_list_strings/package.json.expected @@ -53,8 +53,8 @@ "MIT" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -391,9 +391,10 @@ "resolved_package": {} } ], - "purl": "pkg:npm/react-motion@0.5.2", "repository_homepage_url": "https://www.npmjs.com/package/react-motion", "repository_download_url": "https://registry.npmjs.org/react-motion/-/react-motion-0.5.2.tgz", - "api_data_url": "https://registry.npmjs.org/react-motion/0.5.2" + "api_data_url": "https://registry.npmjs.org/react-motion/0.5.2", + "datasource_id": "npm_package_json", + "purl": "pkg:npm/react-motion@0.5.2" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/npm/authors_list_strings2/package.json.expected b/tests/packagedcode/data/npm/authors_list_strings2/package.json.expected index 5f782d7e713..818c90207e1 100644 --- a/tests/packagedcode/data/npm/authors_list_strings2/package.json.expected +++ b/tests/packagedcode/data/npm/authors_list_strings2/package.json.expected @@ -47,8 +47,8 @@ "license_expression": null, "declared_license": [], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -70,9 +70,10 @@ "resolved_package": {} } ], - "purl": "pkg:npm/exif@0.6.0", "repository_homepage_url": "https://www.npmjs.com/package/exif", "repository_download_url": "https://registry.npmjs.org/exif/-/exif-0.6.0.tgz", - "api_data_url": "https://registry.npmjs.org/exif/0.6.0" + "api_data_url": "https://registry.npmjs.org/exif/0.6.0", + "datasource_id": "npm_package_json", + "purl": "pkg:npm/exif@0.6.0" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/npm/basic/package.json.expected b/tests/packagedcode/data/npm/basic/package.json.expected index c8d52a4a810..034059f9cdb 100644 --- a/tests/packagedcode/data/npm/basic/package.json.expected +++ b/tests/packagedcode/data/npm/basic/package.json.expected @@ -37,8 +37,8 @@ "license_expression": null, "declared_license": [], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -60,9 +60,10 @@ "resolved_package": {} } ], - "purl": "pkg:npm/cookie-signature@1.0.3", "repository_homepage_url": "https://www.npmjs.com/package/cookie-signature", "repository_download_url": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.3.tgz", - "api_data_url": "https://registry.npmjs.org/cookie-signature/1.0.3" + "api_data_url": "https://registry.npmjs.org/cookie-signature/1.0.3", + "datasource_id": "npm_package_json", + "purl": "pkg:npm/cookie-signature@1.0.3" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/npm/bundledDeps/package.json.expected b/tests/packagedcode/data/npm/bundledDeps/package.json.expected index 748bcc0068b..b4fd1469057 100644 --- a/tests/packagedcode/data/npm/bundledDeps/package.json.expected +++ b/tests/packagedcode/data/npm/bundledDeps/package.json.expected @@ -25,8 +25,8 @@ "license_expression": null, "declared_license": [], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -57,9 +57,10 @@ "resolved_package": {} } ], - "purl": "pkg:npm/pahub@0.4.0", "repository_homepage_url": "https://www.npmjs.com/package/pahub", "repository_download_url": "https://registry.npmjs.org/pahub/-/pahub-0.4.0.tgz", - "api_data_url": "https://registry.npmjs.org/pahub/0.4.0" + "api_data_url": "https://registry.npmjs.org/pahub/0.4.0", + "datasource_id": "npm_package_json", + "purl": "pkg:npm/pahub@0.4.0" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/npm/casepath/package.json.expected b/tests/packagedcode/data/npm/casepath/package.json.expected index 98c93630cfd..2d6bd83c1f0 100644 --- a/tests/packagedcode/data/npm/casepath/package.json.expected +++ b/tests/packagedcode/data/npm/casepath/package.json.expected @@ -35,8 +35,8 @@ "MIT" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -301,9 +301,10 @@ "resolved_package": {} } ], - "purl": "pkg:npm/casesensitivepathswebpackpluginDemo@0.0.1", "repository_homepage_url": "https://www.npmjs.com/package/casesensitivepathswebpackpluginDemo", "repository_download_url": "https://registry.npmjs.org/casesensitivepathswebpackpluginDemo/-/casesensitivepathswebpackpluginDemo-0.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/casesensitivepathswebpackpluginDemo/0.0.1" + "api_data_url": "https://registry.npmjs.org/casesensitivepathswebpackpluginDemo/0.0.1", + "datasource_id": "npm_package_json", + "purl": "pkg:npm/casesensitivepathswebpackpluginDemo@0.0.1" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/npm/chartist/package.json.expected b/tests/packagedcode/data/npm/chartist/package.json.expected index 803099508ad..dfaaf12eb58 100644 --- a/tests/packagedcode/data/npm/chartist/package.json.expected +++ b/tests/packagedcode/data/npm/chartist/package.json.expected @@ -48,8 +48,8 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -323,9 +323,10 @@ "resolved_package": {} } ], - "purl": "pkg:npm/chartist@0.11.0", "repository_homepage_url": "https://www.npmjs.com/package/chartist", "repository_download_url": "https://registry.npmjs.org/chartist/-/chartist-0.11.0.tgz", - "api_data_url": "https://registry.npmjs.org/chartist/0.11.0" + "api_data_url": "https://registry.npmjs.org/chartist/0.11.0", + "datasource_id": "npm_package_json", + "purl": "pkg:npm/chartist@0.11.0" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/npm/dist/package.json.expected b/tests/packagedcode/data/npm/dist/package.json.expected index e1184c529cb..db7a339ac8c 100644 --- a/tests/packagedcode/data/npm/dist/package.json.expected +++ b/tests/packagedcode/data/npm/dist/package.json.expected @@ -35,8 +35,8 @@ "MIT" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -85,9 +85,10 @@ "resolved_package": {} } ], - "purl": "pkg:npm/angular-compare-validator@0.1.1", "repository_homepage_url": "https://www.npmjs.com/package/angular-compare-validator", "repository_download_url": "https://registry.npmjs.org/angular-compare-validator/-/angular-compare-validator-0.1.1.tgz", - "api_data_url": "https://registry.npmjs.org/angular-compare-validator/0.1.1" + "api_data_url": "https://registry.npmjs.org/angular-compare-validator/0.1.1", + "datasource_id": "npm_package_json", + "purl": "pkg:npm/angular-compare-validator@0.1.1" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/npm/double_license/package.json.expected b/tests/packagedcode/data/npm/double_license/package.json.expected index 304d4f9ea56..5656aaf4137 100644 --- a/tests/packagedcode/data/npm/double_license/package.json.expected +++ b/tests/packagedcode/data/npm/double_license/package.json.expected @@ -41,8 +41,8 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -136,9 +136,10 @@ "resolved_package": {} } ], - "purl": "pkg:npm/grunt-esvm@3.2.8", "repository_homepage_url": "https://www.npmjs.com/package/grunt-esvm", "repository_download_url": "https://registry.npmjs.org/grunt-esvm/-/grunt-esvm-3.2.8.tgz", - "api_data_url": "https://registry.npmjs.org/grunt-esvm/3.2.8" + "api_data_url": "https://registry.npmjs.org/grunt-esvm/3.2.8", + "datasource_id": "npm_package_json", + "purl": "pkg:npm/grunt-esvm@3.2.8" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/npm/express-jwt-3.4.0/package.json.expected b/tests/packagedcode/data/npm/express-jwt-3.4.0/package.json.expected index 7226127c5de..de65966f994 100644 --- a/tests/packagedcode/data/npm/express-jwt-3.4.0/package.json.expected +++ b/tests/packagedcode/data/npm/express-jwt-3.4.0/package.json.expected @@ -49,8 +49,8 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -99,9 +99,10 @@ "resolved_package": {} } ], - "purl": "pkg:npm/express-jwt@3.4.0", "repository_homepage_url": "https://www.npmjs.com/package/express-jwt", "repository_download_url": "https://registry.npmjs.org/express-jwt/-/express-jwt-3.4.0.tgz", - "api_data_url": "https://registry.npmjs.org/express-jwt/3.4.0" + "api_data_url": "https://registry.npmjs.org/express-jwt/3.4.0", + "datasource_id": "npm_package_json", + "purl": "pkg:npm/express-jwt@3.4.0" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/npm/from_npmjs/package.json.expected b/tests/packagedcode/data/npm/from_npmjs/package.json.expected index c3bcfc25874..976e83ca761 100644 --- a/tests/packagedcode/data/npm/from_npmjs/package.json.expected +++ b/tests/packagedcode/data/npm/from_npmjs/package.json.expected @@ -2210,8 +2210,8 @@ "Artistic-2.0" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -2908,9 +2908,10 @@ "resolved_package": {} } ], - "purl": "pkg:npm/npm@2.13.5", "repository_homepage_url": "https://www.npmjs.com/package/npm", "repository_download_url": "https://registry.npmjs.org/npm/-/npm-2.13.5.tgz", - "api_data_url": "https://registry.npmjs.org/npm/2.13.5" + "api_data_url": "https://registry.npmjs.org/npm/2.13.5", + "datasource_id": "npm_package_json", + "purl": "pkg:npm/npm@2.13.5" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/npm/from_tarball/package.json.expected b/tests/packagedcode/data/npm/from_tarball/package.json.expected index f2f789dfa77..fdd3d255bb6 100644 --- a/tests/packagedcode/data/npm/from_tarball/package.json.expected +++ b/tests/packagedcode/data/npm/from_tarball/package.json.expected @@ -40,8 +40,8 @@ "Artistic-2.0" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -729,9 +729,10 @@ "resolved_package": {} } ], - "purl": "pkg:npm/npm@2.13.5", "repository_homepage_url": "https://www.npmjs.com/package/npm", "repository_download_url": "https://registry.npmjs.org/npm/-/npm-2.13.5.tgz", - "api_data_url": "https://registry.npmjs.org/npm/2.13.5" + "api_data_url": "https://registry.npmjs.org/npm/2.13.5", + "datasource_id": "npm_package_json", + "purl": "pkg:npm/npm@2.13.5" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/npm/get_package_resources.scan.expected.json b/tests/packagedcode/data/npm/get_package_resources.scan.expected.json new file mode 100644 index 00000000000..18dd96ae4ce --- /dev/null +++ b/tests/packagedcode/data/npm/get_package_resources.scan.expected.json @@ -0,0 +1,144 @@ +{ + "headers": [ + { + "tool_name": "scancode-toolkit", + "options": { + "input": "", + "--json": "", + "--package": true + }, + "notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.", + "output_format_version": "2.0.0", + "message": null, + "errors": [], + "warnings": [], + "extra_data": { + "spdx_license_list_version": "3.16", + "files_count": 3 + } + } + ], + "dependencies": [], + "packages": [ + { + "type": "npm", + "namespace": null, + "name": "test", + "version": "0.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/test/-/test-0.1.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": "mit", + "declared_license": [ + "MIT" + ], + "notice_text": null, + "source_packages": [], + "extra_data": {}, + "repository_homepage_url": "https://www.npmjs.com/package/test", + "repository_download_url": "https://registry.npmjs.org/test/-/test-0.1.0.tgz", + "api_data_url": "https://registry.npmjs.org/test/0.1.0", + "package_uid": "pkg:npm/test@0.1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "get_package_resources/package.json" + ], + "datasource_ids": [ + "npm_package_json" + ], + "purl": "pkg:npm/test@0.1.0" + } + ], + "files": [ + { + "path": "get_package_resources", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "get_package_resources/node_modules", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "get_package_resources/node_modules/this-should-not-be-returned", + "type": "file", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "get_package_resources/package.json", + "type": "file", + "package_data": [ + { + "type": "npm", + "namespace": null, + "name": "test", + "version": "0.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/test/-/test-0.1.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": "mit", + "declared_license": [ + "MIT" + ], + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/test", + "repository_download_url": "https://registry.npmjs.org/test/-/test-0.1.0.tgz", + "api_data_url": "https://registry.npmjs.org/test/0.1.0", + "datasource_id": "npm_package_json", + "purl": "pkg:npm/test@0.1.0" + } + ], + "for_packages": [ + "pkg:npm/test@0.1.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "get_package_resources/this-should-be-returned", + "type": "file", + "package_data": [], + "for_packages": [], + "scan_errors": [] + } + ] +} \ No newline at end of file diff --git a/tests/packagedcode/data/npm/homepage-as-list/package.json.expected b/tests/packagedcode/data/npm/homepage-as-list/package.json.expected index 4ac5f1211fd..b35ba64561b 100644 --- a/tests/packagedcode/data/npm/homepage-as-list/package.json.expected +++ b/tests/packagedcode/data/npm/homepage-as-list/package.json.expected @@ -53,8 +53,8 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -112,9 +112,10 @@ "resolved_package": {} } ], - "purl": "pkg:npm/npm-research@0.0.1", "repository_homepage_url": "https://www.npmjs.com/package/npm-research", "repository_download_url": "https://registry.npmjs.org/npm-research/-/npm-research-0.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/npm-research/0.0.1" + "api_data_url": "https://registry.npmjs.org/npm-research/0.0.1", + "datasource_id": "npm_package_json", + "purl": "pkg:npm/npm-research@0.0.1" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/npm/invalid-dep/package.json.expected b/tests/packagedcode/data/npm/invalid-dep/package.json.expected index 024fe7d0108..dd1e01e2b75 100644 --- a/tests/packagedcode/data/npm/invalid-dep/package.json.expected +++ b/tests/packagedcode/data/npm/invalid-dep/package.json.expected @@ -44,8 +44,8 @@ "MIT" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -58,9 +58,10 @@ "resolved_package": {} } ], - "purl": "pkg:npm/angular2-autosize@1.0.0", "repository_homepage_url": "https://www.npmjs.com/package/angular2-autosize", "repository_download_url": "https://registry.npmjs.org/angular2-autosize/-/angular2-autosize-1.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/angular2-autosize/1.0.0" + "api_data_url": "https://registry.npmjs.org/angular2-autosize/1.0.0", + "datasource_id": "npm_package_json", + "purl": "pkg:npm/angular2-autosize@1.0.0" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/npm/keywords/package.json.expected b/tests/packagedcode/data/npm/keywords/package.json.expected index 2c0756a190c..83697c70292 100644 --- a/tests/packagedcode/data/npm/keywords/package.json.expected +++ b/tests/packagedcode/data/npm/keywords/package.json.expected @@ -59,8 +59,8 @@ "MIT" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -73,9 +73,10 @@ "resolved_package": {} } ], - "purl": "pkg:npm/lodash.clonedeep@4.3.2", "repository_homepage_url": "https://www.npmjs.com/package/lodash.clonedeep", "repository_download_url": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.3.2.tgz", - "api_data_url": "https://registry.npmjs.org/lodash.clonedeep/4.3.2" + "api_data_url": "https://registry.npmjs.org/lodash.clonedeep/4.3.2", + "datasource_id": "npm_package_json", + "purl": "pkg:npm/lodash.clonedeep@4.3.2" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/npm/legacy_license_dict/package.json.expected b/tests/packagedcode/data/npm/legacy_license_dict/package.json.expected index 7484a301ee4..1c90c7c2030 100644 --- a/tests/packagedcode/data/npm/legacy_license_dict/package.json.expected +++ b/tests/packagedcode/data/npm/legacy_license_dict/package.json.expected @@ -45,8 +45,8 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -113,9 +113,10 @@ "resolved_package": {} } ], - "purl": "pkg:npm/grunt-inline-imgsize@0.0.1", "repository_homepage_url": "https://www.npmjs.com/package/grunt-inline-imgsize", "repository_download_url": "https://registry.npmjs.org/grunt-inline-imgsize/-/grunt-inline-imgsize-0.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/grunt-inline-imgsize/0.0.1" + "api_data_url": "https://registry.npmjs.org/grunt-inline-imgsize/0.0.1", + "datasource_id": "npm_package_json", + "purl": "pkg:npm/grunt-inline-imgsize@0.0.1" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/npm/mime-1.3.4/package.json.expected b/tests/packagedcode/data/npm/mime-1.3.4/package.json.expected index ade4d3ce656..0829dea4177 100644 --- a/tests/packagedcode/data/npm/mime-1.3.4/package.json.expected +++ b/tests/packagedcode/data/npm/mime-1.3.4/package.json.expected @@ -48,8 +48,8 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -62,9 +62,10 @@ "resolved_package": {} } ], - "purl": "pkg:npm/mime@1.3.4", "repository_homepage_url": "https://www.npmjs.com/package/mime", "repository_download_url": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz", - "api_data_url": "https://registry.npmjs.org/mime/1.3.4" + "api_data_url": "https://registry.npmjs.org/mime/1.3.4", + "datasource_id": "npm_package_json", + "purl": "pkg:npm/mime@1.3.4" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/npm/nodep/package.json.expected b/tests/packagedcode/data/npm/nodep/package.json.expected index 91269dcd56d..d9651acaa6e 100644 --- a/tests/packagedcode/data/npm/nodep/package.json.expected +++ b/tests/packagedcode/data/npm/nodep/package.json.expected @@ -25,8 +25,8 @@ "license_expression": null, "declared_license": [], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -255,9 +255,10 @@ "resolved_package": {} } ], - "purl": "pkg:npm/etcd-dashboard@0.0.0", "repository_homepage_url": "https://www.npmjs.com/package/etcd-dashboard", "repository_download_url": "https://registry.npmjs.org/etcd-dashboard/-/etcd-dashboard-0.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/etcd-dashboard/0.0.0" + "api_data_url": "https://registry.npmjs.org/etcd-dashboard/0.0.0", + "datasource_id": "npm_package_json", + "purl": "pkg:npm/etcd-dashboard@0.0.0" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/npm/npm-shrinkwrap/npm-shrinkwrap.json-expected b/tests/packagedcode/data/npm/npm-shrinkwrap/npm-shrinkwrap.json-expected index da493998c0c..50a14cf6117 100644 --- a/tests/packagedcode/data/npm/npm-shrinkwrap/npm-shrinkwrap.json-expected +++ b/tests/packagedcode/data/npm/npm-shrinkwrap/npm-shrinkwrap.json-expected @@ -1,7 +1,7 @@ [ { "type": "npm", - "namespace": null, + "namespace": "", "name": "bootstrap", "version": "3.3.7", "qualifiers": {}, @@ -25,19646 +25,23985 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], - "extra_data": {}, + "file_references": [], + "extra_data": { + "lockfile_version": 1 + }, "dependencies": [ { "purl": "pkg:npm/abbrev@1.0.9", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.9", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "abbrev", + "version": "1.0.9", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "abbrev", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/abbrev", + "repository_download_url": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", + "api_data_url": "https://registry.npmjs.org/abbrev/1.0.9", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/abbrev@1.0.9" + } }, { "purl": "pkg:npm/accepts@1.3.3", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.3.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "accepts", + "version": "1.3.3", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "accepts", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/accepts", + "repository_download_url": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz", + "api_data_url": "https://registry.npmjs.org/accepts/1.3.3", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/accepts@1.3.3" + } }, { "purl": "pkg:npm/acorn@3.2.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "3.2.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "acorn", + "version": "3.2.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/acorn/-/acorn-3.2.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "acorn", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/acorn", + "repository_download_url": "https://registry.npmjs.org/acorn/-/acorn-3.2.0.tgz", + "api_data_url": "https://registry.npmjs.org/acorn/3.2.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/acorn@3.2.0" + } }, { "purl": "pkg:npm/acorn-globals@3.0.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "3.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "acorn-globals", + "version": "3.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-3.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "acorn-globals", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/acorn-globals", + "repository_download_url": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-3.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/acorn-globals/3.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/acorn-globals@3.0.0" + } }, { "purl": "pkg:npm/agent-base@2.0.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "agent-base", + "version": "2.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/agent-base/-/agent-base-2.0.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "agent-base", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/agent-base", + "repository_download_url": "https://registry.npmjs.org/agent-base/-/agent-base-2.0.1.tgz", + "api_data_url": "https://registry.npmjs.org/agent-base/2.0.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/agent-base@2.0.1" + } }, { "purl": "pkg:npm/align-text@0.1.4", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.1.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "align-text", + "version": "0.1.4", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "align-text", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/align-text", + "repository_download_url": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "api_data_url": "https://registry.npmjs.org/align-text/0.1.4", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/align-text@0.1.4" + } }, { "purl": "pkg:npm/amdefine@1.0.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "amdefine", + "version": "1.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "amdefine", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/amdefine", + "repository_download_url": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/amdefine/1.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/amdefine@1.0.0" + } }, { "purl": "pkg:npm/ansi-regex@2.0.0", - "extracted_requirement": null, + "extracted_requirement": "2.0.0", "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": true, - "resolved_package": {} + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "ansi-regex", + "version": "2.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "ansi-regex", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/ansi-regex", + "repository_download_url": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/ansi-regex/2.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/ansi-regex@2.0.0" + } }, { "purl": "pkg:npm/ansi-styles@2.2.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.2.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "ansi-styles", + "version": "2.2.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "ansi-styles", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/ansi-styles", + "repository_download_url": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "api_data_url": "https://registry.npmjs.org/ansi-styles/2.2.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/ansi-styles@2.2.1" + } }, { "purl": "pkg:npm/archiver@1.0.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "archiver", + "version": "1.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/archiver/-/archiver-1.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "archiver", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/archiver", + "repository_download_url": "https://registry.npmjs.org/archiver/-/archiver-1.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/archiver/1.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/archiver@1.0.0" + } }, { "purl": "pkg:npm/archiver-utils@1.2.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.2.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "archiver-utils", + "version": "1.2.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-1.2.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "archiver-utils", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/archiver-utils", + "repository_download_url": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-1.2.0.tgz", + "api_data_url": "https://registry.npmjs.org/archiver-utils/1.2.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/archiver-utils@1.2.0" + } }, { "purl": "pkg:npm/argparse@1.0.7", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.7", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "argparse", + "version": "1.0.7", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/argparse/-/argparse-1.0.7.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "argparse", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/argparse", + "repository_download_url": "https://registry.npmjs.org/argparse/-/argparse-1.0.7.tgz", + "api_data_url": "https://registry.npmjs.org/argparse/1.0.7", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/argparse@1.0.7" + } }, { "purl": "pkg:npm/array-differ@1.0.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "array-differ", + "version": "1.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "array-differ", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/array-differ", + "repository_download_url": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/array-differ/1.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/array-differ@1.0.0" + } }, { "purl": "pkg:npm/array-find-index@1.0.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "array-find-index", + "version": "1.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "array-find-index", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/array-find-index", + "repository_download_url": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.1.tgz", + "api_data_url": "https://registry.npmjs.org/array-find-index/1.0.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/array-find-index@1.0.1" + } }, { "purl": "pkg:npm/array-union@1.0.2", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "array-union", + "version": "1.0.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "array-union", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/array-union", + "repository_download_url": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "api_data_url": "https://registry.npmjs.org/array-union/1.0.2", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/array-union@1.0.2" + } }, { "purl": "pkg:npm/array-uniq@1.0.3", - "extracted_requirement": null, + "extracted_requirement": "1.0.3", "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": true, - "resolved_package": {} + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "array-uniq", + "version": "1.0.3", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "array-uniq", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/array-uniq", + "repository_download_url": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "api_data_url": "https://registry.npmjs.org/array-uniq/1.0.3", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/array-uniq@1.0.3" + } }, { "purl": "pkg:npm/arrify@1.0.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "arrify", + "version": "1.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "arrify", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/arrify", + "repository_download_url": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "api_data_url": "https://registry.npmjs.org/arrify/1.0.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/arrify@1.0.1" + } }, { "purl": "pkg:npm/asap@2.0.4", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.0.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "asap", + "version": "2.0.4", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/asap/-/asap-2.0.4.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "asap", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/asap", + "repository_download_url": "https://registry.npmjs.org/asap/-/asap-2.0.4.tgz", + "api_data_url": "https://registry.npmjs.org/asap/2.0.4", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/asap@2.0.4" + } }, { "purl": "pkg:npm/asn1@0.2.3", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.2.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "asn1", + "version": "0.2.3", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "asn1", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/asn1", + "repository_download_url": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "api_data_url": "https://registry.npmjs.org/asn1/0.2.3", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/asn1@0.2.3" + } }, { "purl": "pkg:npm/assert-plus@0.2.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.2.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "assert-plus", + "version": "0.2.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "assert-plus", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/assert-plus", + "repository_download_url": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", + "api_data_url": "https://registry.npmjs.org/assert-plus/0.2.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/assert-plus@0.2.0" + } }, { "purl": "pkg:npm/async@1.5.2", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.5.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "async", + "version": "1.5.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "async", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/async", + "repository_download_url": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "api_data_url": "https://registry.npmjs.org/async/1.5.2", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/async@1.5.2" + } }, { "purl": "pkg:npm/autoprefixer-core@5.2.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "5.2.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "autoprefixer-core", + "version": "5.2.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/autoprefixer-core/-/autoprefixer-core-5.2.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "autoprefixer-core", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/autoprefixer-core", + "repository_download_url": "https://registry.npmjs.org/autoprefixer-core/-/autoprefixer-core-5.2.1.tgz", + "api_data_url": "https://registry.npmjs.org/autoprefixer-core/5.2.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/autoprefixer-core@5.2.1" + } }, { "purl": "pkg:npm/aws-sign2@0.6.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.6.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "aws-sign2", + "version": "0.6.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "aws-sign2", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/aws-sign2", + "repository_download_url": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "api_data_url": "https://registry.npmjs.org/aws-sign2/0.6.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/aws-sign2@0.6.0" + } }, { "purl": "pkg:npm/aws4@1.4.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.4.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "aws4", + "version": "1.4.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/aws4/-/aws4-1.4.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "aws4", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/aws4", + "repository_download_url": "https://registry.npmjs.org/aws4/-/aws4-1.4.1.tgz", + "api_data_url": "https://registry.npmjs.org/aws4/1.4.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/aws4@1.4.1" + } }, { "purl": "pkg:npm/babel-runtime@6.9.2", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "6.9.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "babel-runtime", + "version": "6.9.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.9.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "babel-runtime", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/babel-runtime", + "repository_download_url": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.9.2.tgz", + "api_data_url": "https://registry.npmjs.org/babel-runtime/6.9.2", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/babel-runtime@6.9.2" + } }, { "purl": "pkg:npm/babylon@6.8.4", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "6.8.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "babylon", + "version": "6.8.4", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/babylon/-/babylon-6.8.4.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "babylon", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/babylon", + "repository_download_url": "https://registry.npmjs.org/babylon/-/babylon-6.8.4.tgz", + "api_data_url": "https://registry.npmjs.org/babylon/6.8.4", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/babylon@6.8.4" + } }, { "purl": "pkg:npm/balanced-match@0.4.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.4.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "balanced-match", + "version": "0.4.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "balanced-match", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/balanced-match", + "repository_download_url": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.1.tgz", + "api_data_url": "https://registry.npmjs.org/balanced-match/0.4.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/balanced-match@0.4.1" + } }, { "purl": "pkg:npm/basic-auth@1.0.4", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "basic-auth", + "version": "1.0.4", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/basic-auth/-/basic-auth-1.0.4.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "basic-auth", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/basic-auth", + "repository_download_url": "https://registry.npmjs.org/basic-auth/-/basic-auth-1.0.4.tgz", + "api_data_url": "https://registry.npmjs.org/basic-auth/1.0.4", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/basic-auth@1.0.4" + } }, { "purl": "pkg:npm/batch@0.5.3", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.5.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "batch", + "version": "0.5.3", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/batch/-/batch-0.5.3.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "batch", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/batch", + "repository_download_url": "https://registry.npmjs.org/batch/-/batch-0.5.3.tgz", + "api_data_url": "https://registry.npmjs.org/batch/0.5.3", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/batch@0.5.3" + } }, { "purl": "pkg:npm/bl@1.1.2", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.1.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "bl", + "version": "1.1.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "bl", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/bl", + "repository_download_url": "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz", + "api_data_url": "https://registry.npmjs.org/bl/1.1.2", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/bl@1.1.2" + } }, { "purl": "pkg:npm/body-parser@1.14.2", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.14.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "body-parser", + "version": "1.14.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/body-parser/-/body-parser-1.14.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "body-parser", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/body-parser", + "repository_download_url": "https://registry.npmjs.org/body-parser/-/body-parser-1.14.2.tgz", + "api_data_url": "https://registry.npmjs.org/body-parser/1.14.2", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/body-parser@1.14.2" + } }, { "purl": "pkg:npm/boom@2.10.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.10.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "boom", + "version": "2.10.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "boom", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/boom", + "repository_download_url": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", + "api_data_url": "https://registry.npmjs.org/boom/2.10.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/boom@2.10.1" + } }, { "purl": "pkg:npm/brace-expansion@1.1.5", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.1.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "brace-expansion", + "version": "1.1.5", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.5.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "brace-expansion", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/brace-expansion", + "repository_download_url": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.5.tgz", + "api_data_url": "https://registry.npmjs.org/brace-expansion/1.1.5", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/brace-expansion@1.1.5" + } }, { "purl": "pkg:npm/browserify-zlib@0.1.4", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.1.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "browserify-zlib", + "version": "0.1.4", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "browserify-zlib", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/browserify-zlib", + "repository_download_url": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", + "api_data_url": "https://registry.npmjs.org/browserify-zlib/0.1.4", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/browserify-zlib@0.1.4" + } }, { "purl": "pkg:npm/browserslist@0.4.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.4.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "browserslist", + "version": "0.4.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/browserslist/-/browserslist-0.4.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "browserslist", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/browserslist", + "repository_download_url": "https://registry.npmjs.org/browserslist/-/browserslist-0.4.0.tgz", + "api_data_url": "https://registry.npmjs.org/browserslist/0.4.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/browserslist@0.4.0" + } }, { "purl": "pkg:npm/btoa@1.1.2", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.1.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "btoa", + "version": "1.1.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/btoa/-/btoa-1.1.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "btoa", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/btoa", + "repository_download_url": "https://registry.npmjs.org/btoa/-/btoa-1.1.2.tgz", + "api_data_url": "https://registry.npmjs.org/btoa/1.1.2", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/btoa@1.1.2" + } }, { "purl": "pkg:npm/buffer-crc32@0.2.5", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.2.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "buffer-crc32", + "version": "0.2.5", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.5.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "buffer-crc32", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/buffer-crc32", + "repository_download_url": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.5.tgz", + "api_data_url": "https://registry.npmjs.org/buffer-crc32/0.2.5", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/buffer-crc32@0.2.5" + } }, { "purl": "pkg:npm/buffer-shims@1.0.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "buffer-shims", + "version": "1.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "buffer-shims", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/buffer-shims", + "repository_download_url": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/buffer-shims/1.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/buffer-shims@1.0.0" + } }, { "purl": "pkg:npm/builtin-modules@1.1.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.1.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "builtin-modules", + "version": "1.1.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "builtin-modules", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/builtin-modules", + "repository_download_url": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "api_data_url": "https://registry.npmjs.org/builtin-modules/1.1.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/builtin-modules@1.1.1" + } }, { "purl": "pkg:npm/bytes@2.2.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.2.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "bytes", + "version": "2.2.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/bytes/-/bytes-2.2.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "bytes", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/bytes", + "repository_download_url": "https://registry.npmjs.org/bytes/-/bytes-2.2.0.tgz", + "api_data_url": "https://registry.npmjs.org/bytes/2.2.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/bytes@2.2.0" + } }, { "purl": "pkg:npm/camel-case@3.0.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "3.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "camel-case", + "version": "3.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "camel-case", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/camel-case", + "repository_download_url": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/camel-case/3.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/camel-case@3.0.0" + } }, { "purl": "pkg:npm/camelcase@2.1.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.1.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "camelcase", + "version": "2.1.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "camelcase", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/camelcase", + "repository_download_url": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "api_data_url": "https://registry.npmjs.org/camelcase/2.1.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/camelcase@2.1.1" + } }, { "purl": "pkg:npm/camelcase-keys@2.1.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "camelcase-keys", + "version": "2.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "camelcase-keys", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/camelcase-keys", + "repository_download_url": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "api_data_url": "https://registry.npmjs.org/camelcase-keys/2.1.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/camelcase-keys@2.1.0" + } }, { "purl": "pkg:npm/caniuse-db@1.0.30000506", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.30000506", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "caniuse-db", + "version": "1.0.30000506", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000506.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "caniuse-db", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/caniuse-db", + "repository_download_url": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000506.tgz", + "api_data_url": "https://registry.npmjs.org/caniuse-db/1.0.30000506", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/caniuse-db@1.0.30000506" + } }, { "purl": "pkg:npm/caseless@0.11.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.11.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "caseless", + "version": "0.11.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "caseless", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/caseless", + "repository_download_url": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", + "api_data_url": "https://registry.npmjs.org/caseless/0.11.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/caseless@0.11.0" + } }, { "purl": "pkg:npm/center-align@0.1.3", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.1.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "center-align", + "version": "0.1.3", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "center-align", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/center-align", + "repository_download_url": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "api_data_url": "https://registry.npmjs.org/center-align/0.1.3", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/center-align@0.1.3" + } }, { "purl": "pkg:npm/chalk@1.1.3", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.1.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "chalk", + "version": "1.1.3", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "chalk", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/chalk", + "repository_download_url": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "api_data_url": "https://registry.npmjs.org/chalk/1.1.3", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/chalk@1.1.3" + } }, { "purl": "pkg:npm/change-case@3.0.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "3.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "change-case", + "version": "3.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/change-case/-/change-case-3.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "change-case", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/change-case", + "repository_download_url": "https://registry.npmjs.org/change-case/-/change-case-3.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/change-case/3.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/change-case@3.0.0" + } }, { "purl": "pkg:npm/character-parser@2.2.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.2.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "character-parser", + "version": "2.2.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/character-parser/-/character-parser-2.2.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "character-parser", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/character-parser", + "repository_download_url": "https://registry.npmjs.org/character-parser/-/character-parser-2.2.0.tgz", + "api_data_url": "https://registry.npmjs.org/character-parser/2.2.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/character-parser@2.2.0" + } }, { "purl": "pkg:npm/clean-css@3.4.18", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "3.4.18", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "clean-css", + "version": "3.4.18", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/clean-css/-/clean-css-3.4.18.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "clean-css", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/clean-css", + "repository_download_url": "https://registry.npmjs.org/clean-css/-/clean-css-3.4.18.tgz", + "api_data_url": "https://registry.npmjs.org/clean-css/3.4.18", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/clean-css@3.4.18" + } }, { "purl": "pkg:npm/cli@0.6.6", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.6.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "cli", + "version": "0.6.6", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/cli/-/cli-0.6.6.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "cli", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/cli", + "repository_download_url": "https://registry.npmjs.org/cli/-/cli-0.6.6.tgz", + "api_data_url": "https://registry.npmjs.org/cli/0.6.6", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/cli@0.6.6" + } }, { "purl": "pkg:npm/cli-table@0.3.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.3.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "cli-table", + "version": "0.3.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "cli-table", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/cli-table", + "repository_download_url": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.1.tgz", + "api_data_url": "https://registry.npmjs.org/cli-table/0.3.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/cli-table@0.3.1" + } }, { "purl": "pkg:npm/cliui@2.1.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "cliui", + "version": "2.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "cliui", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/cliui", + "repository_download_url": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "api_data_url": "https://registry.npmjs.org/cliui/2.1.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/cliui@2.1.0" + } }, { "purl": "pkg:npm/coffee-script@1.10.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.10.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "coffee-script", + "version": "1.10.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.10.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "coffee-script", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/coffee-script", + "repository_download_url": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.10.0.tgz", + "api_data_url": "https://registry.npmjs.org/coffee-script/1.10.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/coffee-script@1.10.0" + } }, { "purl": "pkg:npm/colors@1.1.2", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.1.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "colors", + "version": "1.1.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "colors", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/colors", + "repository_download_url": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", + "api_data_url": "https://registry.npmjs.org/colors/1.1.2", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/colors@1.1.2" + } }, { "purl": "pkg:npm/combined-stream@1.0.5", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "combined-stream", + "version": "1.0.5", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "combined-stream", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/combined-stream", + "repository_download_url": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", + "api_data_url": "https://registry.npmjs.org/combined-stream/1.0.5", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/combined-stream@1.0.5" + } }, { "purl": "pkg:npm/commander@2.8.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.8.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "commander", + "version": "2.8.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "commander", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/commander", + "repository_download_url": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", + "api_data_url": "https://registry.npmjs.org/commander/2.8.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/commander@2.8.1" + } }, { "purl": "pkg:npm/comment-parser@0.3.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.3.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "comment-parser", + "version": "0.3.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/comment-parser/-/comment-parser-0.3.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "comment-parser", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/comment-parser", + "repository_download_url": "https://registry.npmjs.org/comment-parser/-/comment-parser-0.3.1.tgz", + "api_data_url": "https://registry.npmjs.org/comment-parser/0.3.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/comment-parser@0.3.1" + } }, { "purl": "pkg:npm/compress-commons@1.0.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "compress-commons", + "version": "1.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/compress-commons/-/compress-commons-1.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "compress-commons", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/compress-commons", + "repository_download_url": "https://registry.npmjs.org/compress-commons/-/compress-commons-1.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/compress-commons/1.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/compress-commons@1.0.0" + } }, { "purl": "pkg:npm/concat-map@0.0.1", - "extracted_requirement": null, + "extracted_requirement": "0.0.1", "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": true, - "resolved_package": {} + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "concat-map", + "version": "0.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "concat-map", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/concat-map", + "repository_download_url": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "api_data_url": "https://registry.npmjs.org/concat-map/0.0.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/concat-map@0.0.1" + } }, { "purl": "pkg:npm/concat-stream@1.5.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.5.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "concat-stream", + "version": "1.5.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "concat-stream", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/concat-stream", + "repository_download_url": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.1.tgz", + "api_data_url": "https://registry.npmjs.org/concat-stream/1.5.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/concat-stream@1.5.1" + } }, { "purl": "pkg:npm/connect@3.4.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "3.4.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "connect", + "version": "3.4.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/connect/-/connect-3.4.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "connect", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/connect", + "repository_download_url": "https://registry.npmjs.org/connect/-/connect-3.4.1.tgz", + "api_data_url": "https://registry.npmjs.org/connect/3.4.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/connect@3.4.1" + } }, { "purl": "pkg:npm/connect-livereload@0.5.4", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.5.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "connect-livereload", + "version": "0.5.4", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/connect-livereload/-/connect-livereload-0.5.4.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "connect-livereload", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/connect-livereload", + "repository_download_url": "https://registry.npmjs.org/connect-livereload/-/connect-livereload-0.5.4.tgz", + "api_data_url": "https://registry.npmjs.org/connect-livereload/0.5.4", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/connect-livereload@0.5.4" + } }, { "purl": "pkg:npm/console-browserify@1.1.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "console-browserify", + "version": "1.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "console-browserify", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/console-browserify", + "repository_download_url": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "api_data_url": "https://registry.npmjs.org/console-browserify/1.1.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/console-browserify@1.1.0" + } }, { "purl": "pkg:npm/constant-case@2.0.0", - "extracted_requirement": null, + "extracted_requirement": "2.0.0", "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": true, - "resolved_package": {} + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "constant-case", + "version": "2.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/constant-case/-/constant-case-2.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "constant-case", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/constant-case", + "repository_download_url": "https://registry.npmjs.org/constant-case/-/constant-case-2.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/constant-case/2.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/constant-case@2.0.0" + } }, { "purl": "pkg:npm/constantinople@3.1.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "3.1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "constantinople", + "version": "3.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/constantinople/-/constantinople-3.1.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "constantinople", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/constantinople", + "repository_download_url": "https://registry.npmjs.org/constantinople/-/constantinople-3.1.0.tgz", + "api_data_url": "https://registry.npmjs.org/constantinople/3.1.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/constantinople@3.1.0" + } }, { "purl": "pkg:npm/content-type@1.0.2", - "extracted_requirement": null, + "extracted_requirement": "1.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "content-type", + "version": "1.0.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/content-type/-/content-type-1.0.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "content-type", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/content-type", + "repository_download_url": "https://registry.npmjs.org/content-type/-/content-type-1.0.2.tgz", + "api_data_url": "https://registry.npmjs.org/content-type/1.0.2", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/content-type@1.0.2" + } + }, + { + "purl": "pkg:npm/core-js@2.4.0", + "extracted_requirement": "2.4.0", "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/core-js@2.4.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "core-js", + "version": "2.4.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/core-js/-/core-js-2.4.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "core-js", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/core-js", + "repository_download_url": "https://registry.npmjs.org/core-js/-/core-js-2.4.0.tgz", + "api_data_url": "https://registry.npmjs.org/core-js/2.4.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/core-js@2.4.0" + } }, { "purl": "pkg:npm/core-util-is@1.0.2", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "core-util-is", + "version": "1.0.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "core-util-is", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/core-util-is", + "repository_download_url": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "api_data_url": "https://registry.npmjs.org/core-util-is/1.0.2", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/core-util-is@1.0.2" + } }, { "purl": "pkg:npm/crc32-stream@1.0.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "crc32-stream", + "version": "1.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-1.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "crc32-stream", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/crc32-stream", + "repository_download_url": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-1.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/crc32-stream/1.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/crc32-stream@1.0.0" + } }, { "purl": "pkg:npm/cryptiles@2.0.5", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.0.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "cryptiles", + "version": "2.0.5", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "cryptiles", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/cryptiles", + "repository_download_url": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "api_data_url": "https://registry.npmjs.org/cryptiles/2.0.5", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/cryptiles@2.0.5" + } }, { "purl": "pkg:npm/csscomb@3.1.8", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "3.1.8", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "csscomb", + "version": "3.1.8", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/csscomb/-/csscomb-3.1.8.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "csscomb", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/csscomb", + "repository_download_url": "https://registry.npmjs.org/csscomb/-/csscomb-3.1.8.tgz", + "api_data_url": "https://registry.npmjs.org/csscomb/3.1.8", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/csscomb@3.1.8" + } }, { "purl": "pkg:npm/csscomb-core@3.0.0-3.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "3.0.0-3.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "csscomb-core", + "version": "3.0.0-3.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/csscomb-core/-/csscomb-core-3.0.0-3.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "csscomb-core", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/csscomb-core", + "repository_download_url": "https://registry.npmjs.org/csscomb-core/-/csscomb-core-3.0.0-3.1.tgz", + "api_data_url": "https://registry.npmjs.org/csscomb-core/3.0.0-3.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/csscomb-core@3.0.0-3.1" + } }, { "purl": "pkg:npm/csslint@0.10.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.10.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "csslint", + "version": "0.10.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/csslint/-/csslint-0.10.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "csslint", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/csslint", + "repository_download_url": "https://registry.npmjs.org/csslint/-/csslint-0.10.0.tgz", + "api_data_url": "https://registry.npmjs.org/csslint/0.10.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/csslint@0.10.0" + } }, { "purl": "pkg:npm/cst@0.4.4", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.4.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "cst", + "version": "0.4.4", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/cst/-/cst-0.4.4.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "cst", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/cst", + "repository_download_url": "https://registry.npmjs.org/cst/-/cst-0.4.4.tgz", + "api_data_url": "https://registry.npmjs.org/cst/0.4.4", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/cst@0.4.4" + } }, { "purl": "pkg:npm/currently-unhandled@0.4.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.4.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "currently-unhandled", + "version": "0.4.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "currently-unhandled", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/currently-unhandled", + "repository_download_url": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "api_data_url": "https://registry.npmjs.org/currently-unhandled/0.4.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/currently-unhandled@0.4.1" + } }, { "purl": "pkg:npm/cycle@1.0.3", - "extracted_requirement": null, + "extracted_requirement": "1.0.3", "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": true, - "resolved_package": {} + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "cycle", + "version": "1.0.3", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "cycle", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/cycle", + "repository_download_url": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz", + "api_data_url": "https://registry.npmjs.org/cycle/1.0.3", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/cycle@1.0.3" + } }, { "purl": "pkg:npm/dashdash@1.14.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.14.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "dashdash", + "version": "1.14.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "dashdash", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/dashdash", + "repository_download_url": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.0.tgz", + "api_data_url": "https://registry.npmjs.org/dashdash/1.14.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/dashdash@1.14.0" + } }, { "purl": "pkg:npm/date-now@0.1.4", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.1.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "date-now", + "version": "0.1.4", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "date-now", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/date-now", + "repository_download_url": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", + "api_data_url": "https://registry.npmjs.org/date-now/0.1.4", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/date-now@0.1.4" + } }, { "purl": "pkg:npm/date-time@1.0.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "date-time", + "version": "1.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/date-time/-/date-time-1.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "date-time", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/date-time", + "repository_download_url": "https://registry.npmjs.org/date-time/-/date-time-1.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/date-time/1.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/date-time@1.0.0" + } }, { "purl": "pkg:npm/dateformat@1.0.12", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.12", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "dateformat", + "version": "1.0.12", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "dateformat", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/dateformat", + "repository_download_url": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz", + "api_data_url": "https://registry.npmjs.org/dateformat/1.0.12", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/dateformat@1.0.12" + } }, { "purl": "pkg:npm/debug@2.2.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.2.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "debug", + "version": "2.2.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "debug", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/debug", + "repository_download_url": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "api_data_url": "https://registry.npmjs.org/debug/2.2.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/debug@2.2.0" + } }, { "purl": "pkg:npm/decamelize@1.2.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.2.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "decamelize", + "version": "1.2.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "decamelize", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/decamelize", + "repository_download_url": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "api_data_url": "https://registry.npmjs.org/decamelize/1.2.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/decamelize@1.2.0" + } }, { "purl": "pkg:npm/deep-equal@1.0.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "deep-equal", + "version": "1.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "deep-equal", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/deep-equal", + "repository_download_url": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", + "api_data_url": "https://registry.npmjs.org/deep-equal/1.0.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/deep-equal@1.0.1" + } }, { "purl": "pkg:npm/delayed-stream@1.0.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "delayed-stream", + "version": "1.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "delayed-stream", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/delayed-stream", + "repository_download_url": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/delayed-stream/1.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/delayed-stream@1.0.0" + } }, { "purl": "pkg:npm/depd@1.1.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "depd", + "version": "1.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "depd", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/depd", + "repository_download_url": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz", + "api_data_url": "https://registry.npmjs.org/depd/1.1.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/depd@1.1.0" + } }, { "purl": "pkg:npm/destroy@1.0.4", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "destroy", + "version": "1.0.4", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "destroy", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/destroy", + "repository_download_url": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "api_data_url": "https://registry.npmjs.org/destroy/1.0.4", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/destroy@1.0.4" + } }, { "purl": "pkg:npm/diff@1.3.2", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.3.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "diff", + "version": "1.3.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/diff/-/diff-1.3.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "diff", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/diff", + "repository_download_url": "https://registry.npmjs.org/diff/-/diff-1.3.2.tgz", + "api_data_url": "https://registry.npmjs.org/diff/1.3.2", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/diff@1.3.2" + } }, { "purl": "pkg:npm/doctypes@1.0.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "doctypes", + "version": "1.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/doctypes/-/doctypes-1.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "doctypes", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/doctypes", + "repository_download_url": "https://registry.npmjs.org/doctypes/-/doctypes-1.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/doctypes/1.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/doctypes@1.0.0" + } }, { "purl": "pkg:npm/dom-serializer@0.1.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "dom-serializer", + "version": "0.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "dom-serializer", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/dom-serializer", + "repository_download_url": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", + "api_data_url": "https://registry.npmjs.org/dom-serializer/0.1.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/dom-serializer@0.1.0" + } }, { "purl": "pkg:npm/domelementtype@1.3.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.3.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "domelementtype", + "version": "1.3.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "domelementtype", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/domelementtype", + "repository_download_url": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", + "api_data_url": "https://registry.npmjs.org/domelementtype/1.3.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/domelementtype@1.3.0" + } }, { "purl": "pkg:npm/domhandler@2.3.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.3.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "domhandler", + "version": "2.3.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "domhandler", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/domhandler", + "repository_download_url": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", + "api_data_url": "https://registry.npmjs.org/domhandler/2.3.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/domhandler@2.3.0" + } }, { "purl": "pkg:npm/domutils@1.5.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.5.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "domutils", + "version": "1.5.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "domutils", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/domutils", + "repository_download_url": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "api_data_url": "https://registry.npmjs.org/domutils/1.5.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/domutils@1.5.1" + } }, { "purl": "pkg:npm/dot-case@2.1.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "dot-case", + "version": "2.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/dot-case/-/dot-case-2.1.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "dot-case", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/dot-case", + "repository_download_url": "https://registry.npmjs.org/dot-case/-/dot-case-2.1.0.tgz", + "api_data_url": "https://registry.npmjs.org/dot-case/2.1.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/dot-case@2.1.0" + } }, { "purl": "pkg:npm/ecc-jsbn@0.1.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.1.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "ecc-jsbn", + "version": "0.1.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "ecc-jsbn", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/ecc-jsbn", + "repository_download_url": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", + "api_data_url": "https://registry.npmjs.org/ecc-jsbn/0.1.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/ecc-jsbn@0.1.1" + } }, { "purl": "pkg:npm/ee-first@1.1.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.1.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "ee-first", + "version": "1.1.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "ee-first", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/ee-first", + "repository_download_url": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "api_data_url": "https://registry.npmjs.org/ee-first/1.1.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/ee-first@1.1.1" + } }, { "purl": "pkg:npm/encodeurl@1.0.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "encodeurl", + "version": "1.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "encodeurl", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/encodeurl", + "repository_download_url": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz", + "api_data_url": "https://registry.npmjs.org/encodeurl/1.0.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/encodeurl@1.0.1" + } }, { "purl": "pkg:npm/end-of-stream@1.1.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "end-of-stream", + "version": "1.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.1.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "end-of-stream", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/end-of-stream", + "repository_download_url": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.1.0.tgz", + "api_data_url": "https://registry.npmjs.org/end-of-stream/1.1.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/end-of-stream@1.1.0" + } }, { "purl": "pkg:npm/entities@1.0.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "entities", + "version": "1.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "entities", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/entities", + "repository_download_url": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/entities/1.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/entities@1.0.0" + } }, { "purl": "pkg:npm/errno@0.1.4", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.1.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "errno", + "version": "0.1.4", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "errno", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/errno", + "repository_download_url": "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz", + "api_data_url": "https://registry.npmjs.org/errno/0.1.4", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/errno@0.1.4" + } }, { "purl": "pkg:npm/error-ex@1.3.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.3.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "error-ex", + "version": "1.3.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "error-ex", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/error-ex", + "repository_download_url": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.0.tgz", + "api_data_url": "https://registry.npmjs.org/error-ex/1.3.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/error-ex@1.3.0" + } }, { "purl": "pkg:npm/es6-promise@2.3.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.3.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "es6-promise", + "version": "2.3.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/es6-promise/-/es6-promise-2.3.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "es6-promise", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/es6-promise", + "repository_download_url": "https://registry.npmjs.org/es6-promise/-/es6-promise-2.3.0.tgz", + "api_data_url": "https://registry.npmjs.org/es6-promise/2.3.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/es6-promise@2.3.0" + } }, { "purl": "pkg:npm/escape-html@1.0.3", - "extracted_requirement": null, + "extracted_requirement": "1.0.3", "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": true, - "resolved_package": {} + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "escape-html", + "version": "1.0.3", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "escape-html", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/escape-html", + "repository_download_url": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "api_data_url": "https://registry.npmjs.org/escape-html/1.0.3", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/escape-html@1.0.3" + } }, { "purl": "pkg:npm/escape-string-regexp@1.0.5", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "escape-string-regexp", + "version": "1.0.5", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "escape-string-regexp", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/escape-string-regexp", + "repository_download_url": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "api_data_url": "https://registry.npmjs.org/escape-string-regexp/1.0.5", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/escape-string-regexp@1.0.5" + } }, { "purl": "pkg:npm/esprima@2.7.2", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.7.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "esprima", + "version": "2.7.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/esprima/-/esprima-2.7.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "esprima", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/esprima", + "repository_download_url": "https://registry.npmjs.org/esprima/-/esprima-2.7.2.tgz", + "api_data_url": "https://registry.npmjs.org/esprima/2.7.2", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/esprima@2.7.2" + } }, { "purl": "pkg:npm/estraverse@4.2.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "4.2.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "estraverse", + "version": "4.2.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "estraverse", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/estraverse", + "repository_download_url": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "api_data_url": "https://registry.npmjs.org/estraverse/4.2.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/estraverse@4.2.0" + } }, { "purl": "pkg:npm/etag@1.7.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.7.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "etag", + "version": "1.7.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/etag/-/etag-1.7.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "etag", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/etag", + "repository_download_url": "https://registry.npmjs.org/etag/-/etag-1.7.0.tgz", + "api_data_url": "https://registry.npmjs.org/etag/1.7.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/etag@1.7.0" + } }, { "purl": "pkg:npm/eventemitter2@0.4.14", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.4.14", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "eventemitter2", + "version": "0.4.14", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "eventemitter2", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/eventemitter2", + "repository_download_url": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz", + "api_data_url": "https://registry.npmjs.org/eventemitter2/0.4.14", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/eventemitter2@0.4.14" + } }, { "purl": "pkg:npm/exit@0.1.2", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.1.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "exit", + "version": "0.1.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "exit", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/exit", + "repository_download_url": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "api_data_url": "https://registry.npmjs.org/exit/0.1.2", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/exit@0.1.2" + } }, { "purl": "pkg:npm/extend@3.0.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "3.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "extend", + "version": "3.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "extend", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/extend", + "repository_download_url": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/extend/3.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/extend@3.0.0" + } }, { "purl": "pkg:npm/extract-zip@1.5.0", - "extracted_requirement": null, + "extracted_requirement": "1.5.0", "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": true, - "resolved_package": {} + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "extract-zip", + "version": "1.5.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.5.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "extract-zip", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/extract-zip", + "repository_download_url": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.5.0.tgz", + "api_data_url": "https://registry.npmjs.org/extract-zip/1.5.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/extract-zip@1.5.0" + } }, { "purl": "pkg:npm/extsprintf@1.0.2", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "extsprintf", + "version": "1.0.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "extsprintf", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/extsprintf", + "repository_download_url": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz", + "api_data_url": "https://registry.npmjs.org/extsprintf/1.0.2", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/extsprintf@1.0.2" + } }, { "purl": "pkg:npm/eyes@0.1.8", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.1.8", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "eyes", + "version": "0.1.8", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "eyes", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/eyes", + "repository_download_url": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", + "api_data_url": "https://registry.npmjs.org/eyes/0.1.8", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/eyes@0.1.8" + } }, { "purl": "pkg:npm/faye-websocket@0.10.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.10.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "faye-websocket", + "version": "0.10.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "faye-websocket", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/faye-websocket", + "repository_download_url": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", + "api_data_url": "https://registry.npmjs.org/faye-websocket/0.10.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/faye-websocket@0.10.0" + } }, { "purl": "pkg:npm/fd-slicer@1.0.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "fd-slicer", + "version": "1.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "fd-slicer", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/fd-slicer", + "repository_download_url": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", + "api_data_url": "https://registry.npmjs.org/fd-slicer/1.0.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/fd-slicer@1.0.1" + } }, { "purl": "pkg:npm/fg-lodash@0.0.2", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "fg-lodash", + "version": "0.0.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/fg-lodash/-/fg-lodash-0.0.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "fg-lodash", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/fg-lodash", + "repository_download_url": "https://registry.npmjs.org/fg-lodash/-/fg-lodash-0.0.2.tgz", + "api_data_url": "https://registry.npmjs.org/fg-lodash/0.0.2", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/fg-lodash@0.0.2" + } }, { "purl": "pkg:npm/figures@1.7.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.7.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "figures", + "version": "1.7.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "figures", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/figures", + "repository_download_url": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "api_data_url": "https://registry.npmjs.org/figures/1.7.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/figures@1.7.0" + } }, { "purl": "pkg:npm/file-sync-cmp@0.1.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.1.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "file-sync-cmp", + "version": "0.1.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/file-sync-cmp/-/file-sync-cmp-0.1.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "file-sync-cmp", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/file-sync-cmp", + "repository_download_url": "https://registry.npmjs.org/file-sync-cmp/-/file-sync-cmp-0.1.1.tgz", + "api_data_url": "https://registry.npmjs.org/file-sync-cmp/0.1.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/file-sync-cmp@0.1.1" + } }, { "purl": "pkg:npm/finalhandler@0.4.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.4.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "finalhandler", + "version": "0.4.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/finalhandler/-/finalhandler-0.4.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "finalhandler", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/finalhandler", + "repository_download_url": "https://registry.npmjs.org/finalhandler/-/finalhandler-0.4.1.tgz", + "api_data_url": "https://registry.npmjs.org/finalhandler/0.4.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/finalhandler@0.4.1" + } }, { "purl": "pkg:npm/find-up@1.1.2", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.1.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "find-up", + "version": "1.1.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "find-up", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/find-up", + "repository_download_url": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "api_data_url": "https://registry.npmjs.org/find-up/1.1.2", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/find-up@1.1.2" + } }, { "purl": "pkg:npm/findup-sync@0.3.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.3.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "findup-sync", + "version": "0.3.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "findup-sync", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/findup-sync", + "repository_download_url": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz", + "api_data_url": "https://registry.npmjs.org/findup-sync/0.3.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/findup-sync@0.3.0" + } }, { "purl": "pkg:npm/forever-agent@0.6.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.6.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "forever-agent", + "version": "0.6.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "forever-agent", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/forever-agent", + "repository_download_url": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "api_data_url": "https://registry.npmjs.org/forever-agent/0.6.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/forever-agent@0.6.1" + } }, { "purl": "pkg:npm/form-data@1.0.0-rc4", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.0-rc4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "form-data", + "version": "1.0.0-rc4", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/form-data/-/form-data-1.0.0-rc4.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "form-data", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/form-data", + "repository_download_url": "https://registry.npmjs.org/form-data/-/form-data-1.0.0-rc4.tgz", + "api_data_url": "https://registry.npmjs.org/form-data/1.0.0-rc4", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/form-data@1.0.0-rc4" + } }, { "purl": "pkg:npm/fresh@0.3.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.3.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "fresh", + "version": "0.3.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/fresh/-/fresh-0.3.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "fresh", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/fresh", + "repository_download_url": "https://registry.npmjs.org/fresh/-/fresh-0.3.0.tgz", + "api_data_url": "https://registry.npmjs.org/fresh/0.3.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/fresh@0.3.0" + } }, { "purl": "pkg:npm/fs-extra@0.26.7", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.26.7", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "fs-extra", + "version": "0.26.7", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.26.7.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "fs-extra", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/fs-extra", + "repository_download_url": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.26.7.tgz", + "api_data_url": "https://registry.npmjs.org/fs-extra/0.26.7", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/fs-extra@0.26.7" + } }, { "purl": "pkg:npm/fs.realpath@1.0.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "fs.realpath", + "version": "1.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "fs.realpath", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/fs.realpath", + "repository_download_url": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/fs.realpath/1.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/fs.realpath@1.0.0" + } }, { "purl": "pkg:npm/gaze@1.1.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "gaze", + "version": "1.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/gaze/-/gaze-1.1.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "gaze", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/gaze", + "repository_download_url": "https://registry.npmjs.org/gaze/-/gaze-1.1.0.tgz", + "api_data_url": "https://registry.npmjs.org/gaze/1.1.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/gaze@1.1.0" + } }, { "purl": "pkg:npm/generate-function@2.0.0", - "extracted_requirement": null, + "extracted_requirement": "2.0.0", "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": true, - "resolved_package": {} + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "generate-function", + "version": "2.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "generate-function", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/generate-function", + "repository_download_url": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/generate-function/2.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/generate-function@2.0.0" + } }, { "purl": "pkg:npm/generate-object-property@1.2.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.2.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "generate-object-property", + "version": "1.2.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "generate-object-property", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/generate-object-property", + "repository_download_url": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", + "api_data_url": "https://registry.npmjs.org/generate-object-property/1.2.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/generate-object-property@1.2.0" + } }, { "purl": "pkg:npm/get-stdin@4.0.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "4.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "get-stdin", + "version": "4.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "get-stdin", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/get-stdin", + "repository_download_url": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "api_data_url": "https://registry.npmjs.org/get-stdin/4.0.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/get-stdin@4.0.1" + } }, { "purl": "pkg:npm/getobject@0.1.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "getobject", + "version": "0.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "getobject", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/getobject", + "repository_download_url": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz", + "api_data_url": "https://registry.npmjs.org/getobject/0.1.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/getobject@0.1.0" + } }, { "purl": "pkg:npm/getpass@0.1.6", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.1.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "getpass", + "version": "0.1.6", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/getpass/-/getpass-0.1.6.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "getpass", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/getpass", + "repository_download_url": "https://registry.npmjs.org/getpass/-/getpass-0.1.6.tgz", + "api_data_url": "https://registry.npmjs.org/getpass/0.1.6", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/getpass@0.1.6" + } }, { "purl": "pkg:npm/glob@7.0.5", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "7.0.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "glob", + "version": "7.0.5", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "glob", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/glob", + "repository_download_url": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz", + "api_data_url": "https://registry.npmjs.org/glob/7.0.5", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/glob@7.0.5" + } }, { "purl": "pkg:npm/globule@1.0.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "globule", + "version": "1.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/globule/-/globule-1.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "globule", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/globule", + "repository_download_url": "https://registry.npmjs.org/globule/-/globule-1.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/globule/1.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/globule@1.0.0" + } }, { "purl": "pkg:npm/gonzales-pe@3.0.0-28", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "3.0.0-28", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "gonzales-pe", + "version": "3.0.0-28", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-3.0.0-28.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "gonzales-pe", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/gonzales-pe", + "repository_download_url": "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-3.0.0-28.tgz", + "api_data_url": "https://registry.npmjs.org/gonzales-pe/3.0.0-28", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/gonzales-pe@3.0.0-28" + } }, { "purl": "pkg:npm/graceful-fs@4.1.4", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "4.1.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "graceful-fs", + "version": "4.1.4", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.4.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "graceful-fs", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/graceful-fs", + "repository_download_url": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.4.tgz", + "api_data_url": "https://registry.npmjs.org/graceful-fs/4.1.4", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/graceful-fs@4.1.4" + } }, { "purl": "pkg:npm/graceful-readlink@1.0.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "graceful-readlink", + "version": "1.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "graceful-readlink", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/graceful-readlink", + "repository_download_url": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", + "api_data_url": "https://registry.npmjs.org/graceful-readlink/1.0.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/graceful-readlink@1.0.1" + } }, { "purl": "pkg:npm/grunt@1.0.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "grunt", + "version": "1.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/grunt/-/grunt-1.0.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "grunt", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/grunt", + "repository_download_url": "https://registry.npmjs.org/grunt/-/grunt-1.0.1.tgz", + "api_data_url": "https://registry.npmjs.org/grunt/1.0.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/grunt@1.0.1" + } }, { "purl": "pkg:npm/grunt-autoprefixer@3.0.4", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "3.0.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "grunt-autoprefixer", + "version": "3.0.4", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/grunt-autoprefixer/-/grunt-autoprefixer-3.0.4.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "grunt-autoprefixer", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/grunt-autoprefixer", + "repository_download_url": "https://registry.npmjs.org/grunt-autoprefixer/-/grunt-autoprefixer-3.0.4.tgz", + "api_data_url": "https://registry.npmjs.org/grunt-autoprefixer/3.0.4", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/grunt-autoprefixer@3.0.4" + } }, { "purl": "pkg:npm/grunt-contrib-clean@1.0.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "grunt-contrib-clean", + "version": "1.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/grunt-contrib-clean/-/grunt-contrib-clean-1.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "grunt-contrib-clean", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/grunt-contrib-clean", + "repository_download_url": "https://registry.npmjs.org/grunt-contrib-clean/-/grunt-contrib-clean-1.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/grunt-contrib-clean/1.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/grunt-contrib-clean@1.0.0" + } }, { "purl": "pkg:npm/grunt-contrib-compress@1.3.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.3.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "grunt-contrib-compress", + "version": "1.3.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/grunt-contrib-compress/-/grunt-contrib-compress-1.3.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "grunt-contrib-compress", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/grunt-contrib-compress", + "repository_download_url": "https://registry.npmjs.org/grunt-contrib-compress/-/grunt-contrib-compress-1.3.0.tgz", + "api_data_url": "https://registry.npmjs.org/grunt-contrib-compress/1.3.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/grunt-contrib-compress@1.3.0" + } }, { "purl": "pkg:npm/grunt-contrib-concat@1.0.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "grunt-contrib-concat", + "version": "1.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/grunt-contrib-concat/-/grunt-contrib-concat-1.0.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "grunt-contrib-concat", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/grunt-contrib-concat", + "repository_download_url": "https://registry.npmjs.org/grunt-contrib-concat/-/grunt-contrib-concat-1.0.1.tgz", + "api_data_url": "https://registry.npmjs.org/grunt-contrib-concat/1.0.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/grunt-contrib-concat@1.0.1" + } }, { "purl": "pkg:npm/grunt-contrib-connect@1.0.2", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "grunt-contrib-connect", + "version": "1.0.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/grunt-contrib-connect/-/grunt-contrib-connect-1.0.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "grunt-contrib-connect", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/grunt-contrib-connect", + "repository_download_url": "https://registry.npmjs.org/grunt-contrib-connect/-/grunt-contrib-connect-1.0.2.tgz", + "api_data_url": "https://registry.npmjs.org/grunt-contrib-connect/1.0.2", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/grunt-contrib-connect@1.0.2" + } }, { "purl": "pkg:npm/grunt-contrib-copy@1.0.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "grunt-contrib-copy", + "version": "1.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/grunt-contrib-copy/-/grunt-contrib-copy-1.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "grunt-contrib-copy", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/grunt-contrib-copy", + "repository_download_url": "https://registry.npmjs.org/grunt-contrib-copy/-/grunt-contrib-copy-1.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/grunt-contrib-copy/1.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/grunt-contrib-copy@1.0.0" + } }, { "purl": "pkg:npm/grunt-contrib-csslint@1.0.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "grunt-contrib-csslint", + "version": "1.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/grunt-contrib-csslint/-/grunt-contrib-csslint-1.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "grunt-contrib-csslint", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/grunt-contrib-csslint", + "repository_download_url": "https://registry.npmjs.org/grunt-contrib-csslint/-/grunt-contrib-csslint-1.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/grunt-contrib-csslint/1.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/grunt-contrib-csslint@1.0.0" + } }, { "purl": "pkg:npm/grunt-contrib-cssmin@1.0.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "grunt-contrib-cssmin", + "version": "1.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/grunt-contrib-cssmin/-/grunt-contrib-cssmin-1.0.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "grunt-contrib-cssmin", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/grunt-contrib-cssmin", + "repository_download_url": "https://registry.npmjs.org/grunt-contrib-cssmin/-/grunt-contrib-cssmin-1.0.1.tgz", + "api_data_url": "https://registry.npmjs.org/grunt-contrib-cssmin/1.0.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/grunt-contrib-cssmin@1.0.1" + } }, { "purl": "pkg:npm/grunt-contrib-htmlmin@1.5.0", - "extracted_requirement": null, + "extracted_requirement": "1.5.0", "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": true, - "resolved_package": {} + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "grunt-contrib-htmlmin", + "version": "1.5.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/grunt-contrib-htmlmin/-/grunt-contrib-htmlmin-1.5.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "grunt-contrib-htmlmin", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/grunt-contrib-htmlmin", + "repository_download_url": "https://registry.npmjs.org/grunt-contrib-htmlmin/-/grunt-contrib-htmlmin-1.5.0.tgz", + "api_data_url": "https://registry.npmjs.org/grunt-contrib-htmlmin/1.5.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/grunt-contrib-htmlmin@1.5.0" + } }, { "purl": "pkg:npm/grunt-contrib-jshint@1.0.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "grunt-contrib-jshint", + "version": "1.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-1.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "grunt-contrib-jshint", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/grunt-contrib-jshint", + "repository_download_url": "https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-1.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/grunt-contrib-jshint/1.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/grunt-contrib-jshint@1.0.0" + } }, { "purl": "pkg:npm/grunt-contrib-less@1.3.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.3.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "grunt-contrib-less", + "version": "1.3.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/grunt-contrib-less/-/grunt-contrib-less-1.3.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "grunt-contrib-less", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/grunt-contrib-less", + "repository_download_url": "https://registry.npmjs.org/grunt-contrib-less/-/grunt-contrib-less-1.3.0.tgz", + "api_data_url": "https://registry.npmjs.org/grunt-contrib-less/1.3.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/grunt-contrib-less@1.3.0" + } }, { "purl": "pkg:npm/grunt-contrib-pug@1.0.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "grunt-contrib-pug", + "version": "1.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/grunt-contrib-pug/-/grunt-contrib-pug-1.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "grunt-contrib-pug", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/grunt-contrib-pug", + "repository_download_url": "https://registry.npmjs.org/grunt-contrib-pug/-/grunt-contrib-pug-1.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/grunt-contrib-pug/1.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/grunt-contrib-pug@1.0.0" + } }, { "purl": "pkg:npm/grunt-contrib-qunit@0.7.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.7.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "grunt-contrib-qunit", + "version": "0.7.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/grunt-contrib-qunit/-/grunt-contrib-qunit-0.7.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "grunt-contrib-qunit", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/grunt-contrib-qunit", + "repository_download_url": "https://registry.npmjs.org/grunt-contrib-qunit/-/grunt-contrib-qunit-0.7.0.tgz", + "api_data_url": "https://registry.npmjs.org/grunt-contrib-qunit/0.7.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/grunt-contrib-qunit@0.7.0" + } }, { "purl": "pkg:npm/grunt-contrib-uglify@1.0.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "grunt-contrib-uglify", + "version": "1.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-1.0.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "grunt-contrib-uglify", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/grunt-contrib-uglify", + "repository_download_url": "https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-1.0.1.tgz", + "api_data_url": "https://registry.npmjs.org/grunt-contrib-uglify/1.0.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/grunt-contrib-uglify@1.0.1" + } }, { "purl": "pkg:npm/grunt-contrib-watch@1.0.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "grunt-contrib-watch", + "version": "1.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/grunt-contrib-watch/-/grunt-contrib-watch-1.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "grunt-contrib-watch", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/grunt-contrib-watch", + "repository_download_url": "https://registry.npmjs.org/grunt-contrib-watch/-/grunt-contrib-watch-1.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/grunt-contrib-watch/1.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/grunt-contrib-watch@1.0.0" + } }, { "purl": "pkg:npm/grunt-csscomb@3.1.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "3.1.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "grunt-csscomb", + "version": "3.1.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/grunt-csscomb/-/grunt-csscomb-3.1.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "grunt-csscomb", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/grunt-csscomb", + "repository_download_url": "https://registry.npmjs.org/grunt-csscomb/-/grunt-csscomb-3.1.1.tgz", + "api_data_url": "https://registry.npmjs.org/grunt-csscomb/3.1.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/grunt-csscomb@3.1.1" + } }, { "purl": "pkg:npm/grunt-exec@1.0.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "grunt-exec", + "version": "1.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/grunt-exec/-/grunt-exec-1.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "grunt-exec", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/grunt-exec", + "repository_download_url": "https://registry.npmjs.org/grunt-exec/-/grunt-exec-1.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/grunt-exec/1.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/grunt-exec@1.0.0" + } }, { "purl": "pkg:npm/grunt-html@8.0.2", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "8.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "grunt-html", + "version": "8.0.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/grunt-html/-/grunt-html-8.0.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "grunt-html", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/grunt-html", + "repository_download_url": "https://registry.npmjs.org/grunt-html/-/grunt-html-8.0.2.tgz", + "api_data_url": "https://registry.npmjs.org/grunt-html/8.0.2", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/grunt-html@8.0.2" + } }, { "purl": "pkg:npm/grunt-jekyll@0.4.4", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.4.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "grunt-jekyll", + "version": "0.4.4", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/grunt-jekyll/-/grunt-jekyll-0.4.4.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "grunt-jekyll", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/grunt-jekyll", + "repository_download_url": "https://registry.npmjs.org/grunt-jekyll/-/grunt-jekyll-0.4.4.tgz", + "api_data_url": "https://registry.npmjs.org/grunt-jekyll/0.4.4", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/grunt-jekyll@0.4.4" + } }, { "purl": "pkg:npm/grunt-jscs@3.0.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "3.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "grunt-jscs", + "version": "3.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/grunt-jscs/-/grunt-jscs-3.0.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "grunt-jscs", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/grunt-jscs", + "repository_download_url": "https://registry.npmjs.org/grunt-jscs/-/grunt-jscs-3.0.1.tgz", + "api_data_url": "https://registry.npmjs.org/grunt-jscs/3.0.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/grunt-jscs@3.0.1" + } }, { "purl": "pkg:npm/grunt-known-options@1.1.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "grunt-known-options", + "version": "1.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-1.1.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "grunt-known-options", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/grunt-known-options", + "repository_download_url": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-1.1.0.tgz", + "api_data_url": "https://registry.npmjs.org/grunt-known-options/1.1.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/grunt-known-options@1.1.0" + } }, { "purl": "pkg:npm/grunt-legacy-log@1.0.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "grunt-legacy-log", + "version": "1.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-1.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "grunt-legacy-log", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/grunt-legacy-log", + "repository_download_url": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-1.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/grunt-legacy-log/1.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/grunt-legacy-log@1.0.0" + } }, { "purl": "pkg:npm/grunt-legacy-log-utils@1.0.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "grunt-legacy-log-utils", + "version": "1.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-1.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "grunt-legacy-log-utils", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/grunt-legacy-log-utils", + "repository_download_url": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-1.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/grunt-legacy-log-utils/1.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/grunt-legacy-log-utils@1.0.0" + } }, { "purl": "pkg:npm/grunt-legacy-util@1.0.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "grunt-legacy-util", + "version": "1.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-1.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "grunt-legacy-util", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/grunt-legacy-util", + "repository_download_url": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-1.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/grunt-legacy-util/1.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/grunt-legacy-util@1.0.0" + } }, { "purl": "pkg:npm/grunt-lib-phantomjs@0.6.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.6.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "grunt-lib-phantomjs", + "version": "0.6.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/grunt-lib-phantomjs/-/grunt-lib-phantomjs-0.6.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "grunt-lib-phantomjs", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/grunt-lib-phantomjs", + "repository_download_url": "https://registry.npmjs.org/grunt-lib-phantomjs/-/grunt-lib-phantomjs-0.6.0.tgz", + "api_data_url": "https://registry.npmjs.org/grunt-lib-phantomjs/0.6.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/grunt-lib-phantomjs@0.6.0" + } }, { "purl": "pkg:npm/grunt-saucelabs@9.0.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "9.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "grunt-saucelabs", + "version": "9.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/grunt-saucelabs/-/grunt-saucelabs-9.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "grunt-saucelabs", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/grunt-saucelabs", + "repository_download_url": "https://registry.npmjs.org/grunt-saucelabs/-/grunt-saucelabs-9.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/grunt-saucelabs/9.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/grunt-saucelabs@9.0.0" + } }, { "purl": "pkg:npm/gzip-size@1.0.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "gzip-size", + "version": "1.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/gzip-size/-/gzip-size-1.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "gzip-size", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/gzip-size", + "repository_download_url": "https://registry.npmjs.org/gzip-size/-/gzip-size-1.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/gzip-size/1.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/gzip-size@1.0.0" + } }, { "purl": "pkg:npm/har-validator@2.0.6", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.0.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "har-validator", + "version": "2.0.6", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "har-validator", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/har-validator", + "repository_download_url": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", + "api_data_url": "https://registry.npmjs.org/har-validator/2.0.6", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/har-validator@2.0.6" + } }, { "purl": "pkg:npm/has-ansi@2.0.0", - "extracted_requirement": null, + "extracted_requirement": "2.0.0", "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": true, - "resolved_package": {} + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "has-ansi", + "version": "2.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "has-ansi", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/has-ansi", + "repository_download_url": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/has-ansi/2.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/has-ansi@2.0.0" + } }, { "purl": "pkg:npm/has-color@0.1.7", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.1.7", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "has-color", + "version": "0.1.7", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "has-color", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/has-color", + "repository_download_url": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz", + "api_data_url": "https://registry.npmjs.org/has-color/0.1.7", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/has-color@0.1.7" + } }, { "purl": "pkg:npm/hasha@2.2.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.2.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "hasha", + "version": "2.2.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/hasha/-/hasha-2.2.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "hasha", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/hasha", + "repository_download_url": "https://registry.npmjs.org/hasha/-/hasha-2.2.0.tgz", + "api_data_url": "https://registry.npmjs.org/hasha/2.2.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/hasha@2.2.0" + } }, { "purl": "pkg:npm/hawk@3.1.3", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "3.1.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "hawk", + "version": "3.1.3", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "hawk", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/hawk", + "repository_download_url": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "api_data_url": "https://registry.npmjs.org/hawk/3.1.3", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/hawk@3.1.3" + } }, { "purl": "pkg:npm/he@1.1.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "he", + "version": "1.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/he/-/he-1.1.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "he", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/he", + "repository_download_url": "https://registry.npmjs.org/he/-/he-1.1.0.tgz", + "api_data_url": "https://registry.npmjs.org/he/1.1.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/he@1.1.0" + } }, { "purl": "pkg:npm/header-case@1.0.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "header-case", + "version": "1.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/header-case/-/header-case-1.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "header-case", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/header-case", + "repository_download_url": "https://registry.npmjs.org/header-case/-/header-case-1.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/header-case/1.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/header-case@1.0.0" + } }, { "purl": "pkg:npm/hoek@2.16.3", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.16.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "hoek", + "version": "2.16.3", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "hoek", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/hoek", + "repository_download_url": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "api_data_url": "https://registry.npmjs.org/hoek/2.16.3", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/hoek@2.16.3" + } }, { "purl": "pkg:npm/hooker@0.2.3", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.2.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "hooker", + "version": "0.2.3", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "hooker", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/hooker", + "repository_download_url": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz", + "api_data_url": "https://registry.npmjs.org/hooker/0.2.3", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/hooker@0.2.3" + } }, { "purl": "pkg:npm/hosted-git-info@2.1.5", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.1.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "hosted-git-info", + "version": "2.1.5", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.1.5.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "hosted-git-info", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/hosted-git-info", + "repository_download_url": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.1.5.tgz", + "api_data_url": "https://registry.npmjs.org/hosted-git-info/2.1.5", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/hosted-git-info@2.1.5" + } }, { "purl": "pkg:npm/html-minifier@2.1.7", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.1.7", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "html-minifier", + "version": "2.1.7", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/html-minifier/-/html-minifier-2.1.7.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "html-minifier", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/html-minifier", + "repository_download_url": "https://registry.npmjs.org/html-minifier/-/html-minifier-2.1.7.tgz", + "api_data_url": "https://registry.npmjs.org/html-minifier/2.1.7", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/html-minifier@2.1.7" + } }, { "purl": "pkg:npm/htmlparser2@3.8.3", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "3.8.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "htmlparser2", + "version": "3.8.3", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "htmlparser2", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/htmlparser2", + "repository_download_url": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", + "api_data_url": "https://registry.npmjs.org/htmlparser2/3.8.3", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/htmlparser2@3.8.3" + } }, { "purl": "pkg:npm/http-errors@1.5.0", - "extracted_requirement": null, + "extracted_requirement": "1.5.0", "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": true, - "resolved_package": {} + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "http-errors", + "version": "1.5.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/http-errors/-/http-errors-1.5.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "http-errors", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/http-errors", + "repository_download_url": "https://registry.npmjs.org/http-errors/-/http-errors-1.5.0.tgz", + "api_data_url": "https://registry.npmjs.org/http-errors/1.5.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/http-errors@1.5.0" + } }, { "purl": "pkg:npm/http-signature@1.1.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.1.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "http-signature", + "version": "1.1.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "http-signature", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/http-signature", + "repository_download_url": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "api_data_url": "https://registry.npmjs.org/http-signature/1.1.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/http-signature@1.1.1" + } }, { "purl": "pkg:npm/http2@3.3.4", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "3.3.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "http2", + "version": "3.3.4", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/http2/-/http2-3.3.4.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "http2", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/http2", + "repository_download_url": "https://registry.npmjs.org/http2/-/http2-3.3.4.tgz", + "api_data_url": "https://registry.npmjs.org/http2/3.3.4", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/http2@3.3.4" + } }, { "purl": "pkg:npm/https-proxy-agent@1.0.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "https-proxy-agent", + "version": "1.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "https-proxy-agent", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/https-proxy-agent", + "repository_download_url": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/https-proxy-agent/1.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/https-proxy-agent@1.0.0" + } }, { "purl": "pkg:npm/i@0.3.5", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.3.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "i", + "version": "0.3.5", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/i/-/i-0.3.5.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "i", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/i", + "repository_download_url": "https://registry.npmjs.org/i/-/i-0.3.5.tgz", + "api_data_url": "https://registry.npmjs.org/i/0.3.5", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/i@0.3.5" + } }, { "purl": "pkg:npm/iconv-lite@0.4.13", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.4.13", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "iconv-lite", + "version": "0.4.13", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "iconv-lite", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/iconv-lite", + "repository_download_url": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz", + "api_data_url": "https://registry.npmjs.org/iconv-lite/0.4.13", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/iconv-lite@0.4.13" + } }, { "purl": "pkg:npm/image-size@0.4.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.4.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "image-size", + "version": "0.4.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/image-size/-/image-size-0.4.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "image-size", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/image-size", + "repository_download_url": "https://registry.npmjs.org/image-size/-/image-size-0.4.0.tgz", + "api_data_url": "https://registry.npmjs.org/image-size/0.4.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/image-size@0.4.0" + } }, { "purl": "pkg:npm/indent-string@2.1.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "indent-string", + "version": "2.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "indent-string", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/indent-string", + "repository_download_url": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "api_data_url": "https://registry.npmjs.org/indent-string/2.1.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/indent-string@2.1.0" + } }, { "purl": "pkg:npm/inflight@1.0.5", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "inflight", + "version": "1.0.5", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/inflight/-/inflight-1.0.5.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "inflight", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/inflight", + "repository_download_url": "https://registry.npmjs.org/inflight/-/inflight-1.0.5.tgz", + "api_data_url": "https://registry.npmjs.org/inflight/1.0.5", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/inflight@1.0.5" + } }, { "purl": "pkg:npm/inherit@2.2.4", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.2.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "inherit", + "version": "2.2.4", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/inherit/-/inherit-2.2.4.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "inherit", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/inherit", + "repository_download_url": "https://registry.npmjs.org/inherit/-/inherit-2.2.4.tgz", + "api_data_url": "https://registry.npmjs.org/inherit/2.2.4", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/inherit@2.2.4" + } }, { "purl": "pkg:npm/inherits@2.0.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "inherits", + "version": "2.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "inherits", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/inherits", + "repository_download_url": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "api_data_url": "https://registry.npmjs.org/inherits/2.0.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/inherits@2.0.1" + } }, { "purl": "pkg:npm/interpret@1.0.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "interpret", + "version": "1.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/interpret/-/interpret-1.0.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "interpret", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/interpret", + "repository_download_url": "https://registry.npmjs.org/interpret/-/interpret-1.0.1.tgz", + "api_data_url": "https://registry.npmjs.org/interpret/1.0.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/interpret@1.0.1" + } }, { "purl": "pkg:npm/is-arrayish@0.2.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.2.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "is-arrayish", + "version": "0.2.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "is-arrayish", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/is-arrayish", + "repository_download_url": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "api_data_url": "https://registry.npmjs.org/is-arrayish/0.2.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/is-arrayish@0.2.1" + } }, { "purl": "pkg:npm/is-buffer@1.1.3", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.1.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "is-buffer", + "version": "1.1.3", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.3.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "is-buffer", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/is-buffer", + "repository_download_url": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.3.tgz", + "api_data_url": "https://registry.npmjs.org/is-buffer/1.1.3", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/is-buffer@1.1.3" + } }, { "purl": "pkg:npm/is-builtin-module@1.0.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "is-builtin-module", + "version": "1.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "is-builtin-module", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/is-builtin-module", + "repository_download_url": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/is-builtin-module/1.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/is-builtin-module@1.0.0" + } }, { "purl": "pkg:npm/is-expression@2.0.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "is-expression", + "version": "2.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/is-expression/-/is-expression-2.0.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "is-expression", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/is-expression", + "repository_download_url": "https://registry.npmjs.org/is-expression/-/is-expression-2.0.1.tgz", + "api_data_url": "https://registry.npmjs.org/is-expression/2.0.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/is-expression@2.0.1" + } }, { "purl": "pkg:npm/is-finite@1.0.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "is-finite", + "version": "1.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "is-finite", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/is-finite", + "repository_download_url": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.1.tgz", + "api_data_url": "https://registry.npmjs.org/is-finite/1.0.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/is-finite@1.0.1" + } }, { "purl": "pkg:npm/is-lower-case@1.1.3", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.1.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "is-lower-case", + "version": "1.1.3", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/is-lower-case/-/is-lower-case-1.1.3.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "is-lower-case", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/is-lower-case", + "repository_download_url": "https://registry.npmjs.org/is-lower-case/-/is-lower-case-1.1.3.tgz", + "api_data_url": "https://registry.npmjs.org/is-lower-case/1.1.3", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/is-lower-case@1.1.3" + } }, { "purl": "pkg:npm/is-my-json-valid@2.13.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.13.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "is-my-json-valid", + "version": "2.13.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.13.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "is-my-json-valid", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/is-my-json-valid", + "repository_download_url": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.13.1.tgz", + "api_data_url": "https://registry.npmjs.org/is-my-json-valid/2.13.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/is-my-json-valid@2.13.1" + } }, { "purl": "pkg:npm/is-promise@2.1.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "is-promise", + "version": "2.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "is-promise", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/is-promise", + "repository_download_url": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", + "api_data_url": "https://registry.npmjs.org/is-promise/2.1.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/is-promise@2.1.0" + } }, { "purl": "pkg:npm/is-property@1.0.2", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "is-property", + "version": "1.0.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "is-property", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/is-property", + "repository_download_url": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "api_data_url": "https://registry.npmjs.org/is-property/1.0.2", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/is-property@1.0.2" + } }, { "purl": "pkg:npm/is-regex@1.0.3", - "extracted_requirement": null, + "extracted_requirement": "1.0.3", "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": true, - "resolved_package": {} + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "is-regex", + "version": "1.0.3", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.3.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "is-regex", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/is-regex", + "repository_download_url": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.3.tgz", + "api_data_url": "https://registry.npmjs.org/is-regex/1.0.3", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/is-regex@1.0.3" + } }, { "purl": "pkg:npm/is-stream@1.1.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "is-stream", + "version": "1.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "is-stream", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/is-stream", + "repository_download_url": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "api_data_url": "https://registry.npmjs.org/is-stream/1.1.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/is-stream@1.1.0" + } }, { "purl": "pkg:npm/is-typedarray@1.0.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "is-typedarray", + "version": "1.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "is-typedarray", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/is-typedarray", + "repository_download_url": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/is-typedarray/1.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/is-typedarray@1.0.0" + } }, { "purl": "pkg:npm/is-upper-case@1.1.2", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.1.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "is-upper-case", + "version": "1.1.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/is-upper-case/-/is-upper-case-1.1.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "is-upper-case", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/is-upper-case", + "repository_download_url": "https://registry.npmjs.org/is-upper-case/-/is-upper-case-1.1.2.tgz", + "api_data_url": "https://registry.npmjs.org/is-upper-case/1.1.2", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/is-upper-case@1.1.2" + } }, { "purl": "pkg:npm/is-utf8@0.2.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.2.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "is-utf8", + "version": "0.2.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "is-utf8", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/is-utf8", + "repository_download_url": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "api_data_url": "https://registry.npmjs.org/is-utf8/0.2.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/is-utf8@0.2.1" + } }, { "purl": "pkg:npm/isarray@1.0.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "isarray", + "version": "1.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "isarray", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/isarray", + "repository_download_url": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/isarray/1.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/isarray@1.0.0" + } }, { "purl": "pkg:npm/isexe@1.1.2", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.1.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "isexe", + "version": "1.1.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/isexe/-/isexe-1.1.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "isexe", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/isexe", + "repository_download_url": "https://registry.npmjs.org/isexe/-/isexe-1.1.2.tgz", + "api_data_url": "https://registry.npmjs.org/isexe/1.1.2", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/isexe@1.1.2" + } }, { "purl": "pkg:npm/isstream@0.1.2", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.1.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "isstream", + "version": "0.1.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "isstream", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/isstream", + "repository_download_url": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "api_data_url": "https://registry.npmjs.org/isstream/0.1.2", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/isstream@0.1.2" + } }, { "purl": "pkg:npm/jodid25519@1.0.2", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "jodid25519", + "version": "1.0.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "jodid25519", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/jodid25519", + "repository_download_url": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz", + "api_data_url": "https://registry.npmjs.org/jodid25519/1.0.2", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/jodid25519@1.0.2" + } }, { "purl": "pkg:npm/js-base64@2.1.9", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.1.9", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "js-base64", + "version": "2.1.9", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/js-base64/-/js-base64-2.1.9.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "js-base64", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/js-base64", + "repository_download_url": "https://registry.npmjs.org/js-base64/-/js-base64-2.1.9.tgz", + "api_data_url": "https://registry.npmjs.org/js-base64/2.1.9", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/js-base64@2.1.9" + } }, { "purl": "pkg:npm/js-stringify@1.0.2", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "js-stringify", + "version": "1.0.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/js-stringify/-/js-stringify-1.0.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "js-stringify", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/js-stringify", + "repository_download_url": "https://registry.npmjs.org/js-stringify/-/js-stringify-1.0.2.tgz", + "api_data_url": "https://registry.npmjs.org/js-stringify/1.0.2", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/js-stringify@1.0.2" + } }, { "purl": "pkg:npm/js-yaml@3.5.5", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "3.5.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "js-yaml", + "version": "3.5.5", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.5.5.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "js-yaml", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/js-yaml", + "repository_download_url": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.5.5.tgz", + "api_data_url": "https://registry.npmjs.org/js-yaml/3.5.5", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/js-yaml@3.5.5" + } }, { "purl": "pkg:npm/jsbn@0.1.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "jsbn", + "version": "0.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "jsbn", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/jsbn", + "repository_download_url": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz", + "api_data_url": "https://registry.npmjs.org/jsbn/0.1.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/jsbn@0.1.0" + } }, { "purl": "pkg:npm/jscs@3.0.7", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "3.0.7", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "jscs", + "version": "3.0.7", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/jscs/-/jscs-3.0.7.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "jscs", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/jscs", + "repository_download_url": "https://registry.npmjs.org/jscs/-/jscs-3.0.7.tgz", + "api_data_url": "https://registry.npmjs.org/jscs/3.0.7", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/jscs@3.0.7" + } }, { "purl": "pkg:npm/jscs-jsdoc@2.0.0", - "extracted_requirement": null, + "extracted_requirement": "2.0.0", "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": true, - "resolved_package": {} + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "jscs-jsdoc", + "version": "2.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/jscs-jsdoc/-/jscs-jsdoc-2.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "jscs-jsdoc", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/jscs-jsdoc", + "repository_download_url": "https://registry.npmjs.org/jscs-jsdoc/-/jscs-jsdoc-2.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/jscs-jsdoc/2.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/jscs-jsdoc@2.0.0" + } }, { "purl": "pkg:npm/jscs-preset-wikimedia@1.0.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "jscs-preset-wikimedia", + "version": "1.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/jscs-preset-wikimedia/-/jscs-preset-wikimedia-1.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "jscs-preset-wikimedia", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/jscs-preset-wikimedia", + "repository_download_url": "https://registry.npmjs.org/jscs-preset-wikimedia/-/jscs-preset-wikimedia-1.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/jscs-preset-wikimedia/1.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/jscs-preset-wikimedia@1.0.0" + } }, { "purl": "pkg:npm/jsdoctypeparser@1.2.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.2.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "jsdoctypeparser", + "version": "1.2.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/jsdoctypeparser/-/jsdoctypeparser-1.2.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "jsdoctypeparser", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/jsdoctypeparser", + "repository_download_url": "https://registry.npmjs.org/jsdoctypeparser/-/jsdoctypeparser-1.2.0.tgz", + "api_data_url": "https://registry.npmjs.org/jsdoctypeparser/1.2.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/jsdoctypeparser@1.2.0" + } }, { "purl": "pkg:npm/jshint@2.9.2", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.9.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "jshint", + "version": "2.9.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/jshint/-/jshint-2.9.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "jshint", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/jshint", + "repository_download_url": "https://registry.npmjs.org/jshint/-/jshint-2.9.2.tgz", + "api_data_url": "https://registry.npmjs.org/jshint/2.9.2", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/jshint@2.9.2" + } }, { "purl": "pkg:npm/json-schema@0.2.2", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.2.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "json-schema", + "version": "0.2.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "json-schema", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/json-schema", + "repository_download_url": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.2.tgz", + "api_data_url": "https://registry.npmjs.org/json-schema/0.2.2", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/json-schema@0.2.2" + } }, { "purl": "pkg:npm/json-stringify-safe@5.0.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "5.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "json-stringify-safe", + "version": "5.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "json-stringify-safe", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/json-stringify-safe", + "repository_download_url": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "api_data_url": "https://registry.npmjs.org/json-stringify-safe/5.0.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/json-stringify-safe@5.0.1" + } }, { "purl": "pkg:npm/jsonfile@2.3.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.3.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "jsonfile", + "version": "2.3.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.3.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "jsonfile", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/jsonfile", + "repository_download_url": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.3.1.tgz", + "api_data_url": "https://registry.npmjs.org/jsonfile/2.3.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/jsonfile@2.3.1" + } }, { "purl": "pkg:npm/jsonlint@1.6.2", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.6.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "jsonlint", + "version": "1.6.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/jsonlint/-/jsonlint-1.6.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "jsonlint", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/jsonlint", + "repository_download_url": "https://registry.npmjs.org/jsonlint/-/jsonlint-1.6.2.tgz", + "api_data_url": "https://registry.npmjs.org/jsonlint/1.6.2", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/jsonlint@1.6.2" + } }, { "purl": "pkg:npm/jsonpointer@2.0.0", - "extracted_requirement": null, + "extracted_requirement": "2.0.0", "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": true, - "resolved_package": {} + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "jsonpointer", + "version": "2.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-2.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "jsonpointer", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/jsonpointer", + "repository_download_url": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-2.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/jsonpointer/2.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/jsonpointer@2.0.0" + } }, { "purl": "pkg:npm/jsprim@1.3.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.3.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "jsprim", + "version": "1.3.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/jsprim/-/jsprim-1.3.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "jsprim", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/jsprim", + "repository_download_url": "https://registry.npmjs.org/jsprim/-/jsprim-1.3.0.tgz", + "api_data_url": "https://registry.npmjs.org/jsprim/1.3.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/jsprim@1.3.0" + } }, { "purl": "pkg:npm/jstransformer@1.0.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "jstransformer", + "version": "1.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "jstransformer", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/jstransformer", + "repository_download_url": "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/jstransformer/1.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/jstransformer@1.0.0" + } }, { "purl": "pkg:npm/JSV@4.0.2", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "4.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "JSV", + "version": "4.0.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/JSV/-/JSV-4.0.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "JSV", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/JSV", + "repository_download_url": "https://registry.npmjs.org/JSV/-/JSV-4.0.2.tgz", + "api_data_url": "https://registry.npmjs.org/JSV/4.0.2", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/JSV@4.0.2" + } }, { "purl": "pkg:npm/kew@0.7.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.7.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "kew", + "version": "0.7.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/kew/-/kew-0.7.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "kew", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/kew", + "repository_download_url": "https://registry.npmjs.org/kew/-/kew-0.7.0.tgz", + "api_data_url": "https://registry.npmjs.org/kew/0.7.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/kew@0.7.0" + } }, { "purl": "pkg:npm/kind-of@3.0.3", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "3.0.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "kind-of", + "version": "3.0.3", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/kind-of/-/kind-of-3.0.3.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "kind-of", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/kind-of", + "repository_download_url": "https://registry.npmjs.org/kind-of/-/kind-of-3.0.3.tgz", + "api_data_url": "https://registry.npmjs.org/kind-of/3.0.3", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/kind-of@3.0.3" + } }, { "purl": "pkg:npm/klaw@1.3.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.3.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "klaw", + "version": "1.3.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/klaw/-/klaw-1.3.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "klaw", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/klaw", + "repository_download_url": "https://registry.npmjs.org/klaw/-/klaw-1.3.0.tgz", + "api_data_url": "https://registry.npmjs.org/klaw/1.3.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/klaw@1.3.0" + } }, { "purl": "pkg:npm/lazy-cache@1.0.4", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "lazy-cache", + "version": "1.0.4", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "lazy-cache", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/lazy-cache", + "repository_download_url": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "api_data_url": "https://registry.npmjs.org/lazy-cache/1.0.4", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/lazy-cache@1.0.4" + } }, { "purl": "pkg:npm/lazystream@1.0.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "lazystream", + "version": "1.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "lazystream", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/lazystream", + "repository_download_url": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/lazystream/1.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/lazystream@1.0.0" + } }, { "purl": "pkg:npm/less@2.6.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.6.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "less", + "version": "2.6.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/less/-/less-2.6.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "less", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/less", + "repository_download_url": "https://registry.npmjs.org/less/-/less-2.6.1.tgz", + "api_data_url": "https://registry.npmjs.org/less/2.6.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/less@2.6.1" + } }, { "purl": "pkg:npm/linkify-it@2.0.0", - "extracted_requirement": null, + "extracted_requirement": "2.0.0", "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": true, - "resolved_package": {} + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "linkify-it", + "version": "2.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "linkify-it", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/linkify-it", + "repository_download_url": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/linkify-it/2.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/linkify-it@2.0.0" + } }, { "purl": "pkg:npm/livereload-js@2.2.2", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.2.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "livereload-js", + "version": "2.2.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.2.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "livereload-js", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/livereload-js", + "repository_download_url": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.2.2.tgz", + "api_data_url": "https://registry.npmjs.org/livereload-js/2.2.2", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/livereload-js@2.2.2" + } }, { "purl": "pkg:npm/load-grunt-tasks@3.5.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "3.5.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "load-grunt-tasks", + "version": "3.5.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/load-grunt-tasks/-/load-grunt-tasks-3.5.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "load-grunt-tasks", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/load-grunt-tasks", + "repository_download_url": "https://registry.npmjs.org/load-grunt-tasks/-/load-grunt-tasks-3.5.0.tgz", + "api_data_url": "https://registry.npmjs.org/load-grunt-tasks/3.5.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/load-grunt-tasks@3.5.0" + } }, { "purl": "pkg:npm/load-json-file@1.1.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "load-json-file", + "version": "1.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "load-json-file", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/load-json-file", + "repository_download_url": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "api_data_url": "https://registry.npmjs.org/load-json-file/1.1.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/load-json-file@1.1.0" + } }, { "purl": "pkg:npm/lodash@3.10.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "3.10.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "lodash", + "version": "3.10.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "lodash", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/lodash", + "repository_download_url": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "api_data_url": "https://registry.npmjs.org/lodash/3.10.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/lodash@3.10.1" + } }, { "purl": "pkg:npm/longest@1.0.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "longest", + "version": "1.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "longest", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/longest", + "repository_download_url": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "api_data_url": "https://registry.npmjs.org/longest/1.0.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/longest@1.0.1" + } }, { "purl": "pkg:npm/loud-rejection@1.6.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.6.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "loud-rejection", + "version": "1.6.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "loud-rejection", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/loud-rejection", + "repository_download_url": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "api_data_url": "https://registry.npmjs.org/loud-rejection/1.6.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/loud-rejection@1.6.0" + } }, { "purl": "pkg:npm/lower-case@1.1.3", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.1.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "lower-case", + "version": "1.1.3", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.3.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "lower-case", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/lower-case", + "repository_download_url": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.3.tgz", + "api_data_url": "https://registry.npmjs.org/lower-case/1.1.3", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/lower-case@1.1.3" + } }, { "purl": "pkg:npm/lower-case-first@1.0.2", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "lower-case-first", + "version": "1.0.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/lower-case-first/-/lower-case-first-1.0.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "lower-case-first", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/lower-case-first", + "repository_download_url": "https://registry.npmjs.org/lower-case-first/-/lower-case-first-1.0.2.tgz", + "api_data_url": "https://registry.npmjs.org/lower-case-first/1.0.2", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/lower-case-first@1.0.2" + } }, { "purl": "pkg:npm/lru-cache@2.7.3", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.7.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "lru-cache", + "version": "2.7.3", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "lru-cache", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/lru-cache", + "repository_download_url": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", + "api_data_url": "https://registry.npmjs.org/lru-cache/2.7.3", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/lru-cache@2.7.3" + } }, { "purl": "pkg:npm/map-obj@1.0.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "map-obj", + "version": "1.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "map-obj", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/map-obj", + "repository_download_url": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "api_data_url": "https://registry.npmjs.org/map-obj/1.0.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/map-obj@1.0.1" + } }, { "purl": "pkg:npm/markdown-it@7.0.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "7.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "markdown-it", + "version": "7.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/markdown-it/-/markdown-it-7.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "markdown-it", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/markdown-it", + "repository_download_url": "https://registry.npmjs.org/markdown-it/-/markdown-it-7.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/markdown-it/7.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/markdown-it@7.0.0" + } }, { "purl": "pkg:npm/maxmin@1.1.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "maxmin", + "version": "1.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/maxmin/-/maxmin-1.1.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "maxmin", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/maxmin", + "repository_download_url": "https://registry.npmjs.org/maxmin/-/maxmin-1.1.0.tgz", + "api_data_url": "https://registry.npmjs.org/maxmin/1.1.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/maxmin@1.1.0" + } }, { "purl": "pkg:npm/mdurl@1.0.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "mdurl", + "version": "1.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "mdurl", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/mdurl", + "repository_download_url": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "api_data_url": "https://registry.npmjs.org/mdurl/1.0.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/mdurl@1.0.1" + } }, { "purl": "pkg:npm/media-typer@0.3.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.3.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "media-typer", + "version": "0.3.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "media-typer", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/media-typer", + "repository_download_url": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "api_data_url": "https://registry.npmjs.org/media-typer/0.3.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/media-typer@0.3.0" + } }, { "purl": "pkg:npm/meow@3.7.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "3.7.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "meow", + "version": "3.7.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "meow", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/meow", + "repository_download_url": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "api_data_url": "https://registry.npmjs.org/meow/3.7.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/meow@3.7.0" + } }, { "purl": "pkg:npm/mime@1.3.4", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.3.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "mime", + "version": "1.3.4", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "mime", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/mime", + "repository_download_url": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz", + "api_data_url": "https://registry.npmjs.org/mime/1.3.4", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/mime@1.3.4" + } }, { "purl": "pkg:npm/mime-db@1.23.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.23.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "mime-db", + "version": "1.23.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/mime-db/-/mime-db-1.23.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "mime-db", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/mime-db", + "repository_download_url": "https://registry.npmjs.org/mime-db/-/mime-db-1.23.0.tgz", + "api_data_url": "https://registry.npmjs.org/mime-db/1.23.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/mime-db@1.23.0" + } }, { "purl": "pkg:npm/mime-types@2.1.11", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.1.11", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "mime-types", + "version": "2.1.11", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "mime-types", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/mime-types", + "repository_download_url": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz", + "api_data_url": "https://registry.npmjs.org/mime-types/2.1.11", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/mime-types@2.1.11" + } }, { "purl": "pkg:npm/minimatch@3.0.2", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "3.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "minimatch", + "version": "3.0.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "minimatch", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/minimatch", + "repository_download_url": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.2.tgz", + "api_data_url": "https://registry.npmjs.org/minimatch/3.0.2", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/minimatch@3.0.2" + } }, { "purl": "pkg:npm/minimist@1.2.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.2.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "minimist", + "version": "1.2.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "minimist", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/minimist", + "repository_download_url": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "api_data_url": "https://registry.npmjs.org/minimist/1.2.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/minimist@1.2.0" + } }, { "purl": "pkg:npm/mkdirp@0.5.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.5.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "mkdirp", + "version": "0.5.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "mkdirp", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/mkdirp", + "repository_download_url": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "api_data_url": "https://registry.npmjs.org/mkdirp/0.5.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/mkdirp@0.5.1" + } }, { "purl": "pkg:npm/morgan@1.7.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.7.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "morgan", + "version": "1.7.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/morgan/-/morgan-1.7.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "morgan", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/morgan", + "repository_download_url": "https://registry.npmjs.org/morgan/-/morgan-1.7.0.tgz", + "api_data_url": "https://registry.npmjs.org/morgan/1.7.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/morgan@1.7.0" + } }, { "purl": "pkg:npm/ms@0.7.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.7.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "ms", + "version": "0.7.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "ms", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/ms", + "repository_download_url": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "api_data_url": "https://registry.npmjs.org/ms/0.7.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/ms@0.7.1" + } }, { "purl": "pkg:npm/multimatch@2.1.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "multimatch", + "version": "2.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/multimatch/-/multimatch-2.1.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "multimatch", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/multimatch", + "repository_download_url": "https://registry.npmjs.org/multimatch/-/multimatch-2.1.0.tgz", + "api_data_url": "https://registry.npmjs.org/multimatch/2.1.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/multimatch@2.1.0" + } }, { "purl": "pkg:npm/mute-stream@0.0.6", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.0.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "mute-stream", + "version": "0.0.6", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.6.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "mute-stream", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/mute-stream", + "repository_download_url": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.6.tgz", + "api_data_url": "https://registry.npmjs.org/mute-stream/0.0.6", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/mute-stream@0.0.6" + } }, { "purl": "pkg:npm/natural-compare@1.2.2", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.2.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "natural-compare", + "version": "1.2.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.2.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "natural-compare", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/natural-compare", + "repository_download_url": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.2.2.tgz", + "api_data_url": "https://registry.npmjs.org/natural-compare/1.2.2", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/natural-compare@1.2.2" + } }, { "purl": "pkg:npm/ncname@1.0.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "ncname", + "version": "1.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/ncname/-/ncname-1.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "ncname", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/ncname", + "repository_download_url": "https://registry.npmjs.org/ncname/-/ncname-1.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/ncname/1.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/ncname@1.0.0" + } }, { "purl": "pkg:npm/ncp@0.4.2", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.4.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "ncp", + "version": "0.4.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "ncp", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/ncp", + "repository_download_url": "https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz", + "api_data_url": "https://registry.npmjs.org/ncp/0.4.2", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/ncp@0.4.2" + } }, { "purl": "pkg:npm/negotiator@0.6.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.6.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "negotiator", + "version": "0.6.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "negotiator", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/negotiator", + "repository_download_url": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", + "api_data_url": "https://registry.npmjs.org/negotiator/0.6.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/negotiator@0.6.1" + } }, { "purl": "pkg:npm/no-case@2.3.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.3.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "no-case", + "version": "2.3.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/no-case/-/no-case-2.3.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "no-case", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/no-case", + "repository_download_url": "https://registry.npmjs.org/no-case/-/no-case-2.3.0.tgz", + "api_data_url": "https://registry.npmjs.org/no-case/2.3.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/no-case@2.3.0" + } }, { "purl": "pkg:npm/node-int64@0.4.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.4.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "node-int64", + "version": "0.4.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "node-int64", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/node-int64", + "repository_download_url": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "api_data_url": "https://registry.npmjs.org/node-int64/0.4.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/node-int64@0.4.0" + } }, { "purl": "pkg:npm/node-uuid@1.4.7", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.4.7", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "node-uuid", + "version": "1.4.7", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "node-uuid", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/node-uuid", + "repository_download_url": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz", + "api_data_url": "https://registry.npmjs.org/node-uuid/1.4.7", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/node-uuid@1.4.7" + } }, { "purl": "pkg:npm/nomnom@1.8.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.8.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "nomnom", + "version": "1.8.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/nomnom/-/nomnom-1.8.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "nomnom", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/nomnom", + "repository_download_url": "https://registry.npmjs.org/nomnom/-/nomnom-1.8.1.tgz", + "api_data_url": "https://registry.npmjs.org/nomnom/1.8.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/nomnom@1.8.1" + } }, { "purl": "pkg:npm/nopt@3.0.6", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "3.0.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "nopt", + "version": "3.0.6", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "nopt", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/nopt", + "repository_download_url": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "api_data_url": "https://registry.npmjs.org/nopt/3.0.6", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/nopt@3.0.6" + } }, { "purl": "pkg:npm/normalize-package-data@2.3.5", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.3.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "normalize-package-data", + "version": "2.3.5", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.5.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "normalize-package-data", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/normalize-package-data", + "repository_download_url": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.5.tgz", + "api_data_url": "https://registry.npmjs.org/normalize-package-data/2.3.5", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/normalize-package-data@2.3.5" + } }, { "purl": "pkg:npm/normalize-path@2.0.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "normalize-path", + "version": "2.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.0.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "normalize-path", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/normalize-path", + "repository_download_url": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.0.1.tgz", + "api_data_url": "https://registry.npmjs.org/normalize-path/2.0.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/normalize-path@2.0.1" + } }, { "purl": "pkg:npm/num2fraction@1.2.2", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.2.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "num2fraction", + "version": "1.2.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "num2fraction", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/num2fraction", + "repository_download_url": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "api_data_url": "https://registry.npmjs.org/num2fraction/1.2.2", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/num2fraction@1.2.2" + } }, { "purl": "pkg:npm/number-is-nan@1.0.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "number-is-nan", + "version": "1.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "number-is-nan", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/number-is-nan", + "repository_download_url": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/number-is-nan/1.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/number-is-nan@1.0.0" + } }, { "purl": "pkg:npm/oauth-sign@0.8.2", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.8.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "oauth-sign", + "version": "0.8.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "oauth-sign", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/oauth-sign", + "repository_download_url": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "api_data_url": "https://registry.npmjs.org/oauth-sign/0.8.2", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/oauth-sign@0.8.2" + } }, { "purl": "pkg:npm/object-assign@4.1.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "4.1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "object-assign", + "version": "4.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "object-assign", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/object-assign", + "repository_download_url": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz", + "api_data_url": "https://registry.npmjs.org/object-assign/4.1.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/object-assign@4.1.0" + } }, { "purl": "pkg:npm/on-finished@2.3.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.3.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "on-finished", + "version": "2.3.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "on-finished", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/on-finished", + "repository_download_url": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "api_data_url": "https://registry.npmjs.org/on-finished/2.3.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/on-finished@2.3.0" + } }, { "purl": "pkg:npm/on-headers@1.0.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "on-headers", + "version": "1.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "on-headers", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/on-headers", + "repository_download_url": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz", + "api_data_url": "https://registry.npmjs.org/on-headers/1.0.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/on-headers@1.0.1" + } }, { "purl": "pkg:npm/once@1.3.3", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.3.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "once", + "version": "1.3.3", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "once", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/once", + "repository_download_url": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", + "api_data_url": "https://registry.npmjs.org/once/1.3.3", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/once@1.3.3" + } }, { "purl": "pkg:npm/opn@4.0.2", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "4.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "opn", + "version": "4.0.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/opn/-/opn-4.0.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "opn", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/opn", + "repository_download_url": "https://registry.npmjs.org/opn/-/opn-4.0.2.tgz", + "api_data_url": "https://registry.npmjs.org/opn/4.0.2", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/opn@4.0.2" + } }, { "purl": "pkg:npm/os-tmpdir@1.0.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "os-tmpdir", + "version": "1.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "os-tmpdir", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/os-tmpdir", + "repository_download_url": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.1.tgz", + "api_data_url": "https://registry.npmjs.org/os-tmpdir/1.0.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/os-tmpdir@1.0.1" + } }, { "purl": "pkg:npm/package@1.0.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "package", + "version": "1.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/package/-/package-1.0.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "package", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/package", + "repository_download_url": "https://registry.npmjs.org/package/-/package-1.0.1.tgz", + "api_data_url": "https://registry.npmjs.org/package/1.0.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/package@1.0.1" + } }, { "purl": "pkg:npm/pako@0.2.8", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.2.8", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "pako", + "version": "0.2.8", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/pako/-/pako-0.2.8.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "pako", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/pako", + "repository_download_url": "https://registry.npmjs.org/pako/-/pako-0.2.8.tgz", + "api_data_url": "https://registry.npmjs.org/pako/0.2.8", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/pako@0.2.8" + } }, { "purl": "pkg:npm/param-case@2.1.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "param-case", + "version": "2.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/param-case/-/param-case-2.1.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "param-case", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/param-case", + "repository_download_url": "https://registry.npmjs.org/param-case/-/param-case-2.1.0.tgz", + "api_data_url": "https://registry.npmjs.org/param-case/2.1.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/param-case@2.1.0" + } }, { "purl": "pkg:npm/parse-json@2.2.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.2.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "parse-json", + "version": "2.2.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "parse-json", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/parse-json", + "repository_download_url": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "api_data_url": "https://registry.npmjs.org/parse-json/2.2.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/parse-json@2.2.0" + } }, { "purl": "pkg:npm/parse-ms@1.0.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "parse-ms", + "version": "1.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/parse-ms/-/parse-ms-1.0.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "parse-ms", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/parse-ms", + "repository_download_url": "https://registry.npmjs.org/parse-ms/-/parse-ms-1.0.1.tgz", + "api_data_url": "https://registry.npmjs.org/parse-ms/1.0.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/parse-ms@1.0.1" + } }, { "purl": "pkg:npm/parserlib@0.2.5", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.2.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "parserlib", + "version": "0.2.5", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/parserlib/-/parserlib-0.2.5.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "parserlib", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/parserlib", + "repository_download_url": "https://registry.npmjs.org/parserlib/-/parserlib-0.2.5.tgz", + "api_data_url": "https://registry.npmjs.org/parserlib/0.2.5", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/parserlib@0.2.5" + } }, { "purl": "pkg:npm/parseurl@1.3.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.3.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "parseurl", + "version": "1.3.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "parseurl", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/parseurl", + "repository_download_url": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz", + "api_data_url": "https://registry.npmjs.org/parseurl/1.3.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/parseurl@1.3.1" + } }, { "purl": "pkg:npm/pascal-case@2.0.0", - "extracted_requirement": null, + "extracted_requirement": "2.0.0", "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": true, - "resolved_package": {} + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "pascal-case", + "version": "2.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/pascal-case/-/pascal-case-2.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "pascal-case", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/pascal-case", + "repository_download_url": "https://registry.npmjs.org/pascal-case/-/pascal-case-2.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/pascal-case/2.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/pascal-case@2.0.0" + } }, { "purl": "pkg:npm/path-case@2.1.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "path-case", + "version": "2.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/path-case/-/path-case-2.1.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "path-case", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/path-case", + "repository_download_url": "https://registry.npmjs.org/path-case/-/path-case-2.1.0.tgz", + "api_data_url": "https://registry.npmjs.org/path-case/2.1.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/path-case@2.1.0" + } }, { "purl": "pkg:npm/path-exists@2.1.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "path-exists", + "version": "2.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "path-exists", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/path-exists", + "repository_download_url": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "api_data_url": "https://registry.npmjs.org/path-exists/2.1.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/path-exists@2.1.0" + } }, { "purl": "pkg:npm/path-is-absolute@1.0.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "path-is-absolute", + "version": "1.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "path-is-absolute", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/path-is-absolute", + "repository_download_url": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/path-is-absolute/1.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/path-is-absolute@1.0.0" + } }, { "purl": "pkg:npm/path-type@1.1.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "path-type", + "version": "1.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "path-type", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/path-type", + "repository_download_url": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "api_data_url": "https://registry.npmjs.org/path-type/1.1.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/path-type@1.1.0" + } }, { "purl": "pkg:npm/pathval@0.1.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.1.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "pathval", + "version": "0.1.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/pathval/-/pathval-0.1.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "pathval", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/pathval", + "repository_download_url": "https://registry.npmjs.org/pathval/-/pathval-0.1.1.tgz", + "api_data_url": "https://registry.npmjs.org/pathval/0.1.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/pathval@0.1.1" + } }, { "purl": "pkg:npm/pend@1.2.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.2.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "pend", + "version": "1.2.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "pend", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/pend", + "repository_download_url": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "api_data_url": "https://registry.npmjs.org/pend/1.2.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/pend@1.2.0" + } }, { "purl": "pkg:npm/phantomjs@1.9.20", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.9.20", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "phantomjs", + "version": "1.9.20", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/phantomjs/-/phantomjs-1.9.20.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "phantomjs", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/phantomjs", + "repository_download_url": "https://registry.npmjs.org/phantomjs/-/phantomjs-1.9.20.tgz", + "api_data_url": "https://registry.npmjs.org/phantomjs/1.9.20", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/phantomjs@1.9.20" + } }, { "purl": "pkg:npm/pify@2.3.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.3.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "pify", + "version": "2.3.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "pify", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/pify", + "repository_download_url": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "api_data_url": "https://registry.npmjs.org/pify/2.3.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/pify@2.3.0" + } }, { "purl": "pkg:npm/pinkie@2.0.4", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.0.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "pinkie", + "version": "2.0.4", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "pinkie", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/pinkie", + "repository_download_url": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "api_data_url": "https://registry.npmjs.org/pinkie/2.0.4", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/pinkie@2.0.4" + } }, { "purl": "pkg:npm/pinkie-promise@2.0.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "pinkie-promise", + "version": "2.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "pinkie-promise", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/pinkie-promise", + "repository_download_url": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "api_data_url": "https://registry.npmjs.org/pinkie-promise/2.0.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/pinkie-promise@2.0.1" + } }, { "purl": "pkg:npm/pkg-up@1.0.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "pkg-up", + "version": "1.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/pkg-up/-/pkg-up-1.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "pkg-up", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/pkg-up", + "repository_download_url": "https://registry.npmjs.org/pkg-up/-/pkg-up-1.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/pkg-up/1.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/pkg-up@1.0.0" + } }, { "purl": "pkg:npm/pkginfo@0.4.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.4.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "pkginfo", + "version": "0.4.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "pkginfo", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/pkginfo", + "repository_download_url": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.0.tgz", + "api_data_url": "https://registry.npmjs.org/pkginfo/0.4.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/pkginfo@0.4.0" + } }, { "purl": "pkg:npm/plur@1.0.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "plur", + "version": "1.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/plur/-/plur-1.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "plur", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/plur", + "repository_download_url": "https://registry.npmjs.org/plur/-/plur-1.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/plur/1.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/plur@1.0.0" + } }, { "purl": "pkg:npm/portscanner@1.0.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "portscanner", + "version": "1.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/portscanner/-/portscanner-1.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "portscanner", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/portscanner", + "repository_download_url": "https://registry.npmjs.org/portscanner/-/portscanner-1.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/portscanner/1.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/portscanner@1.0.0" + } }, { "purl": "pkg:npm/postcss@4.1.16", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "4.1.16", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "postcss", + "version": "4.1.16", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/postcss/-/postcss-4.1.16.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "postcss", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/postcss", + "repository_download_url": "https://registry.npmjs.org/postcss/-/postcss-4.1.16.tgz", + "api_data_url": "https://registry.npmjs.org/postcss/4.1.16", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/postcss@4.1.16" + } }, { "purl": "pkg:npm/pretty-bytes@3.0.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "3.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "pretty-bytes", + "version": "3.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-3.0.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "pretty-bytes", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/pretty-bytes", + "repository_download_url": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-3.0.1.tgz", + "api_data_url": "https://registry.npmjs.org/pretty-bytes/3.0.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/pretty-bytes@3.0.1" + } }, { "purl": "pkg:npm/pretty-ms@2.1.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "pretty-ms", + "version": "2.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-2.1.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "pretty-ms", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/pretty-ms", + "repository_download_url": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-2.1.0.tgz", + "api_data_url": "https://registry.npmjs.org/pretty-ms/2.1.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/pretty-ms@2.1.0" + } }, { "purl": "pkg:npm/process-nextick-args@1.0.7", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.7", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "process-nextick-args", + "version": "1.0.7", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "process-nextick-args", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/process-nextick-args", + "repository_download_url": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "api_data_url": "https://registry.npmjs.org/process-nextick-args/1.0.7", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/process-nextick-args@1.0.7" + } }, { "purl": "pkg:npm/progress@1.1.8", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.1.8", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "progress", + "version": "1.1.8", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "progress", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/progress", + "repository_download_url": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", + "api_data_url": "https://registry.npmjs.org/progress/1.1.8", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/progress@1.1.8" + } }, { "purl": "pkg:npm/promise@7.1.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "7.1.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "promise", + "version": "7.1.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/promise/-/promise-7.1.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "promise", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/promise", + "repository_download_url": "https://registry.npmjs.org/promise/-/promise-7.1.1.tgz", + "api_data_url": "https://registry.npmjs.org/promise/7.1.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/promise@7.1.1" + } }, { "purl": "pkg:npm/prompt@0.2.14", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.2.14", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "prompt", + "version": "0.2.14", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/prompt/-/prompt-0.2.14.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "prompt", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/prompt", + "repository_download_url": "https://registry.npmjs.org/prompt/-/prompt-0.2.14.tgz", + "api_data_url": "https://registry.npmjs.org/prompt/0.2.14", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/prompt@0.2.14" + } }, { "purl": "pkg:npm/prr@0.0.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "prr", + "version": "0.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "prr", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/prr", + "repository_download_url": "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/prr/0.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/prr@0.0.0" + } }, { "purl": "pkg:npm/pug@2.0.0-beta3", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.0.0-beta3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "pug", + "version": "2.0.0-beta3", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/pug/-/pug-2.0.0-beta3.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "pug", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/pug", + "repository_download_url": "https://registry.npmjs.org/pug/-/pug-2.0.0-beta3.tgz", + "api_data_url": "https://registry.npmjs.org/pug/2.0.0-beta3", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/pug@2.0.0-beta3" + } }, { "purl": "pkg:npm/pug-attrs@2.0.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "pug-attrs", + "version": "2.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/pug-attrs/-/pug-attrs-2.0.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "pug-attrs", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/pug-attrs", + "repository_download_url": "https://registry.npmjs.org/pug-attrs/-/pug-attrs-2.0.1.tgz", + "api_data_url": "https://registry.npmjs.org/pug-attrs/2.0.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/pug-attrs@2.0.1" + } }, { "purl": "pkg:npm/pug-code-gen@0.0.7", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.0.7", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "pug-code-gen", + "version": "0.0.7", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-0.0.7.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "pug-code-gen", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/pug-code-gen", + "repository_download_url": "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-0.0.7.tgz", + "api_data_url": "https://registry.npmjs.org/pug-code-gen/0.0.7", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/pug-code-gen@0.0.7" + } }, { "purl": "pkg:npm/pug-error@1.3.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.3.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "pug-error", + "version": "1.3.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/pug-error/-/pug-error-1.3.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "pug-error", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/pug-error", + "repository_download_url": "https://registry.npmjs.org/pug-error/-/pug-error-1.3.1.tgz", + "api_data_url": "https://registry.npmjs.org/pug-error/1.3.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/pug-error@1.3.1" + } }, { "purl": "pkg:npm/pug-filters@1.2.2", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.2.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "pug-filters", + "version": "1.2.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/pug-filters/-/pug-filters-1.2.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "pug-filters", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/pug-filters", + "repository_download_url": "https://registry.npmjs.org/pug-filters/-/pug-filters-1.2.2.tgz", + "api_data_url": "https://registry.npmjs.org/pug-filters/1.2.2", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/pug-filters@1.2.2" + } }, { "purl": "pkg:npm/pug-lexer@2.0.2", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "pug-lexer", + "version": "2.0.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/pug-lexer/-/pug-lexer-2.0.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "pug-lexer", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/pug-lexer", + "repository_download_url": "https://registry.npmjs.org/pug-lexer/-/pug-lexer-2.0.2.tgz", + "api_data_url": "https://registry.npmjs.org/pug-lexer/2.0.2", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/pug-lexer@2.0.2" + } }, { "purl": "pkg:npm/pug-linker@1.0.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "pug-linker", + "version": "1.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/pug-linker/-/pug-linker-1.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "pug-linker", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/pug-linker", + "repository_download_url": "https://registry.npmjs.org/pug-linker/-/pug-linker-1.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/pug-linker/1.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/pug-linker@1.0.0" + } }, { "purl": "pkg:npm/pug-load@2.0.0", - "extracted_requirement": null, + "extracted_requirement": "2.0.0", "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": true, - "resolved_package": {} + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "pug-load", + "version": "2.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/pug-load/-/pug-load-2.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "pug-load", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/pug-load", + "repository_download_url": "https://registry.npmjs.org/pug-load/-/pug-load-2.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/pug-load/2.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/pug-load@2.0.0" + } }, { "purl": "pkg:npm/pug-parser@2.0.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "pug-parser", + "version": "2.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/pug-parser/-/pug-parser-2.0.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "pug-parser", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/pug-parser", + "repository_download_url": "https://registry.npmjs.org/pug-parser/-/pug-parser-2.0.1.tgz", + "api_data_url": "https://registry.npmjs.org/pug-parser/2.0.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/pug-parser@2.0.1" + } }, { "purl": "pkg:npm/pug-runtime@2.0.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "pug-runtime", + "version": "2.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/pug-runtime/-/pug-runtime-2.0.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "pug-runtime", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/pug-runtime", + "repository_download_url": "https://registry.npmjs.org/pug-runtime/-/pug-runtime-2.0.1.tgz", + "api_data_url": "https://registry.npmjs.org/pug-runtime/2.0.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/pug-runtime@2.0.1" + } }, { "purl": "pkg:npm/pug-strip-comments@0.0.1", - "extracted_requirement": null, + "extracted_requirement": "0.0.1", "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": true, - "resolved_package": {} + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "pug-strip-comments", + "version": "0.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/pug-strip-comments/-/pug-strip-comments-0.0.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "pug-strip-comments", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/pug-strip-comments", + "repository_download_url": "https://registry.npmjs.org/pug-strip-comments/-/pug-strip-comments-0.0.1.tgz", + "api_data_url": "https://registry.npmjs.org/pug-strip-comments/0.0.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/pug-strip-comments@0.0.1" + } }, { "purl": "pkg:npm/pug-walk@0.0.3", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.0.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "pug-walk", + "version": "0.0.3", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/pug-walk/-/pug-walk-0.0.3.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "pug-walk", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/pug-walk", + "repository_download_url": "https://registry.npmjs.org/pug-walk/-/pug-walk-0.0.3.tgz", + "api_data_url": "https://registry.npmjs.org/pug-walk/0.0.3", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/pug-walk@0.0.3" + } }, { "purl": "pkg:npm/q@1.4.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.4.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "q", + "version": "1.4.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/q/-/q-1.4.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "q", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/q", + "repository_download_url": "https://registry.npmjs.org/q/-/q-1.4.1.tgz", + "api_data_url": "https://registry.npmjs.org/q/1.4.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/q@1.4.1" + } }, { "purl": "pkg:npm/qs@6.2.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "6.2.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "qs", + "version": "6.2.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/qs/-/qs-6.2.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "qs", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/qs", + "repository_download_url": "https://registry.npmjs.org/qs/-/qs-6.2.0.tgz", + "api_data_url": "https://registry.npmjs.org/qs/6.2.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/qs@6.2.0" + } }, { "purl": "pkg:npm/range-parser@1.2.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.2.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "range-parser", + "version": "1.2.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "range-parser", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/range-parser", + "repository_download_url": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "api_data_url": "https://registry.npmjs.org/range-parser/1.2.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/range-parser@1.2.0" + } }, { "purl": "pkg:npm/raw-body@2.1.7", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.1.7", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "raw-body", + "version": "2.1.7", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "raw-body", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/raw-body", + "repository_download_url": "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz", + "api_data_url": "https://registry.npmjs.org/raw-body/2.1.7", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/raw-body@2.1.7" + } }, { "purl": "pkg:npm/read@1.0.7", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.7", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "read", + "version": "1.0.7", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "read", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/read", + "repository_download_url": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", + "api_data_url": "https://registry.npmjs.org/read/1.0.7", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/read@1.0.7" + } }, { "purl": "pkg:npm/read-pkg@1.1.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "read-pkg", + "version": "1.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "read-pkg", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/read-pkg", + "repository_download_url": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "api_data_url": "https://registry.npmjs.org/read-pkg/1.1.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/read-pkg@1.1.0" + } }, { "purl": "pkg:npm/read-pkg-up@1.0.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "read-pkg-up", + "version": "1.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "read-pkg-up", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/read-pkg-up", + "repository_download_url": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "api_data_url": "https://registry.npmjs.org/read-pkg-up/1.0.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/read-pkg-up@1.0.1" + } }, { "purl": "pkg:npm/readable-stream@2.1.4", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.1.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "readable-stream", + "version": "2.1.4", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.4.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "readable-stream", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/readable-stream", + "repository_download_url": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.4.tgz", + "api_data_url": "https://registry.npmjs.org/readable-stream/2.1.4", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/readable-stream@2.1.4" + } }, { "purl": "pkg:npm/rechoir@0.6.2", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.6.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "rechoir", + "version": "0.6.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "rechoir", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/rechoir", + "repository_download_url": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "api_data_url": "https://registry.npmjs.org/rechoir/0.6.2", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/rechoir@0.6.2" + } }, { "purl": "pkg:npm/redent@1.0.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "redent", + "version": "1.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "redent", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/redent", + "repository_download_url": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/redent/1.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/redent@1.0.0" + } }, { "purl": "pkg:npm/regenerator-runtime@0.9.5", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.9.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "regenerator-runtime", + "version": "0.9.5", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.9.5.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "regenerator-runtime", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/regenerator-runtime", + "repository_download_url": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.9.5.tgz", + "api_data_url": "https://registry.npmjs.org/regenerator-runtime/0.9.5", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/regenerator-runtime@0.9.5" + } }, { "purl": "pkg:npm/relateurl@0.2.6", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.2.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "relateurl", + "version": "0.2.6", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.6.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "relateurl", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/relateurl", + "repository_download_url": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.6.tgz", + "api_data_url": "https://registry.npmjs.org/relateurl/0.2.6", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/relateurl@0.2.6" + } }, { "purl": "pkg:npm/repeat-string@1.5.4", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.5.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "repeat-string", + "version": "1.5.4", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.5.4.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "repeat-string", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/repeat-string", + "repository_download_url": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.5.4.tgz", + "api_data_url": "https://registry.npmjs.org/repeat-string/1.5.4", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/repeat-string@1.5.4" + } }, { "purl": "pkg:npm/repeating@2.0.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "repeating", + "version": "2.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "repeating", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/repeating", + "repository_download_url": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "api_data_url": "https://registry.npmjs.org/repeating/2.0.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/repeating@2.0.1" + } }, { "purl": "pkg:npm/request@2.73.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.73.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "request", + "version": "2.73.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/request/-/request-2.73.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "request", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/request", + "repository_download_url": "https://registry.npmjs.org/request/-/request-2.73.0.tgz", + "api_data_url": "https://registry.npmjs.org/request/2.73.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/request@2.73.0" + } }, { "purl": "pkg:npm/request-progress@2.0.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "request-progress", + "version": "2.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/request-progress/-/request-progress-2.0.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "request-progress", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/request-progress", + "repository_download_url": "https://registry.npmjs.org/request-progress/-/request-progress-2.0.1.tgz", + "api_data_url": "https://registry.npmjs.org/request-progress/2.0.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/request-progress@2.0.1" + } }, { "purl": "pkg:npm/requestretry@1.9.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.9.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "requestretry", + "version": "1.9.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/requestretry/-/requestretry-1.9.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "requestretry", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/requestretry", + "repository_download_url": "https://registry.npmjs.org/requestretry/-/requestretry-1.9.0.tgz", + "api_data_url": "https://registry.npmjs.org/requestretry/1.9.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/requestretry@1.9.0" + } }, { "purl": "pkg:npm/reserved-words@0.1.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.1.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "reserved-words", + "version": "0.1.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/reserved-words/-/reserved-words-0.1.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "reserved-words", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/reserved-words", + "repository_download_url": "https://registry.npmjs.org/reserved-words/-/reserved-words-0.1.1.tgz", + "api_data_url": "https://registry.npmjs.org/reserved-words/0.1.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/reserved-words@0.1.1" + } }, { "purl": "pkg:npm/resolve@1.1.7", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.1.7", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "resolve", + "version": "1.1.7", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "resolve", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/resolve", + "repository_download_url": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "api_data_url": "https://registry.npmjs.org/resolve/1.1.7", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/resolve@1.1.7" + } }, { "purl": "pkg:npm/resolve-from@2.0.0", - "extracted_requirement": null, + "extracted_requirement": "2.0.0", "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": true, - "resolved_package": {} + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "resolve-from", + "version": "2.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "resolve-from", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/resolve-from", + "repository_download_url": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/resolve-from/2.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/resolve-from@2.0.0" + } }, { "purl": "pkg:npm/resolve-pkg@0.1.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "resolve-pkg", + "version": "0.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/resolve-pkg/-/resolve-pkg-0.1.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "resolve-pkg", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/resolve-pkg", + "repository_download_url": "https://registry.npmjs.org/resolve-pkg/-/resolve-pkg-0.1.0.tgz", + "api_data_url": "https://registry.npmjs.org/resolve-pkg/0.1.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/resolve-pkg@0.1.0" + } }, { "purl": "pkg:npm/revalidator@0.1.8", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.1.8", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "revalidator", + "version": "0.1.8", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/revalidator/-/revalidator-0.1.8.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "revalidator", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/revalidator", + "repository_download_url": "https://registry.npmjs.org/revalidator/-/revalidator-0.1.8.tgz", + "api_data_url": "https://registry.npmjs.org/revalidator/0.1.8", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/revalidator@0.1.8" + } }, { "purl": "pkg:npm/right-align@0.1.3", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.1.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "right-align", + "version": "0.1.3", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "right-align", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/right-align", + "repository_download_url": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "api_data_url": "https://registry.npmjs.org/right-align/0.1.3", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/right-align@0.1.3" + } }, { "purl": "pkg:npm/rimraf@2.2.8", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.2.8", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "rimraf", + "version": "2.2.8", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "rimraf", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/rimraf", + "repository_download_url": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", + "api_data_url": "https://registry.npmjs.org/rimraf/2.2.8", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/rimraf@2.2.8" + } }, { "purl": "pkg:npm/sauce-tunnel@2.5.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.5.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "sauce-tunnel", + "version": "2.5.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/sauce-tunnel/-/sauce-tunnel-2.5.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "sauce-tunnel", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/sauce-tunnel", + "repository_download_url": "https://registry.npmjs.org/sauce-tunnel/-/sauce-tunnel-2.5.0.tgz", + "api_data_url": "https://registry.npmjs.org/sauce-tunnel/2.5.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/sauce-tunnel@2.5.0" + } }, { "purl": "pkg:npm/saucelabs@1.2.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.2.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "saucelabs", + "version": "1.2.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/saucelabs/-/saucelabs-1.2.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "saucelabs", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/saucelabs", + "repository_download_url": "https://registry.npmjs.org/saucelabs/-/saucelabs-1.2.0.tgz", + "api_data_url": "https://registry.npmjs.org/saucelabs/1.2.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/saucelabs@1.2.0" + } }, { "purl": "pkg:npm/semver@5.2.0", - "extracted_requirement": null, + "extracted_requirement": "5.2.0", "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": true, - "resolved_package": {} + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "semver", + "version": "5.2.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/semver/-/semver-5.2.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "semver", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/semver", + "repository_download_url": "https://registry.npmjs.org/semver/-/semver-5.2.0.tgz", + "api_data_url": "https://registry.npmjs.org/semver/5.2.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/semver@5.2.0" + } }, { "purl": "pkg:npm/send@0.14.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.14.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "send", + "version": "0.14.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/send/-/send-0.14.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "send", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/send", + "repository_download_url": "https://registry.npmjs.org/send/-/send-0.14.1.tgz", + "api_data_url": "https://registry.npmjs.org/send/0.14.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/send@0.14.1" + } }, { "purl": "pkg:npm/sentence-case@2.1.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "sentence-case", + "version": "2.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/sentence-case/-/sentence-case-2.1.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "sentence-case", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/sentence-case", + "repository_download_url": "https://registry.npmjs.org/sentence-case/-/sentence-case-2.1.0.tgz", + "api_data_url": "https://registry.npmjs.org/sentence-case/2.1.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/sentence-case@2.1.0" + } }, { "purl": "pkg:npm/serve-index@1.8.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.8.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "serve-index", + "version": "1.8.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/serve-index/-/serve-index-1.8.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "serve-index", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/serve-index", + "repository_download_url": "https://registry.npmjs.org/serve-index/-/serve-index-1.8.0.tgz", + "api_data_url": "https://registry.npmjs.org/serve-index/1.8.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/serve-index@1.8.0" + } }, { "purl": "pkg:npm/serve-static@1.11.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.11.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "serve-static", + "version": "1.11.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/serve-static/-/serve-static-1.11.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "serve-static", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/serve-static", + "repository_download_url": "https://registry.npmjs.org/serve-static/-/serve-static-1.11.1.tgz", + "api_data_url": "https://registry.npmjs.org/serve-static/1.11.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/serve-static@1.11.1" + } }, { "purl": "pkg:npm/setprototypeof@1.0.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "setprototypeof", + "version": "1.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "setprototypeof", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/setprototypeof", + "repository_download_url": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.1.tgz", + "api_data_url": "https://registry.npmjs.org/setprototypeof/1.0.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/setprototypeof@1.0.1" + } }, { "purl": "pkg:npm/shelljs@0.7.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.7.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "shelljs", + "version": "0.7.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "shelljs", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/shelljs", + "repository_download_url": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.0.tgz", + "api_data_url": "https://registry.npmjs.org/shelljs/0.7.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/shelljs@0.7.0" + } }, { "purl": "pkg:npm/shx@0.1.2", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.1.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "shx", + "version": "0.1.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/shx/-/shx-0.1.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "shx", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/shx", + "repository_download_url": "https://registry.npmjs.org/shx/-/shx-0.1.2.tgz", + "api_data_url": "https://registry.npmjs.org/shx/0.1.2", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/shx@0.1.2" + } }, { "purl": "pkg:npm/sigmund@1.0.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "sigmund", + "version": "1.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "sigmund", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/sigmund", + "repository_download_url": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", + "api_data_url": "https://registry.npmjs.org/sigmund/1.0.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/sigmund@1.0.1" + } }, { "purl": "pkg:npm/signal-exit@3.0.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "3.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "signal-exit", + "version": "3.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "signal-exit", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/signal-exit", + "repository_download_url": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/signal-exit/3.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/signal-exit@3.0.0" + } }, { "purl": "pkg:npm/snake-case@2.1.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "snake-case", + "version": "2.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/snake-case/-/snake-case-2.1.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "snake-case", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/snake-case", + "repository_download_url": "https://registry.npmjs.org/snake-case/-/snake-case-2.1.0.tgz", + "api_data_url": "https://registry.npmjs.org/snake-case/2.1.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/snake-case@2.1.0" + } }, { "purl": "pkg:npm/sntp@1.0.9", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.9", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "sntp", + "version": "1.0.9", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "sntp", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/sntp", + "repository_download_url": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "api_data_url": "https://registry.npmjs.org/sntp/1.0.9", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/sntp@1.0.9" + } }, { "purl": "pkg:npm/source-map@0.4.4", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.4.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "source-map", + "version": "0.4.4", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "source-map", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/source-map", + "repository_download_url": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "api_data_url": "https://registry.npmjs.org/source-map/0.4.4", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/source-map@0.4.4" + } }, { "purl": "pkg:npm/source-map-support@0.4.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.4.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "source-map-support", + "version": "0.4.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "source-map-support", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/source-map-support", + "repository_download_url": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.1.tgz", + "api_data_url": "https://registry.npmjs.org/source-map-support/0.4.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/source-map-support@0.4.1" + } }, { "purl": "pkg:npm/spdx-correct@1.0.2", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "spdx-correct", + "version": "1.0.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "spdx-correct", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/spdx-correct", + "repository_download_url": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", + "api_data_url": "https://registry.npmjs.org/spdx-correct/1.0.2", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/spdx-correct@1.0.2" + } }, { "purl": "pkg:npm/spdx-exceptions@1.0.5", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "spdx-exceptions", + "version": "1.0.5", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-1.0.5.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "spdx-exceptions", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/spdx-exceptions", + "repository_download_url": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-1.0.5.tgz", + "api_data_url": "https://registry.npmjs.org/spdx-exceptions/1.0.5", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/spdx-exceptions@1.0.5" + } }, { "purl": "pkg:npm/spdx-expression-parse@1.0.2", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "spdx-expression-parse", + "version": "1.0.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "spdx-expression-parse", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/spdx-expression-parse", + "repository_download_url": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.2.tgz", + "api_data_url": "https://registry.npmjs.org/spdx-expression-parse/1.0.2", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/spdx-expression-parse@1.0.2" + } }, { "purl": "pkg:npm/spdx-license-ids@1.2.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.2.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "spdx-license-ids", + "version": "1.2.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "spdx-license-ids", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/spdx-license-ids", + "repository_download_url": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.1.tgz", + "api_data_url": "https://registry.npmjs.org/spdx-license-ids/1.2.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/spdx-license-ids@1.2.1" + } }, { "purl": "pkg:npm/split@1.0.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "split", + "version": "1.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/split/-/split-1.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "split", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/split", + "repository_download_url": "https://registry.npmjs.org/split/-/split-1.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/split/1.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/split@1.0.0" + } }, { "purl": "pkg:npm/sprintf-js@1.0.3", - "extracted_requirement": null, + "extracted_requirement": "1.0.3", "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": true, - "resolved_package": {} + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "sprintf-js", + "version": "1.0.3", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "sprintf-js", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/sprintf-js", + "repository_download_url": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "api_data_url": "https://registry.npmjs.org/sprintf-js/1.0.3", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/sprintf-js@1.0.3" + } }, { "purl": "pkg:npm/sshpk@1.8.3", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.8.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "sshpk", + "version": "1.8.3", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/sshpk/-/sshpk-1.8.3.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "sshpk", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/sshpk", + "repository_download_url": "https://registry.npmjs.org/sshpk/-/sshpk-1.8.3.tgz", + "api_data_url": "https://registry.npmjs.org/sshpk/1.8.3", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/sshpk@1.8.3" + } }, { "purl": "pkg:npm/stack-trace@0.0.9", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.0.9", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "stack-trace", + "version": "0.0.9", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "stack-trace", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/stack-trace", + "repository_download_url": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz", + "api_data_url": "https://registry.npmjs.org/stack-trace/0.0.9", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/stack-trace@0.0.9" + } }, { "purl": "pkg:npm/statuses@1.3.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.3.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "statuses", + "version": "1.3.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/statuses/-/statuses-1.3.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "statuses", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/statuses", + "repository_download_url": "https://registry.npmjs.org/statuses/-/statuses-1.3.0.tgz", + "api_data_url": "https://registry.npmjs.org/statuses/1.3.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/statuses@1.3.0" + } }, { "purl": "pkg:npm/stream-buffers@2.2.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.2.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "stream-buffers", + "version": "2.2.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "stream-buffers", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/stream-buffers", + "repository_download_url": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz", + "api_data_url": "https://registry.npmjs.org/stream-buffers/2.2.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/stream-buffers@2.2.0" + } }, { "purl": "pkg:npm/string_decoder@0.10.31", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.10.31", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "string_decoder", + "version": "0.10.31", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "string_decoder", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/string_decoder", + "repository_download_url": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "api_data_url": "https://registry.npmjs.org/string_decoder/0.10.31", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/string_decoder@0.10.31" + } }, { "purl": "pkg:npm/stringstream@0.0.5", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.0.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "stringstream", + "version": "0.0.5", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "stringstream", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/stringstream", + "repository_download_url": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", + "api_data_url": "https://registry.npmjs.org/stringstream/0.0.5", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/stringstream@0.0.5" + } }, { "purl": "pkg:npm/strip-ansi@3.0.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "3.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "strip-ansi", + "version": "3.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "strip-ansi", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/strip-ansi", + "repository_download_url": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "api_data_url": "https://registry.npmjs.org/strip-ansi/3.0.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/strip-ansi@3.0.1" + } }, { "purl": "pkg:npm/strip-bom@2.0.0", - "extracted_requirement": null, + "extracted_requirement": "2.0.0", "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": true, - "resolved_package": {} + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "strip-bom", + "version": "2.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "strip-bom", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/strip-bom", + "repository_download_url": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/strip-bom/2.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/strip-bom@2.0.0" + } }, { "purl": "pkg:npm/strip-indent@1.0.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "strip-indent", + "version": "1.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "strip-indent", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/strip-indent", + "repository_download_url": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "api_data_url": "https://registry.npmjs.org/strip-indent/1.0.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/strip-indent@1.0.1" + } }, { "purl": "pkg:npm/strip-json-comments@1.0.4", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "strip-json-comments", + "version": "1.0.4", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "strip-json-comments", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/strip-json-comments", + "repository_download_url": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz", + "api_data_url": "https://registry.npmjs.org/strip-json-comments/1.0.4", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/strip-json-comments@1.0.4" + } }, { "purl": "pkg:npm/supports-color@2.0.0", - "extracted_requirement": null, + "extracted_requirement": "2.0.0", "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": true, - "resolved_package": {} + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "supports-color", + "version": "2.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "supports-color", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/supports-color", + "repository_download_url": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/supports-color/2.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/supports-color@2.0.0" + } }, { "purl": "pkg:npm/swap-case@1.1.2", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.1.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "swap-case", + "version": "1.1.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/swap-case/-/swap-case-1.1.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "swap-case", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/swap-case", + "repository_download_url": "https://registry.npmjs.org/swap-case/-/swap-case-1.1.2.tgz", + "api_data_url": "https://registry.npmjs.org/swap-case/1.1.2", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/swap-case@1.1.2" + } }, { "purl": "pkg:npm/tar-stream@1.5.2", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.5.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "tar-stream", + "version": "1.5.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "tar-stream", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/tar-stream", + "repository_download_url": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.2.tgz", + "api_data_url": "https://registry.npmjs.org/tar-stream/1.5.2", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/tar-stream@1.5.2" + } }, { "purl": "pkg:npm/temporary@0.0.8", - "extracted_requirement": null, + "extracted_requirement": "0.0.8", "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": true, - "resolved_package": {} + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "temporary", + "version": "0.0.8", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/temporary/-/temporary-0.0.8.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "temporary", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/temporary", + "repository_download_url": "https://registry.npmjs.org/temporary/-/temporary-0.0.8.tgz", + "api_data_url": "https://registry.npmjs.org/temporary/0.0.8", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/temporary@0.0.8" + } }, { "purl": "pkg:npm/text-table@0.2.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.2.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "text-table", + "version": "0.2.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "text-table", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/text-table", + "repository_download_url": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "api_data_url": "https://registry.npmjs.org/text-table/0.2.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/text-table@0.2.0" + } }, { "purl": "pkg:npm/throttleit@1.0.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "throttleit", + "version": "1.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "throttleit", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/throttleit", + "repository_download_url": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/throttleit/1.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/throttleit@1.0.0" + } }, { "purl": "pkg:npm/through@2.3.8", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.3.8", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "through", + "version": "2.3.8", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "through", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/through", + "repository_download_url": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "api_data_url": "https://registry.npmjs.org/through/2.3.8", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/through@2.3.8" + } }, { "purl": "pkg:npm/time-grunt@1.3.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.3.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "time-grunt", + "version": "1.3.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/time-grunt/-/time-grunt-1.3.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "time-grunt", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/time-grunt", + "repository_download_url": "https://registry.npmjs.org/time-grunt/-/time-grunt-1.3.0.tgz", + "api_data_url": "https://registry.npmjs.org/time-grunt/1.3.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/time-grunt@1.3.0" + } }, { "purl": "pkg:npm/tiny-lr@0.2.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.2.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "tiny-lr", + "version": "0.2.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-0.2.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "tiny-lr", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/tiny-lr", + "repository_download_url": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-0.2.1.tgz", + "api_data_url": "https://registry.npmjs.org/tiny-lr/0.2.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/tiny-lr@0.2.1" + } }, { "purl": "pkg:npm/title-case@2.1.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "title-case", + "version": "2.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/title-case/-/title-case-2.1.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "title-case", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/title-case", + "repository_download_url": "https://registry.npmjs.org/title-case/-/title-case-2.1.0.tgz", + "api_data_url": "https://registry.npmjs.org/title-case/2.1.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/title-case@2.1.0" + } }, { "purl": "pkg:npm/tmp@0.0.28", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.0.28", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "tmp", + "version": "0.0.28", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/tmp/-/tmp-0.0.28.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "tmp", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/tmp", + "repository_download_url": "https://registry.npmjs.org/tmp/-/tmp-0.0.28.tgz", + "api_data_url": "https://registry.npmjs.org/tmp/0.0.28", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/tmp@0.0.28" + } }, { "purl": "pkg:npm/to-double-quotes@2.0.0", - "extracted_requirement": null, + "extracted_requirement": "2.0.0", "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": true, - "resolved_package": {} + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "to-double-quotes", + "version": "2.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/to-double-quotes/-/to-double-quotes-2.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "to-double-quotes", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/to-double-quotes", + "repository_download_url": "https://registry.npmjs.org/to-double-quotes/-/to-double-quotes-2.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/to-double-quotes/2.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/to-double-quotes@2.0.0" + } }, { "purl": "pkg:npm/to-single-quotes@2.0.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "to-single-quotes", + "version": "2.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/to-single-quotes/-/to-single-quotes-2.0.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "to-single-quotes", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/to-single-quotes", + "repository_download_url": "https://registry.npmjs.org/to-single-quotes/-/to-single-quotes-2.0.1.tgz", + "api_data_url": "https://registry.npmjs.org/to-single-quotes/2.0.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/to-single-quotes@2.0.1" + } }, { "purl": "pkg:npm/token-stream@0.0.1", - "extracted_requirement": null, + "extracted_requirement": "0.0.1", "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": true, - "resolved_package": {} + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "token-stream", + "version": "0.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/token-stream/-/token-stream-0.0.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "token-stream", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/token-stream", + "repository_download_url": "https://registry.npmjs.org/token-stream/-/token-stream-0.0.1.tgz", + "api_data_url": "https://registry.npmjs.org/token-stream/0.0.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/token-stream@0.0.1" + } }, { "purl": "pkg:npm/tough-cookie@2.2.2", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.2.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "tough-cookie", + "version": "2.2.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.2.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "tough-cookie", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/tough-cookie", + "repository_download_url": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.2.2.tgz", + "api_data_url": "https://registry.npmjs.org/tough-cookie/2.2.2", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/tough-cookie@2.2.2" + } }, { "purl": "pkg:npm/trim-newlines@1.0.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "trim-newlines", + "version": "1.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "trim-newlines", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/trim-newlines", + "repository_download_url": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/trim-newlines/1.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/trim-newlines@1.0.0" + } }, { "purl": "pkg:npm/tunnel-agent@0.4.3", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.4.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "tunnel-agent", + "version": "0.4.3", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "tunnel-agent", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/tunnel-agent", + "repository_download_url": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", + "api_data_url": "https://registry.npmjs.org/tunnel-agent/0.4.3", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/tunnel-agent@0.4.3" + } }, { "purl": "pkg:npm/tweetnacl@0.13.3", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.13.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "tweetnacl", + "version": "0.13.3", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.13.3.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "tweetnacl", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/tweetnacl", + "repository_download_url": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.13.3.tgz", + "api_data_url": "https://registry.npmjs.org/tweetnacl/0.13.3", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/tweetnacl@0.13.3" + } }, { "purl": "pkg:npm/type-is@1.6.13", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.6.13", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "type-is", + "version": "1.6.13", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/type-is/-/type-is-1.6.13.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "type-is", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/type-is", + "repository_download_url": "https://registry.npmjs.org/type-is/-/type-is-1.6.13.tgz", + "api_data_url": "https://registry.npmjs.org/type-is/1.6.13", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/type-is@1.6.13" + } }, { "purl": "pkg:npm/typedarray@0.0.6", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.0.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "typedarray", + "version": "0.0.6", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "typedarray", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/typedarray", + "repository_download_url": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "api_data_url": "https://registry.npmjs.org/typedarray/0.0.6", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/typedarray@0.0.6" + } }, { "purl": "pkg:npm/uc.micro@1.0.2", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "uc.micro", + "version": "1.0.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "uc.micro", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/uc.micro", + "repository_download_url": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.2.tgz", + "api_data_url": "https://registry.npmjs.org/uc.micro/1.0.2", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/uc.micro@1.0.2" + } }, { "purl": "pkg:npm/uglify-js@2.6.4", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.6.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "uglify-js", + "version": "2.6.4", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.6.4.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "uglify-js", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/uglify-js", + "repository_download_url": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.6.4.tgz", + "api_data_url": "https://registry.npmjs.org/uglify-js/2.6.4", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/uglify-js@2.6.4" + } }, { "purl": "pkg:npm/uglify-to-browserify@1.0.2", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "uglify-to-browserify", + "version": "1.0.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "uglify-to-browserify", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/uglify-to-browserify", + "repository_download_url": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "api_data_url": "https://registry.npmjs.org/uglify-to-browserify/1.0.2", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/uglify-to-browserify@1.0.2" + } }, { "purl": "pkg:npm/underscore@1.6.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.6.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "underscore", + "version": "1.6.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "underscore", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/underscore", + "repository_download_url": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz", + "api_data_url": "https://registry.npmjs.org/underscore/1.6.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/underscore@1.6.0" + } }, { "purl": "pkg:npm/underscore.string@3.2.3", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "3.2.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "underscore.string", + "version": "3.2.3", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.2.3.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "underscore.string", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/underscore.string", + "repository_download_url": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.2.3.tgz", + "api_data_url": "https://registry.npmjs.org/underscore.string/3.2.3", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/underscore.string@3.2.3" + } }, { "purl": "pkg:npm/unpipe@1.0.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "unpipe", + "version": "1.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "unpipe", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/unpipe", + "repository_download_url": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/unpipe/1.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/unpipe@1.0.0" + } }, { "purl": "pkg:npm/upper-case@1.1.3", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.1.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "upper-case", + "version": "1.1.3", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "upper-case", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/upper-case", + "repository_download_url": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "api_data_url": "https://registry.npmjs.org/upper-case/1.1.3", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/upper-case@1.1.3" + } }, { "purl": "pkg:npm/upper-case-first@1.1.2", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.1.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "upper-case-first", + "version": "1.1.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-1.1.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "upper-case-first", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/upper-case-first", + "repository_download_url": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-1.1.2.tgz", + "api_data_url": "https://registry.npmjs.org/upper-case-first/1.1.2", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/upper-case-first@1.1.2" + } }, { "purl": "pkg:npm/uri-path@1.0.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "uri-path", + "version": "1.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/uri-path/-/uri-path-1.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "uri-path", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/uri-path", + "repository_download_url": "https://registry.npmjs.org/uri-path/-/uri-path-1.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/uri-path/1.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/uri-path@1.0.0" + } }, { "purl": "pkg:npm/util-deprecate@1.0.2", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "util-deprecate", + "version": "1.0.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "util-deprecate", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/util-deprecate", + "repository_download_url": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "api_data_url": "https://registry.npmjs.org/util-deprecate/1.0.2", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/util-deprecate@1.0.2" + } }, { "purl": "pkg:npm/utile@0.2.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.2.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "utile", + "version": "0.2.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/utile/-/utile-0.2.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "utile", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/utile", + "repository_download_url": "https://registry.npmjs.org/utile/-/utile-0.2.1.tgz", + "api_data_url": "https://registry.npmjs.org/utile/0.2.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/utile@0.2.1" + } }, { "purl": "pkg:npm/utils-merge@1.0.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "utils-merge", + "version": "1.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "utils-merge", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/utils-merge", + "repository_download_url": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/utils-merge/1.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/utils-merge@1.0.0" + } }, { "purl": "pkg:npm/uuid@2.0.2", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "uuid", + "version": "2.0.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/uuid/-/uuid-2.0.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "uuid", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/uuid", + "repository_download_url": "https://registry.npmjs.org/uuid/-/uuid-2.0.2.tgz", + "api_data_url": "https://registry.npmjs.org/uuid/2.0.2", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/uuid@2.0.2" + } }, { "purl": "pkg:npm/validate-npm-package-license@3.0.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "3.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "validate-npm-package-license", + "version": "3.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "validate-npm-package-license", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/validate-npm-package-license", + "repository_download_url": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", + "api_data_url": "https://registry.npmjs.org/validate-npm-package-license/3.0.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/validate-npm-package-license@3.0.1" + } }, { "purl": "pkg:npm/verror@1.3.6", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.3.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "verror", + "version": "1.3.6", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "verror", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/verror", + "repository_download_url": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz", + "api_data_url": "https://registry.npmjs.org/verror/1.3.6", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/verror@1.3.6" + } }, { "purl": "pkg:npm/void-elements@2.0.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "void-elements", + "version": "2.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "void-elements", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/void-elements", + "repository_download_url": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", + "api_data_url": "https://registry.npmjs.org/void-elements/2.0.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/void-elements@2.0.1" + } }, { "purl": "pkg:npm/vow@0.4.4", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.4.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "vow", + "version": "0.4.4", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/vow/-/vow-0.4.4.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "vow", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/vow", + "repository_download_url": "https://registry.npmjs.org/vow/-/vow-0.4.4.tgz", + "api_data_url": "https://registry.npmjs.org/vow/0.4.4", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/vow@0.4.4" + } }, { "purl": "pkg:npm/vow-fs@0.3.2", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.3.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "vow-fs", + "version": "0.3.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/vow-fs/-/vow-fs-0.3.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "vow-fs", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/vow-fs", + "repository_download_url": "https://registry.npmjs.org/vow-fs/-/vow-fs-0.3.2.tgz", + "api_data_url": "https://registry.npmjs.org/vow-fs/0.3.2", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/vow-fs@0.3.2" + } }, { "purl": "pkg:npm/vow-queue@0.3.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.3.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "vow-queue", + "version": "0.3.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/vow-queue/-/vow-queue-0.3.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "vow-queue", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/vow-queue", + "repository_download_url": "https://registry.npmjs.org/vow-queue/-/vow-queue-0.3.1.tgz", + "api_data_url": "https://registry.npmjs.org/vow-queue/0.3.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/vow-queue@0.3.1" + } }, { "purl": "pkg:npm/websocket-driver@0.6.5", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.6.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "websocket-driver", + "version": "0.6.5", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "websocket-driver", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/websocket-driver", + "repository_download_url": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz", + "api_data_url": "https://registry.npmjs.org/websocket-driver/0.6.5", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/websocket-driver@0.6.5" + } }, { "purl": "pkg:npm/websocket-extensions@0.1.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.1.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "websocket-extensions", + "version": "0.1.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "websocket-extensions", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/websocket-extensions", + "repository_download_url": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.1.tgz", + "api_data_url": "https://registry.npmjs.org/websocket-extensions/0.1.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/websocket-extensions@0.1.1" + } }, { "purl": "pkg:npm/when@3.7.7", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "3.7.7", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "when", + "version": "3.7.7", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/when/-/when-3.7.7.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "when", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/when", + "repository_download_url": "https://registry.npmjs.org/when/-/when-3.7.7.tgz", + "api_data_url": "https://registry.npmjs.org/when/3.7.7", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/when@3.7.7" + } }, { "purl": "pkg:npm/which@1.2.10", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.2.10", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "which", + "version": "1.2.10", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/which/-/which-1.2.10.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "which", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/which", + "repository_download_url": "https://registry.npmjs.org/which/-/which-1.2.10.tgz", + "api_data_url": "https://registry.npmjs.org/which/1.2.10", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/which@1.2.10" + } }, { "purl": "pkg:npm/window-size@0.1.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "window-size", + "version": "0.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "window-size", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/window-size", + "repository_download_url": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "api_data_url": "https://registry.npmjs.org/window-size/0.1.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/window-size@0.1.0" + } }, { "purl": "pkg:npm/winston@0.8.3", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.8.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "winston", + "version": "0.8.3", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/winston/-/winston-0.8.3.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "winston", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/winston", + "repository_download_url": "https://registry.npmjs.org/winston/-/winston-0.8.3.tgz", + "api_data_url": "https://registry.npmjs.org/winston/0.8.3", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/winston@0.8.3" + } }, { "purl": "pkg:npm/with@5.1.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "5.1.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "with", + "version": "5.1.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/with/-/with-5.1.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "with", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/with", + "repository_download_url": "https://registry.npmjs.org/with/-/with-5.1.1.tgz", + "api_data_url": "https://registry.npmjs.org/with/5.1.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/with@5.1.1" + } }, { "purl": "pkg:npm/wordwrap@0.0.2", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "0.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "wordwrap", + "version": "0.0.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "wordwrap", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/wordwrap", + "repository_download_url": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "api_data_url": "https://registry.npmjs.org/wordwrap/0.0.2", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/wordwrap@0.0.2" + } }, { "purl": "pkg:npm/wrappy@1.0.2", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "wrappy", + "version": "1.0.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "wrappy", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/wrappy", + "repository_download_url": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "api_data_url": "https://registry.npmjs.org/wrappy/1.0.2", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/wrappy@1.0.2" + } }, { "purl": "pkg:npm/xml-char-classes@1.0.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "xml-char-classes", + "version": "1.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/xml-char-classes/-/xml-char-classes-1.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "xml-char-classes", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/xml-char-classes", + "repository_download_url": "https://registry.npmjs.org/xml-char-classes/-/xml-char-classes-1.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/xml-char-classes/1.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/xml-char-classes@1.0.0" + } }, { "purl": "pkg:npm/xmlbuilder@3.1.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "3.1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "xmlbuilder", + "version": "3.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-3.1.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "xmlbuilder", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/xmlbuilder", + "repository_download_url": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-3.1.0.tgz", + "api_data_url": "https://registry.npmjs.org/xmlbuilder/3.1.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/xmlbuilder@3.1.0" + } }, { "purl": "pkg:npm/xtend@4.0.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "4.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "xtend", + "version": "4.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "xtend", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/xtend", + "repository_download_url": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "api_data_url": "https://registry.npmjs.org/xtend/4.0.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/xtend@4.0.1" + } }, { "purl": "pkg:npm/yargs@3.10.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "3.10.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "yargs", + "version": "3.10.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "yargs", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/yargs", + "repository_download_url": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "api_data_url": "https://registry.npmjs.org/yargs/3.10.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/yargs@3.10.0" + } }, { "purl": "pkg:npm/yauzl@2.4.1", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "2.4.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "yauzl", + "version": "2.4.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "yauzl", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/yauzl", + "repository_download_url": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz", + "api_data_url": "https://registry.npmjs.org/yauzl/2.4.1", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/yauzl@2.4.1" + } }, { "purl": "pkg:npm/zip-stream@1.0.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "zip-stream", + "version": "1.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/zip-stream/-/zip-stream-1.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "zip-stream", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/zip-stream", + "repository_download_url": "https://registry.npmjs.org/zip-stream/-/zip-stream-1.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/zip-stream/1.0.0", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/zip-stream@1.0.0" + } } ], - "purl": "pkg:npm/bootstrap@3.3.7", "repository_homepage_url": "https://www.npmjs.com/package/bootstrap", "repository_download_url": "https://registry.npmjs.org/bootstrap/-/bootstrap-3.3.7.tgz", - "api_data_url": "https://registry.npmjs.org/bootstrap/3.3.7" - }, - { - "type": "npm", - "namespace": null, - "name": "abbrev", - "version": "1.0.9", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/abbrev@1.0.9", - "repository_homepage_url": "https://www.npmjs.com/package/abbrev", - "repository_download_url": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", - "api_data_url": "https://registry.npmjs.org/abbrev/1.0.9" - }, - { - "type": "npm", - "namespace": null, - "name": "accepts", - "version": "1.3.3", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/accepts@1.3.3", - "repository_homepage_url": "https://www.npmjs.com/package/accepts", - "repository_download_url": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz", - "api_data_url": "https://registry.npmjs.org/accepts/1.3.3" - }, - { - "type": "npm", - "namespace": null, - "name": "acorn", - "version": "3.2.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/acorn/-/acorn-3.2.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/acorn@3.2.0", - "repository_homepage_url": "https://www.npmjs.com/package/acorn", - "repository_download_url": "https://registry.npmjs.org/acorn/-/acorn-3.2.0.tgz", - "api_data_url": "https://registry.npmjs.org/acorn/3.2.0" - }, - { - "type": "npm", - "namespace": null, - "name": "acorn-globals", - "version": "3.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-3.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/acorn-globals@3.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/acorn-globals", - "repository_download_url": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-3.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/acorn-globals/3.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "agent-base", - "version": "2.0.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/agent-base/-/agent-base-2.0.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/semver@5.0.3", - "extracted_requirement": ">=5.0.1 <5.1.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/agent-base@2.0.1", - "repository_homepage_url": "https://www.npmjs.com/package/agent-base", - "repository_download_url": "https://registry.npmjs.org/agent-base/-/agent-base-2.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/agent-base/2.0.1" - }, - { - "type": "npm", - "namespace": null, - "name": "align-text", - "version": "0.1.4", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/align-text@0.1.4", - "repository_homepage_url": "https://www.npmjs.com/package/align-text", - "repository_download_url": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "api_data_url": "https://registry.npmjs.org/align-text/0.1.4" - }, - { - "type": "npm", - "namespace": null, - "name": "amdefine", - "version": "1.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/amdefine@1.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/amdefine", - "repository_download_url": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/amdefine/1.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "ansi-regex", - "version": "2.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/ansi-regex@2.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/ansi-regex", - "repository_download_url": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/ansi-regex/2.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "ansi-styles", - "version": "2.2.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/ansi-styles@2.2.1", - "repository_homepage_url": "https://www.npmjs.com/package/ansi-styles", - "repository_download_url": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "api_data_url": "https://registry.npmjs.org/ansi-styles/2.2.1" - }, - { - "type": "npm", - "namespace": null, - "name": "archiver", - "version": "1.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/archiver/-/archiver-1.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/lodash@4.13.1", - "extracted_requirement": ">=4.8.0 <5.0.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/archiver@1.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/archiver", - "repository_download_url": "https://registry.npmjs.org/archiver/-/archiver-1.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/archiver/1.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "archiver-utils", - "version": "1.2.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-1.2.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/lodash@4.13.1", - "extracted_requirement": ">=4.8.0 <5.0.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/archiver-utils@1.2.0", - "repository_homepage_url": "https://www.npmjs.com/package/archiver-utils", - "repository_download_url": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-1.2.0.tgz", - "api_data_url": "https://registry.npmjs.org/archiver-utils/1.2.0" - }, - { - "type": "npm", - "namespace": null, - "name": "argparse", - "version": "1.0.7", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/argparse/-/argparse-1.0.7.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/argparse@1.0.7", - "repository_homepage_url": "https://www.npmjs.com/package/argparse", - "repository_download_url": "https://registry.npmjs.org/argparse/-/argparse-1.0.7.tgz", - "api_data_url": "https://registry.npmjs.org/argparse/1.0.7" - }, - { - "type": "npm", - "namespace": null, - "name": "array-differ", - "version": "1.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/array-differ@1.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/array-differ", - "repository_download_url": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/array-differ/1.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "array-find-index", - "version": "1.0.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/array-find-index@1.0.1", - "repository_homepage_url": "https://www.npmjs.com/package/array-find-index", - "repository_download_url": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/array-find-index/1.0.1" - }, - { - "type": "npm", - "namespace": null, - "name": "array-union", - "version": "1.0.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/array-union@1.0.2", - "repository_homepage_url": "https://www.npmjs.com/package/array-union", - "repository_download_url": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "api_data_url": "https://registry.npmjs.org/array-union/1.0.2" - }, - { - "type": "npm", - "namespace": null, - "name": "array-uniq", - "version": "1.0.3", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/array-uniq@1.0.3", - "repository_homepage_url": "https://www.npmjs.com/package/array-uniq", - "repository_download_url": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "api_data_url": "https://registry.npmjs.org/array-uniq/1.0.3" - }, - { - "type": "npm", - "namespace": null, - "name": "arrify", - "version": "1.0.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/arrify@1.0.1", - "repository_homepage_url": "https://www.npmjs.com/package/arrify", - "repository_download_url": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/arrify/1.0.1" - }, - { - "type": "npm", - "namespace": null, - "name": "asap", - "version": "2.0.4", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/asap/-/asap-2.0.4.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/asap@2.0.4", - "repository_homepage_url": "https://www.npmjs.com/package/asap", - "repository_download_url": "https://registry.npmjs.org/asap/-/asap-2.0.4.tgz", - "api_data_url": "https://registry.npmjs.org/asap/2.0.4" - }, - { - "type": "npm", - "namespace": null, - "name": "asn1", - "version": "0.2.3", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/asn1@0.2.3", - "repository_homepage_url": "https://www.npmjs.com/package/asn1", - "repository_download_url": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", - "api_data_url": "https://registry.npmjs.org/asn1/0.2.3" - }, - { - "type": "npm", - "namespace": null, - "name": "assert-plus", - "version": "0.2.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/assert-plus@0.2.0", - "repository_homepage_url": "https://www.npmjs.com/package/assert-plus", - "repository_download_url": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", - "api_data_url": "https://registry.npmjs.org/assert-plus/0.2.0" - }, - { - "type": "npm", - "namespace": null, - "name": "async", - "version": "1.5.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/async@1.5.2", - "repository_homepage_url": "https://www.npmjs.com/package/async", - "repository_download_url": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "api_data_url": "https://registry.npmjs.org/async/1.5.2" - }, - { - "type": "npm", - "namespace": null, - "name": "autoprefixer-core", - "version": "5.2.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/autoprefixer-core/-/autoprefixer-core-5.2.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/autoprefixer-core@5.2.1", - "repository_homepage_url": "https://www.npmjs.com/package/autoprefixer-core", - "repository_download_url": "https://registry.npmjs.org/autoprefixer-core/-/autoprefixer-core-5.2.1.tgz", - "api_data_url": "https://registry.npmjs.org/autoprefixer-core/5.2.1" - }, - { - "type": "npm", - "namespace": null, - "name": "aws-sign2", - "version": "0.6.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/aws-sign2@0.6.0", - "repository_homepage_url": "https://www.npmjs.com/package/aws-sign2", - "repository_download_url": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", - "api_data_url": "https://registry.npmjs.org/aws-sign2/0.6.0" - }, - { - "type": "npm", - "namespace": null, - "name": "aws4", - "version": "1.4.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/aws4/-/aws4-1.4.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/aws4@1.4.1", - "repository_homepage_url": "https://www.npmjs.com/package/aws4", - "repository_download_url": "https://registry.npmjs.org/aws4/-/aws4-1.4.1.tgz", - "api_data_url": "https://registry.npmjs.org/aws4/1.4.1" - }, - { - "type": "npm", - "namespace": null, - "name": "babel-runtime", - "version": "6.9.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.9.2.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/babel-runtime@6.9.2", - "repository_homepage_url": "https://www.npmjs.com/package/babel-runtime", - "repository_download_url": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.9.2.tgz", - "api_data_url": "https://registry.npmjs.org/babel-runtime/6.9.2" - }, - { - "type": "npm", - "namespace": null, - "name": "babylon", - "version": "6.8.4", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/babylon/-/babylon-6.8.4.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/babylon@6.8.4", - "repository_homepage_url": "https://www.npmjs.com/package/babylon", - "repository_download_url": "https://registry.npmjs.org/babylon/-/babylon-6.8.4.tgz", - "api_data_url": "https://registry.npmjs.org/babylon/6.8.4" - }, - { - "type": "npm", - "namespace": null, - "name": "balanced-match", - "version": "0.4.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/balanced-match@0.4.1", - "repository_homepage_url": "https://www.npmjs.com/package/balanced-match", - "repository_download_url": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.1.tgz", - "api_data_url": "https://registry.npmjs.org/balanced-match/0.4.1" - }, - { - "type": "npm", - "namespace": null, - "name": "basic-auth", - "version": "1.0.4", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/basic-auth/-/basic-auth-1.0.4.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/basic-auth@1.0.4", - "repository_homepage_url": "https://www.npmjs.com/package/basic-auth", - "repository_download_url": "https://registry.npmjs.org/basic-auth/-/basic-auth-1.0.4.tgz", - "api_data_url": "https://registry.npmjs.org/basic-auth/1.0.4" - }, - { - "type": "npm", - "namespace": null, - "name": "batch", - "version": "0.5.3", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/batch/-/batch-0.5.3.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/batch@0.5.3", - "repository_homepage_url": "https://www.npmjs.com/package/batch", - "repository_download_url": "https://registry.npmjs.org/batch/-/batch-0.5.3.tgz", - "api_data_url": "https://registry.npmjs.org/batch/0.5.3" - }, - { - "type": "npm", - "namespace": null, - "name": "bl", - "version": "1.1.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/readable-stream@2.0.6", - "extracted_requirement": ">=2.0.5 <2.1.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/bl@1.1.2", - "repository_homepage_url": "https://www.npmjs.com/package/bl", - "repository_download_url": "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz", - "api_data_url": "https://registry.npmjs.org/bl/1.1.2" - }, - { - "type": "npm", - "namespace": null, - "name": "body-parser", - "version": "1.14.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/body-parser/-/body-parser-1.14.2.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/http-errors@1.3.1", - "extracted_requirement": ">=1.3.1 <1.4.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/qs@5.2.0", - "extracted_requirement": "5.2.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/body-parser@1.14.2", - "repository_homepage_url": "https://www.npmjs.com/package/body-parser", - "repository_download_url": "https://registry.npmjs.org/body-parser/-/body-parser-1.14.2.tgz", - "api_data_url": "https://registry.npmjs.org/body-parser/1.14.2" - }, - { - "type": "npm", - "namespace": null, - "name": "boom", - "version": "2.10.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/boom@2.10.1", - "repository_homepage_url": "https://www.npmjs.com/package/boom", - "repository_download_url": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", - "api_data_url": "https://registry.npmjs.org/boom/2.10.1" - }, - { - "type": "npm", - "namespace": null, - "name": "brace-expansion", - "version": "1.1.5", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.5.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/brace-expansion@1.1.5", - "repository_homepage_url": "https://www.npmjs.com/package/brace-expansion", - "repository_download_url": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.5.tgz", - "api_data_url": "https://registry.npmjs.org/brace-expansion/1.1.5" - }, - { - "type": "npm", - "namespace": null, - "name": "browserify-zlib", - "version": "0.1.4", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/browserify-zlib@0.1.4", - "repository_homepage_url": "https://www.npmjs.com/package/browserify-zlib", - "repository_download_url": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", - "api_data_url": "https://registry.npmjs.org/browserify-zlib/0.1.4" - }, - { - "type": "npm", - "namespace": null, - "name": "browserslist", - "version": "0.4.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/browserslist/-/browserslist-0.4.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/browserslist@0.4.0", - "repository_homepage_url": "https://www.npmjs.com/package/browserslist", - "repository_download_url": "https://registry.npmjs.org/browserslist/-/browserslist-0.4.0.tgz", - "api_data_url": "https://registry.npmjs.org/browserslist/0.4.0" - }, - { - "type": "npm", - "namespace": null, - "name": "btoa", - "version": "1.1.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/btoa/-/btoa-1.1.2.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/btoa@1.1.2", - "repository_homepage_url": "https://www.npmjs.com/package/btoa", - "repository_download_url": "https://registry.npmjs.org/btoa/-/btoa-1.1.2.tgz", - "api_data_url": "https://registry.npmjs.org/btoa/1.1.2" - }, - { - "type": "npm", - "namespace": null, - "name": "buffer-crc32", - "version": "0.2.5", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.5.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/buffer-crc32@0.2.5", - "repository_homepage_url": "https://www.npmjs.com/package/buffer-crc32", - "repository_download_url": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.5.tgz", - "api_data_url": "https://registry.npmjs.org/buffer-crc32/0.2.5" - }, - { - "type": "npm", - "namespace": null, - "name": "buffer-shims", - "version": "1.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/buffer-shims@1.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/buffer-shims", - "repository_download_url": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/buffer-shims/1.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "builtin-modules", - "version": "1.1.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/builtin-modules@1.1.1", - "repository_homepage_url": "https://www.npmjs.com/package/builtin-modules", - "repository_download_url": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "api_data_url": "https://registry.npmjs.org/builtin-modules/1.1.1" - }, - { - "type": "npm", - "namespace": null, - "name": "bytes", - "version": "2.2.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/bytes/-/bytes-2.2.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/bytes@2.2.0", - "repository_homepage_url": "https://www.npmjs.com/package/bytes", - "repository_download_url": "https://registry.npmjs.org/bytes/-/bytes-2.2.0.tgz", - "api_data_url": "https://registry.npmjs.org/bytes/2.2.0" - }, - { - "type": "npm", - "namespace": null, - "name": "camel-case", - "version": "3.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/camel-case@3.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/camel-case", - "repository_download_url": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/camel-case/3.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "camelcase", - "version": "2.1.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/camelcase@2.1.1", - "repository_homepage_url": "https://www.npmjs.com/package/camelcase", - "repository_download_url": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "api_data_url": "https://registry.npmjs.org/camelcase/2.1.1" - }, - { - "type": "npm", - "namespace": null, - "name": "camelcase-keys", - "version": "2.1.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/camelcase-keys@2.1.0", - "repository_homepage_url": "https://www.npmjs.com/package/camelcase-keys", - "repository_download_url": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", - "api_data_url": "https://registry.npmjs.org/camelcase-keys/2.1.0" - }, - { - "type": "npm", - "namespace": null, - "name": "caniuse-db", - "version": "1.0.30000506", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000506.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/caniuse-db@1.0.30000506", - "repository_homepage_url": "https://www.npmjs.com/package/caniuse-db", - "repository_download_url": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000506.tgz", - "api_data_url": "https://registry.npmjs.org/caniuse-db/1.0.30000506" - }, - { - "type": "npm", - "namespace": null, - "name": "caseless", - "version": "0.11.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/caseless@0.11.0", - "repository_homepage_url": "https://www.npmjs.com/package/caseless", - "repository_download_url": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", - "api_data_url": "https://registry.npmjs.org/caseless/0.11.0" - }, - { - "type": "npm", - "namespace": null, - "name": "center-align", - "version": "0.1.3", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/center-align@0.1.3", - "repository_homepage_url": "https://www.npmjs.com/package/center-align", - "repository_download_url": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", - "api_data_url": "https://registry.npmjs.org/center-align/0.1.3" - }, - { - "type": "npm", - "namespace": null, - "name": "chalk", - "version": "1.1.3", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/chalk@1.1.3", - "repository_homepage_url": "https://www.npmjs.com/package/chalk", - "repository_download_url": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "api_data_url": "https://registry.npmjs.org/chalk/1.1.3" - }, - { - "type": "npm", - "namespace": null, - "name": "change-case", - "version": "3.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/change-case/-/change-case-3.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/change-case@3.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/change-case", - "repository_download_url": "https://registry.npmjs.org/change-case/-/change-case-3.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/change-case/3.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "character-parser", - "version": "2.2.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/character-parser/-/character-parser-2.2.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/character-parser@2.2.0", - "repository_homepage_url": "https://www.npmjs.com/package/character-parser", - "repository_download_url": "https://registry.npmjs.org/character-parser/-/character-parser-2.2.0.tgz", - "api_data_url": "https://registry.npmjs.org/character-parser/2.2.0" - }, - { - "type": "npm", - "namespace": null, - "name": "clean-css", - "version": "3.4.18", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/clean-css/-/clean-css-3.4.18.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/clean-css@3.4.18", - "repository_homepage_url": "https://www.npmjs.com/package/clean-css", - "repository_download_url": "https://registry.npmjs.org/clean-css/-/clean-css-3.4.18.tgz", - "api_data_url": "https://registry.npmjs.org/clean-css/3.4.18" - }, - { - "type": "npm", - "namespace": null, - "name": "cli", - "version": "0.6.6", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/cli/-/cli-0.6.6.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/glob@3.2.11", - "extracted_requirement": ">=3.2.1 <3.3.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/minimatch@0.3.0", - "extracted_requirement": ">=0.3.0 <0.4.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/cli@0.6.6", - "repository_homepage_url": "https://www.npmjs.com/package/cli", - "repository_download_url": "https://registry.npmjs.org/cli/-/cli-0.6.6.tgz", - "api_data_url": "https://registry.npmjs.org/cli/0.6.6" - }, - { - "type": "npm", - "namespace": null, - "name": "cli-table", - "version": "0.3.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/colors@1.0.3", - "extracted_requirement": "1.0.3", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/cli-table@0.3.1", - "repository_homepage_url": "https://www.npmjs.com/package/cli-table", - "repository_download_url": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.1.tgz", - "api_data_url": "https://registry.npmjs.org/cli-table/0.3.1" - }, - { - "type": "npm", - "namespace": null, - "name": "cliui", - "version": "2.1.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/cliui@2.1.0", - "repository_homepage_url": "https://www.npmjs.com/package/cliui", - "repository_download_url": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "api_data_url": "https://registry.npmjs.org/cliui/2.1.0" - }, - { - "type": "npm", - "namespace": null, - "name": "coffee-script", - "version": "1.10.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.10.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/coffee-script@1.10.0", - "repository_homepage_url": "https://www.npmjs.com/package/coffee-script", - "repository_download_url": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.10.0.tgz", - "api_data_url": "https://registry.npmjs.org/coffee-script/1.10.0" - }, - { - "type": "npm", - "namespace": null, - "name": "colors", - "version": "1.1.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/colors@1.1.2", - "repository_homepage_url": "https://www.npmjs.com/package/colors", - "repository_download_url": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", - "api_data_url": "https://registry.npmjs.org/colors/1.1.2" - }, - { - "type": "npm", - "namespace": null, - "name": "combined-stream", - "version": "1.0.5", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/combined-stream@1.0.5", - "repository_homepage_url": "https://www.npmjs.com/package/combined-stream", - "repository_download_url": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", - "api_data_url": "https://registry.npmjs.org/combined-stream/1.0.5" - }, - { - "type": "npm", - "namespace": null, - "name": "commander", - "version": "2.8.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/commander@2.8.1", - "repository_homepage_url": "https://www.npmjs.com/package/commander", - "repository_download_url": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", - "api_data_url": "https://registry.npmjs.org/commander/2.8.1" - }, - { - "type": "npm", - "namespace": null, - "name": "comment-parser", - "version": "0.3.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/comment-parser/-/comment-parser-0.3.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/comment-parser@0.3.1", - "repository_homepage_url": "https://www.npmjs.com/package/comment-parser", - "repository_download_url": "https://registry.npmjs.org/comment-parser/-/comment-parser-0.3.1.tgz", - "api_data_url": "https://registry.npmjs.org/comment-parser/0.3.1" - }, - { - "type": "npm", - "namespace": null, - "name": "compress-commons", - "version": "1.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/compress-commons/-/compress-commons-1.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/compress-commons@1.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/compress-commons", - "repository_download_url": "https://registry.npmjs.org/compress-commons/-/compress-commons-1.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/compress-commons/1.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "concat-map", - "version": "0.0.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/concat-map@0.0.1", - "repository_homepage_url": "https://www.npmjs.com/package/concat-map", - "repository_download_url": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/concat-map/0.0.1" - }, - { - "type": "npm", - "namespace": null, - "name": "concat-stream", - "version": "1.5.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/readable-stream@2.0.6", - "extracted_requirement": ">=2.0.0 <2.1.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/concat-stream@1.5.1", - "repository_homepage_url": "https://www.npmjs.com/package/concat-stream", - "repository_download_url": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.1.tgz", - "api_data_url": "https://registry.npmjs.org/concat-stream/1.5.1" - }, - { - "type": "npm", - "namespace": null, - "name": "connect", - "version": "3.4.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/connect/-/connect-3.4.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/connect@3.4.1", - "repository_homepage_url": "https://www.npmjs.com/package/connect", - "repository_download_url": "https://registry.npmjs.org/connect/-/connect-3.4.1.tgz", - "api_data_url": "https://registry.npmjs.org/connect/3.4.1" - }, - { - "type": "npm", - "namespace": null, - "name": "connect-livereload", - "version": "0.5.4", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/connect-livereload/-/connect-livereload-0.5.4.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/connect-livereload@0.5.4", - "repository_homepage_url": "https://www.npmjs.com/package/connect-livereload", - "repository_download_url": "https://registry.npmjs.org/connect-livereload/-/connect-livereload-0.5.4.tgz", - "api_data_url": "https://registry.npmjs.org/connect-livereload/0.5.4" - }, - { - "type": "npm", - "namespace": null, - "name": "console-browserify", - "version": "1.1.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/console-browserify@1.1.0", - "repository_homepage_url": "https://www.npmjs.com/package/console-browserify", - "repository_download_url": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", - "api_data_url": "https://registry.npmjs.org/console-browserify/1.1.0" - }, - { - "type": "npm", - "namespace": null, - "name": "constant-case", - "version": "2.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/constant-case/-/constant-case-2.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/constant-case@2.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/constant-case", - "repository_download_url": "https://registry.npmjs.org/constant-case/-/constant-case-2.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/constant-case/2.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "constantinople", - "version": "3.1.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/constantinople/-/constantinople-3.1.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/constantinople@3.1.0", - "repository_homepage_url": "https://www.npmjs.com/package/constantinople", - "repository_download_url": "https://registry.npmjs.org/constantinople/-/constantinople-3.1.0.tgz", - "api_data_url": "https://registry.npmjs.org/constantinople/3.1.0" - }, - { - "type": "npm", - "namespace": null, - "name": "content-type", - "version": "1.0.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/content-type/-/content-type-1.0.2.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/content-type@1.0.2", - "repository_homepage_url": "https://www.npmjs.com/package/content-type", - "repository_download_url": "https://registry.npmjs.org/content-type/-/content-type-1.0.2.tgz", - "api_data_url": "https://registry.npmjs.org/content-type/1.0.2" - }, - { - "type": "npm", - "namespace": null, - "name": "core-js", - "version": "2.4.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/core-js/-/core-js-2.4.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/core-js@2.4.0", - "repository_homepage_url": "https://www.npmjs.com/package/core-js", - "repository_download_url": "https://registry.npmjs.org/core-js/-/core-js-2.4.0.tgz", - "api_data_url": "https://registry.npmjs.org/core-js/2.4.0" - }, - { - "type": "npm", - "namespace": null, - "name": "core-util-is", - "version": "1.0.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/core-util-is@1.0.2", - "repository_homepage_url": "https://www.npmjs.com/package/core-util-is", - "repository_download_url": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "api_data_url": "https://registry.npmjs.org/core-util-is/1.0.2" - }, - { - "type": "npm", - "namespace": null, - "name": "crc32-stream", - "version": "1.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-1.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/crc32-stream@1.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/crc32-stream", - "repository_download_url": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-1.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/crc32-stream/1.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "cryptiles", - "version": "2.0.5", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/cryptiles@2.0.5", - "repository_homepage_url": "https://www.npmjs.com/package/cryptiles", - "repository_download_url": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", - "api_data_url": "https://registry.npmjs.org/cryptiles/2.0.5" - }, - { - "type": "npm", - "namespace": null, - "name": "csscomb", - "version": "3.1.8", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/csscomb/-/csscomb-3.1.8.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/commander@2.0.0", - "extracted_requirement": "2.0.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/csscomb@3.1.8", - "repository_homepage_url": "https://www.npmjs.com/package/csscomb", - "repository_download_url": "https://registry.npmjs.org/csscomb/-/csscomb-3.1.8.tgz", - "api_data_url": "https://registry.npmjs.org/csscomb/3.1.8" - }, - { - "type": "npm", - "namespace": null, - "name": "csscomb-core", - "version": "3.0.0-3.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/csscomb-core/-/csscomb-core-3.0.0-3.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/minimatch@0.2.12", - "extracted_requirement": "0.2.12", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/csscomb-core@3.0.0-3.1", - "repository_homepage_url": "https://www.npmjs.com/package/csscomb-core", - "repository_download_url": "https://registry.npmjs.org/csscomb-core/-/csscomb-core-3.0.0-3.1.tgz", - "api_data_url": "https://registry.npmjs.org/csscomb-core/3.0.0-3.1" - }, - { - "type": "npm", - "namespace": null, - "name": "csslint", - "version": "0.10.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/csslint/-/csslint-0.10.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/csslint@0.10.0", - "repository_homepage_url": "https://www.npmjs.com/package/csslint", - "repository_download_url": "https://registry.npmjs.org/csslint/-/csslint-0.10.0.tgz", - "api_data_url": "https://registry.npmjs.org/csslint/0.10.0" - }, - { - "type": "npm", - "namespace": null, - "name": "cst", - "version": "0.4.4", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/cst/-/cst-0.4.4.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/cst@0.4.4", - "repository_homepage_url": "https://www.npmjs.com/package/cst", - "repository_download_url": "https://registry.npmjs.org/cst/-/cst-0.4.4.tgz", - "api_data_url": "https://registry.npmjs.org/cst/0.4.4" - }, - { - "type": "npm", - "namespace": null, - "name": "currently-unhandled", - "version": "0.4.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/currently-unhandled@0.4.1", - "repository_homepage_url": "https://www.npmjs.com/package/currently-unhandled", - "repository_download_url": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", - "api_data_url": "https://registry.npmjs.org/currently-unhandled/0.4.1" - }, - { - "type": "npm", - "namespace": null, - "name": "cycle", - "version": "1.0.3", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/cycle@1.0.3", - "repository_homepage_url": "https://www.npmjs.com/package/cycle", - "repository_download_url": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz", - "api_data_url": "https://registry.npmjs.org/cycle/1.0.3" - }, - { - "type": "npm", - "namespace": null, - "name": "dashdash", - "version": "1.14.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/assert-plus@1.0.0", - "extracted_requirement": ">=1.0.0 <2.0.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/dashdash@1.14.0", - "repository_homepage_url": "https://www.npmjs.com/package/dashdash", - "repository_download_url": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.0.tgz", - "api_data_url": "https://registry.npmjs.org/dashdash/1.14.0" - }, - { - "type": "npm", - "namespace": null, - "name": "date-now", - "version": "0.1.4", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/date-now@0.1.4", - "repository_homepage_url": "https://www.npmjs.com/package/date-now", - "repository_download_url": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", - "api_data_url": "https://registry.npmjs.org/date-now/0.1.4" - }, - { - "type": "npm", - "namespace": null, - "name": "date-time", - "version": "1.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/date-time/-/date-time-1.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/date-time@1.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/date-time", - "repository_download_url": "https://registry.npmjs.org/date-time/-/date-time-1.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/date-time/1.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "dateformat", - "version": "1.0.12", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/dateformat@1.0.12", - "repository_homepage_url": "https://www.npmjs.com/package/dateformat", - "repository_download_url": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz", - "api_data_url": "https://registry.npmjs.org/dateformat/1.0.12" - }, - { - "type": "npm", - "namespace": null, - "name": "debug", - "version": "2.2.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/debug@2.2.0", - "repository_homepage_url": "https://www.npmjs.com/package/debug", - "repository_download_url": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "api_data_url": "https://registry.npmjs.org/debug/2.2.0" - }, - { - "type": "npm", - "namespace": null, - "name": "decamelize", - "version": "1.2.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/decamelize@1.2.0", - "repository_homepage_url": "https://www.npmjs.com/package/decamelize", - "repository_download_url": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "api_data_url": "https://registry.npmjs.org/decamelize/1.2.0" - }, - { - "type": "npm", - "namespace": null, - "name": "deep-equal", - "version": "1.0.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/deep-equal@1.0.1", - "repository_homepage_url": "https://www.npmjs.com/package/deep-equal", - "repository_download_url": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/deep-equal/1.0.1" - }, - { - "type": "npm", - "namespace": null, - "name": "delayed-stream", - "version": "1.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/delayed-stream@1.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/delayed-stream", - "repository_download_url": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/delayed-stream/1.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "depd", - "version": "1.1.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/depd@1.1.0", - "repository_homepage_url": "https://www.npmjs.com/package/depd", - "repository_download_url": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz", - "api_data_url": "https://registry.npmjs.org/depd/1.1.0" - }, - { - "type": "npm", - "namespace": null, - "name": "destroy", - "version": "1.0.4", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/destroy@1.0.4", - "repository_homepage_url": "https://www.npmjs.com/package/destroy", - "repository_download_url": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "api_data_url": "https://registry.npmjs.org/destroy/1.0.4" - }, - { - "type": "npm", - "namespace": null, - "name": "diff", - "version": "1.3.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/diff/-/diff-1.3.2.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/diff@1.3.2", - "repository_homepage_url": "https://www.npmjs.com/package/diff", - "repository_download_url": "https://registry.npmjs.org/diff/-/diff-1.3.2.tgz", - "api_data_url": "https://registry.npmjs.org/diff/1.3.2" - }, - { - "type": "npm", - "namespace": null, - "name": "doctypes", - "version": "1.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/doctypes/-/doctypes-1.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/doctypes@1.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/doctypes", - "repository_download_url": "https://registry.npmjs.org/doctypes/-/doctypes-1.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/doctypes/1.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "dom-serializer", - "version": "0.1.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/domelementtype@1.1.3", - "extracted_requirement": ">=1.1.1 <1.2.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/entities@1.1.1", - "extracted_requirement": ">=1.1.1 <1.2.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/dom-serializer@0.1.0", - "repository_homepage_url": "https://www.npmjs.com/package/dom-serializer", - "repository_download_url": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", - "api_data_url": "https://registry.npmjs.org/dom-serializer/0.1.0" - }, - { - "type": "npm", - "namespace": null, - "name": "domelementtype", - "version": "1.3.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/domelementtype@1.3.0", - "repository_homepage_url": "https://www.npmjs.com/package/domelementtype", - "repository_download_url": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", - "api_data_url": "https://registry.npmjs.org/domelementtype/1.3.0" - }, - { - "type": "npm", - "namespace": null, - "name": "domhandler", - "version": "2.3.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/domhandler@2.3.0", - "repository_homepage_url": "https://www.npmjs.com/package/domhandler", - "repository_download_url": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", - "api_data_url": "https://registry.npmjs.org/domhandler/2.3.0" - }, - { - "type": "npm", - "namespace": null, - "name": "domutils", - "version": "1.5.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/domutils@1.5.1", - "repository_homepage_url": "https://www.npmjs.com/package/domutils", - "repository_download_url": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "api_data_url": "https://registry.npmjs.org/domutils/1.5.1" - }, - { - "type": "npm", - "namespace": null, - "name": "dot-case", - "version": "2.1.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/dot-case/-/dot-case-2.1.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/dot-case@2.1.0", - "repository_homepage_url": "https://www.npmjs.com/package/dot-case", - "repository_download_url": "https://registry.npmjs.org/dot-case/-/dot-case-2.1.0.tgz", - "api_data_url": "https://registry.npmjs.org/dot-case/2.1.0" - }, - { - "type": "npm", - "namespace": null, - "name": "ecc-jsbn", - "version": "0.1.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/ecc-jsbn@0.1.1", - "repository_homepage_url": "https://www.npmjs.com/package/ecc-jsbn", - "repository_download_url": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", - "api_data_url": "https://registry.npmjs.org/ecc-jsbn/0.1.1" - }, - { - "type": "npm", - "namespace": null, - "name": "ee-first", - "version": "1.1.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/ee-first@1.1.1", - "repository_homepage_url": "https://www.npmjs.com/package/ee-first", - "repository_download_url": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "api_data_url": "https://registry.npmjs.org/ee-first/1.1.1" - }, - { - "type": "npm", - "namespace": null, - "name": "encodeurl", - "version": "1.0.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/encodeurl@1.0.1", - "repository_homepage_url": "https://www.npmjs.com/package/encodeurl", - "repository_download_url": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/encodeurl/1.0.1" - }, - { - "type": "npm", - "namespace": null, - "name": "end-of-stream", - "version": "1.1.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.1.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/end-of-stream@1.1.0", - "repository_homepage_url": "https://www.npmjs.com/package/end-of-stream", - "repository_download_url": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.1.0.tgz", - "api_data_url": "https://registry.npmjs.org/end-of-stream/1.1.0" - }, - { - "type": "npm", - "namespace": null, - "name": "entities", - "version": "1.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/entities@1.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/entities", - "repository_download_url": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/entities/1.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "errno", - "version": "0.1.4", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/errno@0.1.4", - "repository_homepage_url": "https://www.npmjs.com/package/errno", - "repository_download_url": "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz", - "api_data_url": "https://registry.npmjs.org/errno/0.1.4" - }, - { - "type": "npm", - "namespace": null, - "name": "error-ex", - "version": "1.3.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/error-ex@1.3.0", - "repository_homepage_url": "https://www.npmjs.com/package/error-ex", - "repository_download_url": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.0.tgz", - "api_data_url": "https://registry.npmjs.org/error-ex/1.3.0" - }, - { - "type": "npm", - "namespace": null, - "name": "es6-promise", - "version": "2.3.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/es6-promise/-/es6-promise-2.3.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/es6-promise@2.3.0", - "repository_homepage_url": "https://www.npmjs.com/package/es6-promise", - "repository_download_url": "https://registry.npmjs.org/es6-promise/-/es6-promise-2.3.0.tgz", - "api_data_url": "https://registry.npmjs.org/es6-promise/2.3.0" - }, - { - "type": "npm", - "namespace": null, - "name": "escape-html", - "version": "1.0.3", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/escape-html@1.0.3", - "repository_homepage_url": "https://www.npmjs.com/package/escape-html", - "repository_download_url": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "api_data_url": "https://registry.npmjs.org/escape-html/1.0.3" - }, - { - "type": "npm", - "namespace": null, - "name": "escape-string-regexp", - "version": "1.0.5", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/escape-string-regexp@1.0.5", - "repository_homepage_url": "https://www.npmjs.com/package/escape-string-regexp", - "repository_download_url": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "api_data_url": "https://registry.npmjs.org/escape-string-regexp/1.0.5" - }, - { - "type": "npm", - "namespace": null, - "name": "esprima", - "version": "2.7.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/esprima/-/esprima-2.7.2.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/esprima@2.7.2", - "repository_homepage_url": "https://www.npmjs.com/package/esprima", - "repository_download_url": "https://registry.npmjs.org/esprima/-/esprima-2.7.2.tgz", - "api_data_url": "https://registry.npmjs.org/esprima/2.7.2" - }, - { - "type": "npm", - "namespace": null, - "name": "estraverse", - "version": "4.2.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/estraverse@4.2.0", - "repository_homepage_url": "https://www.npmjs.com/package/estraverse", - "repository_download_url": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "api_data_url": "https://registry.npmjs.org/estraverse/4.2.0" - }, - { - "type": "npm", - "namespace": null, - "name": "etag", - "version": "1.7.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/etag/-/etag-1.7.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/etag@1.7.0", - "repository_homepage_url": "https://www.npmjs.com/package/etag", - "repository_download_url": "https://registry.npmjs.org/etag/-/etag-1.7.0.tgz", - "api_data_url": "https://registry.npmjs.org/etag/1.7.0" - }, - { - "type": "npm", - "namespace": null, - "name": "eventemitter2", - "version": "0.4.14", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/eventemitter2@0.4.14", - "repository_homepage_url": "https://www.npmjs.com/package/eventemitter2", - "repository_download_url": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz", - "api_data_url": "https://registry.npmjs.org/eventemitter2/0.4.14" - }, - { - "type": "npm", - "namespace": null, - "name": "exit", - "version": "0.1.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/exit@0.1.2", - "repository_homepage_url": "https://www.npmjs.com/package/exit", - "repository_download_url": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "api_data_url": "https://registry.npmjs.org/exit/0.1.2" - }, - { - "type": "npm", - "namespace": null, - "name": "extend", - "version": "3.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/extend@3.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/extend", - "repository_download_url": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/extend/3.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "extract-zip", - "version": "1.5.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.5.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/concat-stream@1.5.0", - "extracted_requirement": "1.5.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/debug@0.7.4", - "extracted_requirement": "0.7.4", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/minimist@0.0.8", - "extracted_requirement": "0.0.8", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/mkdirp@0.5.0", - "extracted_requirement": "0.5.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/readable-stream@2.0.6", - "extracted_requirement": ">=2.0.0 <2.1.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/extract-zip@1.5.0", - "repository_homepage_url": "https://www.npmjs.com/package/extract-zip", - "repository_download_url": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.5.0.tgz", - "api_data_url": "https://registry.npmjs.org/extract-zip/1.5.0" - }, - { - "type": "npm", - "namespace": null, - "name": "extsprintf", - "version": "1.0.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/extsprintf@1.0.2", - "repository_homepage_url": "https://www.npmjs.com/package/extsprintf", - "repository_download_url": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz", - "api_data_url": "https://registry.npmjs.org/extsprintf/1.0.2" - }, - { - "type": "npm", - "namespace": null, - "name": "eyes", - "version": "0.1.8", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/eyes@0.1.8", - "repository_homepage_url": "https://www.npmjs.com/package/eyes", - "repository_download_url": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", - "api_data_url": "https://registry.npmjs.org/eyes/0.1.8" - }, - { - "type": "npm", - "namespace": null, - "name": "faye-websocket", - "version": "0.10.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/faye-websocket@0.10.0", - "repository_homepage_url": "https://www.npmjs.com/package/faye-websocket", - "repository_download_url": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", - "api_data_url": "https://registry.npmjs.org/faye-websocket/0.10.0" - }, - { - "type": "npm", - "namespace": null, - "name": "fd-slicer", - "version": "1.0.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/fd-slicer@1.0.1", - "repository_homepage_url": "https://www.npmjs.com/package/fd-slicer", - "repository_download_url": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/fd-slicer/1.0.1" - }, - { - "type": "npm", - "namespace": null, - "name": "fg-lodash", - "version": "0.0.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/fg-lodash/-/fg-lodash-0.0.2.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/lodash@2.4.2", - "extracted_requirement": ">=2.4.1 <3.0.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/underscore.string@2.3.3", - "extracted_requirement": ">=2.3.3 <2.4.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/fg-lodash@0.0.2", - "repository_homepage_url": "https://www.npmjs.com/package/fg-lodash", - "repository_download_url": "https://registry.npmjs.org/fg-lodash/-/fg-lodash-0.0.2.tgz", - "api_data_url": "https://registry.npmjs.org/fg-lodash/0.0.2" - }, - { - "type": "npm", - "namespace": null, - "name": "figures", - "version": "1.7.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/figures@1.7.0", - "repository_homepage_url": "https://www.npmjs.com/package/figures", - "repository_download_url": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", - "api_data_url": "https://registry.npmjs.org/figures/1.7.0" - }, - { - "type": "npm", - "namespace": null, - "name": "file-sync-cmp", - "version": "0.1.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/file-sync-cmp/-/file-sync-cmp-0.1.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/file-sync-cmp@0.1.1", - "repository_homepage_url": "https://www.npmjs.com/package/file-sync-cmp", - "repository_download_url": "https://registry.npmjs.org/file-sync-cmp/-/file-sync-cmp-0.1.1.tgz", - "api_data_url": "https://registry.npmjs.org/file-sync-cmp/0.1.1" - }, - { - "type": "npm", - "namespace": null, - "name": "finalhandler", - "version": "0.4.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/finalhandler/-/finalhandler-0.4.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/finalhandler@0.4.1", - "repository_homepage_url": "https://www.npmjs.com/package/finalhandler", - "repository_download_url": "https://registry.npmjs.org/finalhandler/-/finalhandler-0.4.1.tgz", - "api_data_url": "https://registry.npmjs.org/finalhandler/0.4.1" - }, - { - "type": "npm", - "namespace": null, - "name": "find-up", - "version": "1.1.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/find-up@1.1.2", - "repository_homepage_url": "https://www.npmjs.com/package/find-up", - "repository_download_url": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "api_data_url": "https://registry.npmjs.org/find-up/1.1.2" - }, - { - "type": "npm", - "namespace": null, - "name": "findup-sync", - "version": "0.3.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/glob@5.0.15", - "extracted_requirement": ">=5.0.0 <5.1.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/findup-sync@0.3.0", - "repository_homepage_url": "https://www.npmjs.com/package/findup-sync", - "repository_download_url": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz", - "api_data_url": "https://registry.npmjs.org/findup-sync/0.3.0" - }, - { - "type": "npm", - "namespace": null, - "name": "forever-agent", - "version": "0.6.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/forever-agent@0.6.1", - "repository_homepage_url": "https://www.npmjs.com/package/forever-agent", - "repository_download_url": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "api_data_url": "https://registry.npmjs.org/forever-agent/0.6.1" - }, - { - "type": "npm", - "namespace": null, - "name": "form-data", - "version": "1.0.0-rc4", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/form-data/-/form-data-1.0.0-rc4.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/form-data@1.0.0-rc4", - "repository_homepage_url": "https://www.npmjs.com/package/form-data", - "repository_download_url": "https://registry.npmjs.org/form-data/-/form-data-1.0.0-rc4.tgz", - "api_data_url": "https://registry.npmjs.org/form-data/1.0.0-rc4" - }, - { - "type": "npm", - "namespace": null, - "name": "fresh", - "version": "0.3.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/fresh/-/fresh-0.3.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/fresh@0.3.0", - "repository_homepage_url": "https://www.npmjs.com/package/fresh", - "repository_download_url": "https://registry.npmjs.org/fresh/-/fresh-0.3.0.tgz", - "api_data_url": "https://registry.npmjs.org/fresh/0.3.0" - }, - { - "type": "npm", - "namespace": null, - "name": "fs-extra", - "version": "0.26.7", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.26.7.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/fs-extra@0.26.7", - "repository_homepage_url": "https://www.npmjs.com/package/fs-extra", - "repository_download_url": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.26.7.tgz", - "api_data_url": "https://registry.npmjs.org/fs-extra/0.26.7" - }, - { - "type": "npm", - "namespace": null, - "name": "fs.realpath", - "version": "1.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/fs.realpath@1.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/fs.realpath", - "repository_download_url": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/fs.realpath/1.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "gaze", - "version": "1.1.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/gaze/-/gaze-1.1.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/gaze@1.1.0", - "repository_homepage_url": "https://www.npmjs.com/package/gaze", - "repository_download_url": "https://registry.npmjs.org/gaze/-/gaze-1.1.0.tgz", - "api_data_url": "https://registry.npmjs.org/gaze/1.1.0" - }, - { - "type": "npm", - "namespace": null, - "name": "generate-function", - "version": "2.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/generate-function@2.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/generate-function", - "repository_download_url": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/generate-function/2.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "generate-object-property", - "version": "1.2.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/generate-object-property@1.2.0", - "repository_homepage_url": "https://www.npmjs.com/package/generate-object-property", - "repository_download_url": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", - "api_data_url": "https://registry.npmjs.org/generate-object-property/1.2.0" - }, - { - "type": "npm", - "namespace": null, - "name": "get-stdin", - "version": "4.0.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/get-stdin@4.0.1", - "repository_homepage_url": "https://www.npmjs.com/package/get-stdin", - "repository_download_url": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/get-stdin/4.0.1" - }, - { - "type": "npm", - "namespace": null, - "name": "getobject", - "version": "0.1.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/getobject@0.1.0", - "repository_homepage_url": "https://www.npmjs.com/package/getobject", - "repository_download_url": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz", - "api_data_url": "https://registry.npmjs.org/getobject/0.1.0" - }, - { - "type": "npm", - "namespace": null, - "name": "getpass", - "version": "0.1.6", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/getpass/-/getpass-0.1.6.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/assert-plus@1.0.0", - "extracted_requirement": ">=1.0.0 <2.0.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/getpass@0.1.6", - "repository_homepage_url": "https://www.npmjs.com/package/getpass", - "repository_download_url": "https://registry.npmjs.org/getpass/-/getpass-0.1.6.tgz", - "api_data_url": "https://registry.npmjs.org/getpass/0.1.6" - }, - { - "type": "npm", - "namespace": null, - "name": "glob", - "version": "7.0.5", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/glob@7.0.5", - "repository_homepage_url": "https://www.npmjs.com/package/glob", - "repository_download_url": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz", - "api_data_url": "https://registry.npmjs.org/glob/7.0.5" - }, - { - "type": "npm", - "namespace": null, - "name": "globule", - "version": "1.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/globule/-/globule-1.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/lodash@4.9.0", - "extracted_requirement": ">=4.9.0 <4.10.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/globule@1.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/globule", - "repository_download_url": "https://registry.npmjs.org/globule/-/globule-1.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/globule/1.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "gonzales-pe", - "version": "3.0.0-28", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-3.0.0-28.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/gonzales-pe@3.0.0-28", - "repository_homepage_url": "https://www.npmjs.com/package/gonzales-pe", - "repository_download_url": "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-3.0.0-28.tgz", - "api_data_url": "https://registry.npmjs.org/gonzales-pe/3.0.0-28" - }, - { - "type": "npm", - "namespace": null, - "name": "graceful-fs", - "version": "4.1.4", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.4.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/graceful-fs@4.1.4", - "repository_homepage_url": "https://www.npmjs.com/package/graceful-fs", - "repository_download_url": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.4.tgz", - "api_data_url": "https://registry.npmjs.org/graceful-fs/4.1.4" - }, - { - "type": "npm", - "namespace": null, - "name": "graceful-readlink", - "version": "1.0.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/graceful-readlink@1.0.1", - "repository_homepage_url": "https://www.npmjs.com/package/graceful-readlink", - "repository_download_url": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/graceful-readlink/1.0.1" - }, - { - "type": "npm", - "namespace": null, - "name": "grunt", - "version": "1.0.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/grunt/-/grunt-1.0.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/grunt-cli@1.2.0", - "extracted_requirement": ">=1.2.0 <1.3.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/grunt@1.0.1", - "repository_homepage_url": "https://www.npmjs.com/package/grunt", - "repository_download_url": "https://registry.npmjs.org/grunt/-/grunt-1.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/grunt/1.0.1" - }, - { - "type": "npm", - "namespace": null, - "name": "grunt-autoprefixer", - "version": "3.0.4", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/grunt-autoprefixer/-/grunt-autoprefixer-3.0.4.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/ansi-regex@1.1.1", - "extracted_requirement": ">=1.1.0 <2.0.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/chalk@1.0.0", - "extracted_requirement": ">=1.0.0 <1.1.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/has-ansi@1.0.3", - "extracted_requirement": ">=1.0.3 <2.0.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/strip-ansi@2.0.1", - "extracted_requirement": ">=2.0.1 <3.0.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/supports-color@1.3.1", - "extracted_requirement": ">=1.3.0 <2.0.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/grunt-autoprefixer@3.0.4", - "repository_homepage_url": "https://www.npmjs.com/package/grunt-autoprefixer", - "repository_download_url": "https://registry.npmjs.org/grunt-autoprefixer/-/grunt-autoprefixer-3.0.4.tgz", - "api_data_url": "https://registry.npmjs.org/grunt-autoprefixer/3.0.4" - }, - { - "type": "npm", - "namespace": null, - "name": "grunt-contrib-clean", - "version": "1.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/grunt-contrib-clean/-/grunt-contrib-clean-1.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/rimraf@2.5.3", - "extracted_requirement": ">=2.5.1 <3.0.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/grunt-contrib-clean@1.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/grunt-contrib-clean", - "repository_download_url": "https://registry.npmjs.org/grunt-contrib-clean/-/grunt-contrib-clean-1.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/grunt-contrib-clean/1.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "grunt-contrib-compress", - "version": "1.3.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/grunt-contrib-compress/-/grunt-contrib-compress-1.3.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/lodash@4.13.1", - "extracted_requirement": ">=4.7.0 <5.0.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/grunt-contrib-compress@1.3.0", - "repository_homepage_url": "https://www.npmjs.com/package/grunt-contrib-compress", - "repository_download_url": "https://registry.npmjs.org/grunt-contrib-compress/-/grunt-contrib-compress-1.3.0.tgz", - "api_data_url": "https://registry.npmjs.org/grunt-contrib-compress/1.3.0" - }, - { - "type": "npm", - "namespace": null, - "name": "grunt-contrib-concat", - "version": "1.0.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/grunt-contrib-concat/-/grunt-contrib-concat-1.0.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/source-map@0.5.6", - "extracted_requirement": ">=0.5.3 <0.6.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/grunt-contrib-concat@1.0.1", - "repository_homepage_url": "https://www.npmjs.com/package/grunt-contrib-concat", - "repository_download_url": "https://registry.npmjs.org/grunt-contrib-concat/-/grunt-contrib-concat-1.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/grunt-contrib-concat/1.0.1" - }, - { - "type": "npm", - "namespace": null, - "name": "grunt-contrib-connect", - "version": "1.0.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/grunt-contrib-connect/-/grunt-contrib-connect-1.0.2.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/grunt-contrib-connect@1.0.2", - "repository_homepage_url": "https://www.npmjs.com/package/grunt-contrib-connect", - "repository_download_url": "https://registry.npmjs.org/grunt-contrib-connect/-/grunt-contrib-connect-1.0.2.tgz", - "api_data_url": "https://registry.npmjs.org/grunt-contrib-connect/1.0.2" - }, - { - "type": "npm", - "namespace": null, - "name": "grunt-contrib-copy", - "version": "1.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/grunt-contrib-copy/-/grunt-contrib-copy-1.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/grunt-contrib-copy@1.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/grunt-contrib-copy", - "repository_download_url": "https://registry.npmjs.org/grunt-contrib-copy/-/grunt-contrib-copy-1.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/grunt-contrib-copy/1.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "grunt-contrib-csslint", - "version": "1.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/grunt-contrib-csslint/-/grunt-contrib-csslint-1.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/grunt-contrib-csslint@1.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/grunt-contrib-csslint", - "repository_download_url": "https://registry.npmjs.org/grunt-contrib-csslint/-/grunt-contrib-csslint-1.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/grunt-contrib-csslint/1.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "grunt-contrib-cssmin", - "version": "1.0.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/grunt-contrib-cssmin/-/grunt-contrib-cssmin-1.0.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/grunt-contrib-cssmin@1.0.1", - "repository_homepage_url": "https://www.npmjs.com/package/grunt-contrib-cssmin", - "repository_download_url": "https://registry.npmjs.org/grunt-contrib-cssmin/-/grunt-contrib-cssmin-1.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/grunt-contrib-cssmin/1.0.1" - }, - { - "type": "npm", - "namespace": null, - "name": "grunt-contrib-htmlmin", - "version": "1.5.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/grunt-contrib-htmlmin/-/grunt-contrib-htmlmin-1.5.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/grunt-contrib-htmlmin@1.5.0", - "repository_homepage_url": "https://www.npmjs.com/package/grunt-contrib-htmlmin", - "repository_download_url": "https://registry.npmjs.org/grunt-contrib-htmlmin/-/grunt-contrib-htmlmin-1.5.0.tgz", - "api_data_url": "https://registry.npmjs.org/grunt-contrib-htmlmin/1.5.0" - }, - { - "type": "npm", - "namespace": null, - "name": "grunt-contrib-jshint", - "version": "1.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-1.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/grunt-contrib-jshint@1.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/grunt-contrib-jshint", - "repository_download_url": "https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-1.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/grunt-contrib-jshint/1.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "grunt-contrib-less", - "version": "1.3.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/grunt-contrib-less/-/grunt-contrib-less-1.3.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/lodash@4.13.1", - "extracted_requirement": ">=4.8.2 <5.0.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/grunt-contrib-less@1.3.0", - "repository_homepage_url": "https://www.npmjs.com/package/grunt-contrib-less", - "repository_download_url": "https://registry.npmjs.org/grunt-contrib-less/-/grunt-contrib-less-1.3.0.tgz", - "api_data_url": "https://registry.npmjs.org/grunt-contrib-less/1.3.0" - }, - { - "type": "npm", - "namespace": null, - "name": "grunt-contrib-pug", - "version": "1.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/grunt-contrib-pug/-/grunt-contrib-pug-1.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/grunt-contrib-pug@1.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/grunt-contrib-pug", - "repository_download_url": "https://registry.npmjs.org/grunt-contrib-pug/-/grunt-contrib-pug-1.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/grunt-contrib-pug/1.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "grunt-contrib-qunit", - "version": "0.7.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/grunt-contrib-qunit/-/grunt-contrib-qunit-0.7.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/grunt-contrib-qunit@0.7.0", - "repository_homepage_url": "https://www.npmjs.com/package/grunt-contrib-qunit", - "repository_download_url": "https://registry.npmjs.org/grunt-contrib-qunit/-/grunt-contrib-qunit-0.7.0.tgz", - "api_data_url": "https://registry.npmjs.org/grunt-contrib-qunit/0.7.0" - }, - { - "type": "npm", - "namespace": null, - "name": "grunt-contrib-uglify", - "version": "1.0.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-1.0.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/lodash@4.13.1", - "extracted_requirement": ">=4.0.1 <5.0.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/grunt-contrib-uglify@1.0.1", - "repository_homepage_url": "https://www.npmjs.com/package/grunt-contrib-uglify", - "repository_download_url": "https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-1.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/grunt-contrib-uglify/1.0.1" - }, - { - "type": "npm", - "namespace": null, - "name": "grunt-contrib-watch", - "version": "1.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/grunt-contrib-watch/-/grunt-contrib-watch-1.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/grunt-contrib-watch@1.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/grunt-contrib-watch", - "repository_download_url": "https://registry.npmjs.org/grunt-contrib-watch/-/grunt-contrib-watch-1.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/grunt-contrib-watch/1.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "grunt-csscomb", - "version": "3.1.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/grunt-csscomb/-/grunt-csscomb-3.1.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/grunt-csscomb@3.1.1", - "repository_homepage_url": "https://www.npmjs.com/package/grunt-csscomb", - "repository_download_url": "https://registry.npmjs.org/grunt-csscomb/-/grunt-csscomb-3.1.1.tgz", - "api_data_url": "https://registry.npmjs.org/grunt-csscomb/3.1.1" - }, - { - "type": "npm", - "namespace": null, - "name": "grunt-exec", - "version": "1.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/grunt-exec/-/grunt-exec-1.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/grunt-exec@1.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/grunt-exec", - "repository_download_url": "https://registry.npmjs.org/grunt-exec/-/grunt-exec-1.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/grunt-exec/1.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "grunt-html", - "version": "8.0.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/grunt-html/-/grunt-html-8.0.2.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/grunt-html@8.0.2", - "repository_homepage_url": "https://www.npmjs.com/package/grunt-html", - "repository_download_url": "https://registry.npmjs.org/grunt-html/-/grunt-html-8.0.2.tgz", - "api_data_url": "https://registry.npmjs.org/grunt-html/8.0.2" - }, - { - "type": "npm", - "namespace": null, - "name": "grunt-jekyll", - "version": "0.4.4", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/grunt-jekyll/-/grunt-jekyll-0.4.4.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/grunt-jekyll@0.4.4", - "repository_homepage_url": "https://www.npmjs.com/package/grunt-jekyll", - "repository_download_url": "https://registry.npmjs.org/grunt-jekyll/-/grunt-jekyll-0.4.4.tgz", - "api_data_url": "https://registry.npmjs.org/grunt-jekyll/0.4.4" - }, - { - "type": "npm", - "namespace": null, - "name": "grunt-jscs", - "version": "3.0.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/grunt-jscs/-/grunt-jscs-3.0.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/lodash@4.6.1", - "extracted_requirement": ">=4.6.1 <4.7.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/grunt-jscs@3.0.1", - "repository_homepage_url": "https://www.npmjs.com/package/grunt-jscs", - "repository_download_url": "https://registry.npmjs.org/grunt-jscs/-/grunt-jscs-3.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/grunt-jscs/3.0.1" - }, - { - "type": "npm", - "namespace": null, - "name": "grunt-known-options", - "version": "1.1.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-1.1.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/grunt-known-options@1.1.0", - "repository_homepage_url": "https://www.npmjs.com/package/grunt-known-options", - "repository_download_url": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-1.1.0.tgz", - "api_data_url": "https://registry.npmjs.org/grunt-known-options/1.1.0" - }, - { - "type": "npm", - "namespace": null, - "name": "grunt-legacy-log", - "version": "1.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-1.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/grunt-legacy-log@1.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/grunt-legacy-log", - "repository_download_url": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-1.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/grunt-legacy-log/1.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "grunt-legacy-log-utils", - "version": "1.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-1.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/lodash@4.3.0", - "extracted_requirement": ">=4.3.0 <4.4.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/grunt-legacy-log-utils@1.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/grunt-legacy-log-utils", - "repository_download_url": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-1.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/grunt-legacy-log-utils/1.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "grunt-legacy-util", - "version": "1.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-1.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/lodash@4.3.0", - "extracted_requirement": ">=4.3.0 <4.4.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/grunt-legacy-util@1.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/grunt-legacy-util", - "repository_download_url": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-1.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/grunt-legacy-util/1.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "grunt-lib-phantomjs", - "version": "0.6.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/grunt-lib-phantomjs/-/grunt-lib-phantomjs-0.6.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/semver@1.0.14", - "extracted_requirement": ">=1.0.14 <1.1.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/grunt-lib-phantomjs@0.6.0", - "repository_homepage_url": "https://www.npmjs.com/package/grunt-lib-phantomjs", - "repository_download_url": "https://registry.npmjs.org/grunt-lib-phantomjs/-/grunt-lib-phantomjs-0.6.0.tgz", - "api_data_url": "https://registry.npmjs.org/grunt-lib-phantomjs/0.6.0" - }, - { - "type": "npm", - "namespace": null, - "name": "grunt-saucelabs", - "version": "9.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/grunt-saucelabs/-/grunt-saucelabs-9.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/lodash@4.13.1", - "extracted_requirement": ">=4.13.1 <4.14.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/grunt-saucelabs@9.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/grunt-saucelabs", - "repository_download_url": "https://registry.npmjs.org/grunt-saucelabs/-/grunt-saucelabs-9.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/grunt-saucelabs/9.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "gzip-size", - "version": "1.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/gzip-size/-/gzip-size-1.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/gzip-size@1.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/gzip-size", - "repository_download_url": "https://registry.npmjs.org/gzip-size/-/gzip-size-1.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/gzip-size/1.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "har-validator", - "version": "2.0.6", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/commander@2.9.0", - "extracted_requirement": ">=2.9.0 <3.0.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/har-validator@2.0.6", - "repository_homepage_url": "https://www.npmjs.com/package/har-validator", - "repository_download_url": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", - "api_data_url": "https://registry.npmjs.org/har-validator/2.0.6" - }, - { - "type": "npm", - "namespace": null, - "name": "has-ansi", - "version": "2.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/has-ansi@2.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/has-ansi", - "repository_download_url": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/has-ansi/2.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "has-color", - "version": "0.1.7", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/has-color@0.1.7", - "repository_homepage_url": "https://www.npmjs.com/package/has-color", - "repository_download_url": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz", - "api_data_url": "https://registry.npmjs.org/has-color/0.1.7" - }, - { - "type": "npm", - "namespace": null, - "name": "hasha", - "version": "2.2.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/hasha/-/hasha-2.2.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/hasha@2.2.0", - "repository_homepage_url": "https://www.npmjs.com/package/hasha", - "repository_download_url": "https://registry.npmjs.org/hasha/-/hasha-2.2.0.tgz", - "api_data_url": "https://registry.npmjs.org/hasha/2.2.0" - }, - { - "type": "npm", - "namespace": null, - "name": "hawk", - "version": "3.1.3", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/hawk@3.1.3", - "repository_homepage_url": "https://www.npmjs.com/package/hawk", - "repository_download_url": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", - "api_data_url": "https://registry.npmjs.org/hawk/3.1.3" - }, - { - "type": "npm", - "namespace": null, - "name": "he", - "version": "1.1.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/he/-/he-1.1.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/he@1.1.0", - "repository_homepage_url": "https://www.npmjs.com/package/he", - "repository_download_url": "https://registry.npmjs.org/he/-/he-1.1.0.tgz", - "api_data_url": "https://registry.npmjs.org/he/1.1.0" - }, - { - "type": "npm", - "namespace": null, - "name": "header-case", - "version": "1.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/header-case/-/header-case-1.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/header-case@1.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/header-case", - "repository_download_url": "https://registry.npmjs.org/header-case/-/header-case-1.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/header-case/1.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "hoek", - "version": "2.16.3", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/hoek@2.16.3", - "repository_homepage_url": "https://www.npmjs.com/package/hoek", - "repository_download_url": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", - "api_data_url": "https://registry.npmjs.org/hoek/2.16.3" - }, - { - "type": "npm", - "namespace": null, - "name": "hooker", - "version": "0.2.3", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/hooker@0.2.3", - "repository_homepage_url": "https://www.npmjs.com/package/hooker", - "repository_download_url": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz", - "api_data_url": "https://registry.npmjs.org/hooker/0.2.3" - }, - { - "type": "npm", - "namespace": null, - "name": "hosted-git-info", - "version": "2.1.5", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.1.5.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/hosted-git-info@2.1.5", - "repository_homepage_url": "https://www.npmjs.com/package/hosted-git-info", - "repository_download_url": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.1.5.tgz", - "api_data_url": "https://registry.npmjs.org/hosted-git-info/2.1.5" - }, - { - "type": "npm", - "namespace": null, - "name": "html-minifier", - "version": "2.1.7", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/html-minifier/-/html-minifier-2.1.7.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/commander@2.9.0", - "extracted_requirement": ">=2.9.0 <2.10.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/html-minifier@2.1.7", - "repository_homepage_url": "https://www.npmjs.com/package/html-minifier", - "repository_download_url": "https://registry.npmjs.org/html-minifier/-/html-minifier-2.1.7.tgz", - "api_data_url": "https://registry.npmjs.org/html-minifier/2.1.7" - }, - { - "type": "npm", - "namespace": null, - "name": "htmlparser2", - "version": "3.8.3", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/isarray@0.0.1", - "extracted_requirement": "0.0.1", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/readable-stream@1.1.14", - "extracted_requirement": ">=1.1.0 <1.2.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/htmlparser2@3.8.3", - "repository_homepage_url": "https://www.npmjs.com/package/htmlparser2", - "repository_download_url": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", - "api_data_url": "https://registry.npmjs.org/htmlparser2/3.8.3" - }, - { - "type": "npm", - "namespace": null, - "name": "http-errors", - "version": "1.5.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/http-errors/-/http-errors-1.5.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/http-errors@1.5.0", - "repository_homepage_url": "https://www.npmjs.com/package/http-errors", - "repository_download_url": "https://registry.npmjs.org/http-errors/-/http-errors-1.5.0.tgz", - "api_data_url": "https://registry.npmjs.org/http-errors/1.5.0" - }, - { - "type": "npm", - "namespace": null, - "name": "http-signature", - "version": "1.1.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/http-signature@1.1.1", - "repository_homepage_url": "https://www.npmjs.com/package/http-signature", - "repository_download_url": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", - "api_data_url": "https://registry.npmjs.org/http-signature/1.1.1" - }, - { - "type": "npm", - "namespace": null, - "name": "http2", - "version": "3.3.4", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/http2/-/http2-3.3.4.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/http2@3.3.4", - "repository_homepage_url": "https://www.npmjs.com/package/http2", - "repository_download_url": "https://registry.npmjs.org/http2/-/http2-3.3.4.tgz", - "api_data_url": "https://registry.npmjs.org/http2/3.3.4" - }, - { - "type": "npm", - "namespace": null, - "name": "https-proxy-agent", - "version": "1.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/https-proxy-agent@1.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/https-proxy-agent", - "repository_download_url": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/https-proxy-agent/1.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "i", - "version": "0.3.5", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/i/-/i-0.3.5.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/i@0.3.5", - "repository_homepage_url": "https://www.npmjs.com/package/i", - "repository_download_url": "https://registry.npmjs.org/i/-/i-0.3.5.tgz", - "api_data_url": "https://registry.npmjs.org/i/0.3.5" - }, - { - "type": "npm", - "namespace": null, - "name": "iconv-lite", - "version": "0.4.13", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/iconv-lite@0.4.13", - "repository_homepage_url": "https://www.npmjs.com/package/iconv-lite", - "repository_download_url": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz", - "api_data_url": "https://registry.npmjs.org/iconv-lite/0.4.13" - }, - { - "type": "npm", - "namespace": null, - "name": "image-size", - "version": "0.4.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/image-size/-/image-size-0.4.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/image-size@0.4.0", - "repository_homepage_url": "https://www.npmjs.com/package/image-size", - "repository_download_url": "https://registry.npmjs.org/image-size/-/image-size-0.4.0.tgz", - "api_data_url": "https://registry.npmjs.org/image-size/0.4.0" - }, - { - "type": "npm", - "namespace": null, - "name": "indent-string", - "version": "2.1.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/indent-string@2.1.0", - "repository_homepage_url": "https://www.npmjs.com/package/indent-string", - "repository_download_url": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", - "api_data_url": "https://registry.npmjs.org/indent-string/2.1.0" - }, - { - "type": "npm", - "namespace": null, - "name": "inflight", - "version": "1.0.5", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/inflight/-/inflight-1.0.5.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/inflight@1.0.5", - "repository_homepage_url": "https://www.npmjs.com/package/inflight", - "repository_download_url": "https://registry.npmjs.org/inflight/-/inflight-1.0.5.tgz", - "api_data_url": "https://registry.npmjs.org/inflight/1.0.5" - }, - { - "type": "npm", - "namespace": null, - "name": "inherit", - "version": "2.2.4", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/inherit/-/inherit-2.2.4.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/inherit@2.2.4", - "repository_homepage_url": "https://www.npmjs.com/package/inherit", - "repository_download_url": "https://registry.npmjs.org/inherit/-/inherit-2.2.4.tgz", - "api_data_url": "https://registry.npmjs.org/inherit/2.2.4" - }, - { - "type": "npm", - "namespace": null, - "name": "inherits", - "version": "2.0.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/inherits@2.0.1", - "repository_homepage_url": "https://www.npmjs.com/package/inherits", - "repository_download_url": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/inherits/2.0.1" - }, - { - "type": "npm", - "namespace": null, - "name": "interpret", - "version": "1.0.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/interpret/-/interpret-1.0.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/interpret@1.0.1", - "repository_homepage_url": "https://www.npmjs.com/package/interpret", - "repository_download_url": "https://registry.npmjs.org/interpret/-/interpret-1.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/interpret/1.0.1" - }, - { - "type": "npm", - "namespace": null, - "name": "is-arrayish", - "version": "0.2.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/is-arrayish@0.2.1", - "repository_homepage_url": "https://www.npmjs.com/package/is-arrayish", - "repository_download_url": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "api_data_url": "https://registry.npmjs.org/is-arrayish/0.2.1" - }, - { - "type": "npm", - "namespace": null, - "name": "is-buffer", - "version": "1.1.3", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.3.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/is-buffer@1.1.3", - "repository_homepage_url": "https://www.npmjs.com/package/is-buffer", - "repository_download_url": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.3.tgz", - "api_data_url": "https://registry.npmjs.org/is-buffer/1.1.3" - }, - { - "type": "npm", - "namespace": null, - "name": "is-builtin-module", - "version": "1.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/is-builtin-module@1.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/is-builtin-module", - "repository_download_url": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/is-builtin-module/1.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "is-expression", - "version": "2.0.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/is-expression/-/is-expression-2.0.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/acorn@3.1.0", - "extracted_requirement": ">=3.1.0 <3.2.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/is-expression@2.0.1", - "repository_homepage_url": "https://www.npmjs.com/package/is-expression", - "repository_download_url": "https://registry.npmjs.org/is-expression/-/is-expression-2.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/is-expression/2.0.1" - }, - { - "type": "npm", - "namespace": null, - "name": "is-finite", - "version": "1.0.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/is-finite@1.0.1", - "repository_homepage_url": "https://www.npmjs.com/package/is-finite", - "repository_download_url": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/is-finite/1.0.1" - }, - { - "type": "npm", - "namespace": null, - "name": "is-lower-case", - "version": "1.1.3", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/is-lower-case/-/is-lower-case-1.1.3.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/is-lower-case@1.1.3", - "repository_homepage_url": "https://www.npmjs.com/package/is-lower-case", - "repository_download_url": "https://registry.npmjs.org/is-lower-case/-/is-lower-case-1.1.3.tgz", - "api_data_url": "https://registry.npmjs.org/is-lower-case/1.1.3" - }, - { - "type": "npm", - "namespace": null, - "name": "is-my-json-valid", - "version": "2.13.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.13.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/is-my-json-valid@2.13.1", - "repository_homepage_url": "https://www.npmjs.com/package/is-my-json-valid", - "repository_download_url": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.13.1.tgz", - "api_data_url": "https://registry.npmjs.org/is-my-json-valid/2.13.1" - }, - { - "type": "npm", - "namespace": null, - "name": "is-promise", - "version": "2.1.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/is-promise@2.1.0", - "repository_homepage_url": "https://www.npmjs.com/package/is-promise", - "repository_download_url": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", - "api_data_url": "https://registry.npmjs.org/is-promise/2.1.0" - }, - { - "type": "npm", - "namespace": null, - "name": "is-property", - "version": "1.0.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/is-property@1.0.2", - "repository_homepage_url": "https://www.npmjs.com/package/is-property", - "repository_download_url": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", - "api_data_url": "https://registry.npmjs.org/is-property/1.0.2" - }, - { - "type": "npm", - "namespace": null, - "name": "is-regex", - "version": "1.0.3", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.3.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/is-regex@1.0.3", - "repository_homepage_url": "https://www.npmjs.com/package/is-regex", - "repository_download_url": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.3.tgz", - "api_data_url": "https://registry.npmjs.org/is-regex/1.0.3" - }, - { - "type": "npm", - "namespace": null, - "name": "is-stream", - "version": "1.1.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/is-stream@1.1.0", - "repository_homepage_url": "https://www.npmjs.com/package/is-stream", - "repository_download_url": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "api_data_url": "https://registry.npmjs.org/is-stream/1.1.0" - }, - { - "type": "npm", - "namespace": null, - "name": "is-typedarray", - "version": "1.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/is-typedarray@1.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/is-typedarray", - "repository_download_url": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/is-typedarray/1.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "is-upper-case", - "version": "1.1.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/is-upper-case/-/is-upper-case-1.1.2.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/is-upper-case@1.1.2", - "repository_homepage_url": "https://www.npmjs.com/package/is-upper-case", - "repository_download_url": "https://registry.npmjs.org/is-upper-case/-/is-upper-case-1.1.2.tgz", - "api_data_url": "https://registry.npmjs.org/is-upper-case/1.1.2" - }, - { - "type": "npm", - "namespace": null, - "name": "is-utf8", - "version": "0.2.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/is-utf8@0.2.1", - "repository_homepage_url": "https://www.npmjs.com/package/is-utf8", - "repository_download_url": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "api_data_url": "https://registry.npmjs.org/is-utf8/0.2.1" - }, - { - "type": "npm", - "namespace": null, - "name": "isarray", - "version": "1.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/isarray@1.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/isarray", - "repository_download_url": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/isarray/1.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "isexe", - "version": "1.1.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/isexe/-/isexe-1.1.2.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/isexe@1.1.2", - "repository_homepage_url": "https://www.npmjs.com/package/isexe", - "repository_download_url": "https://registry.npmjs.org/isexe/-/isexe-1.1.2.tgz", - "api_data_url": "https://registry.npmjs.org/isexe/1.1.2" - }, - { - "type": "npm", - "namespace": null, - "name": "isstream", - "version": "0.1.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/isstream@0.1.2", - "repository_homepage_url": "https://www.npmjs.com/package/isstream", - "repository_download_url": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "api_data_url": "https://registry.npmjs.org/isstream/0.1.2" - }, - { - "type": "npm", - "namespace": null, - "name": "jodid25519", - "version": "1.0.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/jodid25519@1.0.2", - "repository_homepage_url": "https://www.npmjs.com/package/jodid25519", - "repository_download_url": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz", - "api_data_url": "https://registry.npmjs.org/jodid25519/1.0.2" - }, - { - "type": "npm", - "namespace": null, - "name": "js-base64", - "version": "2.1.9", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/js-base64/-/js-base64-2.1.9.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/js-base64@2.1.9", - "repository_homepage_url": "https://www.npmjs.com/package/js-base64", - "repository_download_url": "https://registry.npmjs.org/js-base64/-/js-base64-2.1.9.tgz", - "api_data_url": "https://registry.npmjs.org/js-base64/2.1.9" - }, - { - "type": "npm", - "namespace": null, - "name": "js-stringify", - "version": "1.0.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/js-stringify/-/js-stringify-1.0.2.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/js-stringify@1.0.2", - "repository_homepage_url": "https://www.npmjs.com/package/js-stringify", - "repository_download_url": "https://registry.npmjs.org/js-stringify/-/js-stringify-1.0.2.tgz", - "api_data_url": "https://registry.npmjs.org/js-stringify/1.0.2" - }, - { - "type": "npm", - "namespace": null, - "name": "js-yaml", - "version": "3.5.5", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.5.5.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/js-yaml@3.5.5", - "repository_homepage_url": "https://www.npmjs.com/package/js-yaml", - "repository_download_url": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.5.5.tgz", - "api_data_url": "https://registry.npmjs.org/js-yaml/3.5.5" - }, - { - "type": "npm", - "namespace": null, - "name": "jsbn", - "version": "0.1.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/jsbn@0.1.0", - "repository_homepage_url": "https://www.npmjs.com/package/jsbn", - "repository_download_url": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz", - "api_data_url": "https://registry.npmjs.org/jsbn/0.1.0" - }, - { - "type": "npm", - "namespace": null, - "name": "jscs", - "version": "3.0.7", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/jscs/-/jscs-3.0.7.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/commander@2.9.0", - "extracted_requirement": ">=2.9.0 <2.10.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/glob@5.0.15", - "extracted_requirement": ">=5.0.1 <6.0.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/js-yaml@3.4.6", - "extracted_requirement": ">=3.4.0 <3.5.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/vow@0.4.12", - "extracted_requirement": ">=0.4.8 <0.5.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/vow-fs@0.3.5", - "extracted_requirement": ">=0.3.4 <0.4.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/vow-queue@0.4.2", - "extracted_requirement": ">=0.4.1 <0.5.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/jscs@3.0.7", - "repository_homepage_url": "https://www.npmjs.com/package/jscs", - "repository_download_url": "https://registry.npmjs.org/jscs/-/jscs-3.0.7.tgz", - "api_data_url": "https://registry.npmjs.org/jscs/3.0.7" - }, - { - "type": "npm", - "namespace": null, - "name": "jscs-jsdoc", - "version": "2.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/jscs-jsdoc/-/jscs-jsdoc-2.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/jscs-jsdoc@2.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/jscs-jsdoc", - "repository_download_url": "https://registry.npmjs.org/jscs-jsdoc/-/jscs-jsdoc-2.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/jscs-jsdoc/2.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "jscs-preset-wikimedia", - "version": "1.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/jscs-preset-wikimedia/-/jscs-preset-wikimedia-1.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/jscs-preset-wikimedia@1.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/jscs-preset-wikimedia", - "repository_download_url": "https://registry.npmjs.org/jscs-preset-wikimedia/-/jscs-preset-wikimedia-1.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/jscs-preset-wikimedia/1.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "jsdoctypeparser", - "version": "1.2.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/jsdoctypeparser/-/jsdoctypeparser-1.2.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/jsdoctypeparser@1.2.0", - "repository_homepage_url": "https://www.npmjs.com/package/jsdoctypeparser", - "repository_download_url": "https://registry.npmjs.org/jsdoctypeparser/-/jsdoctypeparser-1.2.0.tgz", - "api_data_url": "https://registry.npmjs.org/jsdoctypeparser/1.2.0" - }, - { - "type": "npm", - "namespace": null, - "name": "jshint", - "version": "2.9.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/jshint/-/jshint-2.9.2.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/lodash@3.7.0", - "extracted_requirement": ">=3.7.0 <3.8.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/minimatch@2.0.10", - "extracted_requirement": ">=2.0.0 <2.1.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/shelljs@0.3.0", - "extracted_requirement": ">=0.3.0 <0.4.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/jshint@2.9.2", - "repository_homepage_url": "https://www.npmjs.com/package/jshint", - "repository_download_url": "https://registry.npmjs.org/jshint/-/jshint-2.9.2.tgz", - "api_data_url": "https://registry.npmjs.org/jshint/2.9.2" - }, - { - "type": "npm", - "namespace": null, - "name": "json-schema", - "version": "0.2.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.2.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/json-schema@0.2.2", - "repository_homepage_url": "https://www.npmjs.com/package/json-schema", - "repository_download_url": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.2.tgz", - "api_data_url": "https://registry.npmjs.org/json-schema/0.2.2" - }, - { - "type": "npm", - "namespace": null, - "name": "json-stringify-safe", - "version": "5.0.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/json-stringify-safe@5.0.1", - "repository_homepage_url": "https://www.npmjs.com/package/json-stringify-safe", - "repository_download_url": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/json-stringify-safe/5.0.1" - }, - { - "type": "npm", - "namespace": null, - "name": "jsonfile", - "version": "2.3.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.3.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/jsonfile@2.3.1", - "repository_homepage_url": "https://www.npmjs.com/package/jsonfile", - "repository_download_url": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.3.1.tgz", - "api_data_url": "https://registry.npmjs.org/jsonfile/2.3.1" - }, - { - "type": "npm", - "namespace": null, - "name": "jsonlint", - "version": "1.6.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/jsonlint/-/jsonlint-1.6.2.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/jsonlint@1.6.2", - "repository_homepage_url": "https://www.npmjs.com/package/jsonlint", - "repository_download_url": "https://registry.npmjs.org/jsonlint/-/jsonlint-1.6.2.tgz", - "api_data_url": "https://registry.npmjs.org/jsonlint/1.6.2" - }, - { - "type": "npm", - "namespace": null, - "name": "jsonpointer", - "version": "2.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-2.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/jsonpointer@2.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/jsonpointer", - "repository_download_url": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-2.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/jsonpointer/2.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "jsprim", - "version": "1.3.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/jsprim/-/jsprim-1.3.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/jsprim@1.3.0", - "repository_homepage_url": "https://www.npmjs.com/package/jsprim", - "repository_download_url": "https://registry.npmjs.org/jsprim/-/jsprim-1.3.0.tgz", - "api_data_url": "https://registry.npmjs.org/jsprim/1.3.0" - }, - { - "type": "npm", - "namespace": null, - "name": "jstransformer", - "version": "1.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/jstransformer@1.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/jstransformer", - "repository_download_url": "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/jstransformer/1.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "JSV", - "version": "4.0.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/JSV/-/JSV-4.0.2.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/JSV@4.0.2", - "repository_homepage_url": "https://www.npmjs.com/package/JSV", - "repository_download_url": "https://registry.npmjs.org/JSV/-/JSV-4.0.2.tgz", - "api_data_url": "https://registry.npmjs.org/JSV/4.0.2" - }, - { - "type": "npm", - "namespace": null, - "name": "kew", - "version": "0.7.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/kew/-/kew-0.7.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/kew@0.7.0", - "repository_homepage_url": "https://www.npmjs.com/package/kew", - "repository_download_url": "https://registry.npmjs.org/kew/-/kew-0.7.0.tgz", - "api_data_url": "https://registry.npmjs.org/kew/0.7.0" - }, - { - "type": "npm", - "namespace": null, - "name": "kind-of", - "version": "3.0.3", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/kind-of/-/kind-of-3.0.3.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/kind-of@3.0.3", - "repository_homepage_url": "https://www.npmjs.com/package/kind-of", - "repository_download_url": "https://registry.npmjs.org/kind-of/-/kind-of-3.0.3.tgz", - "api_data_url": "https://registry.npmjs.org/kind-of/3.0.3" - }, - { - "type": "npm", - "namespace": null, - "name": "klaw", - "version": "1.3.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/klaw/-/klaw-1.3.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/klaw@1.3.0", - "repository_homepage_url": "https://www.npmjs.com/package/klaw", - "repository_download_url": "https://registry.npmjs.org/klaw/-/klaw-1.3.0.tgz", - "api_data_url": "https://registry.npmjs.org/klaw/1.3.0" - }, - { - "type": "npm", - "namespace": null, - "name": "lazy-cache", - "version": "1.0.4", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/lazy-cache@1.0.4", - "repository_homepage_url": "https://www.npmjs.com/package/lazy-cache", - "repository_download_url": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "api_data_url": "https://registry.npmjs.org/lazy-cache/1.0.4" - }, - { - "type": "npm", - "namespace": null, - "name": "lazystream", - "version": "1.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/lazystream@1.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/lazystream", - "repository_download_url": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/lazystream/1.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "less", - "version": "2.6.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/less/-/less-2.6.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/source-map@0.5.6", - "extracted_requirement": ">=0.5.3 <0.6.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/less@2.6.1", - "repository_homepage_url": "https://www.npmjs.com/package/less", - "repository_download_url": "https://registry.npmjs.org/less/-/less-2.6.1.tgz", - "api_data_url": "https://registry.npmjs.org/less/2.6.1" - }, - { - "type": "npm", - "namespace": null, - "name": "linkify-it", - "version": "2.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/linkify-it@2.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/linkify-it", - "repository_download_url": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/linkify-it/2.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "livereload-js", - "version": "2.2.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.2.2.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/livereload-js@2.2.2", - "repository_homepage_url": "https://www.npmjs.com/package/livereload-js", - "repository_download_url": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.2.2.tgz", - "api_data_url": "https://registry.npmjs.org/livereload-js/2.2.2" - }, - { - "type": "npm", - "namespace": null, - "name": "load-grunt-tasks", - "version": "3.5.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/load-grunt-tasks/-/load-grunt-tasks-3.5.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/load-grunt-tasks@3.5.0", - "repository_homepage_url": "https://www.npmjs.com/package/load-grunt-tasks", - "repository_download_url": "https://registry.npmjs.org/load-grunt-tasks/-/load-grunt-tasks-3.5.0.tgz", - "api_data_url": "https://registry.npmjs.org/load-grunt-tasks/3.5.0" - }, - { - "type": "npm", - "namespace": null, - "name": "load-json-file", - "version": "1.1.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/load-json-file@1.1.0", - "repository_homepage_url": "https://www.npmjs.com/package/load-json-file", - "repository_download_url": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "api_data_url": "https://registry.npmjs.org/load-json-file/1.1.0" - }, - { - "type": "npm", - "namespace": null, - "name": "lodash", - "version": "3.10.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/lodash@3.10.1", - "repository_homepage_url": "https://www.npmjs.com/package/lodash", - "repository_download_url": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", - "api_data_url": "https://registry.npmjs.org/lodash/3.10.1" - }, - { - "type": "npm", - "namespace": null, - "name": "longest", - "version": "1.0.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/longest@1.0.1", - "repository_homepage_url": "https://www.npmjs.com/package/longest", - "repository_download_url": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/longest/1.0.1" - }, - { - "type": "npm", - "namespace": null, - "name": "loud-rejection", - "version": "1.6.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/loud-rejection@1.6.0", - "repository_homepage_url": "https://www.npmjs.com/package/loud-rejection", - "repository_download_url": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", - "api_data_url": "https://registry.npmjs.org/loud-rejection/1.6.0" - }, - { - "type": "npm", - "namespace": null, - "name": "lower-case", - "version": "1.1.3", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.3.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/lower-case@1.1.3", - "repository_homepage_url": "https://www.npmjs.com/package/lower-case", - "repository_download_url": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.3.tgz", - "api_data_url": "https://registry.npmjs.org/lower-case/1.1.3" - }, - { - "type": "npm", - "namespace": null, - "name": "lower-case-first", - "version": "1.0.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/lower-case-first/-/lower-case-first-1.0.2.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/lower-case-first@1.0.2", - "repository_homepage_url": "https://www.npmjs.com/package/lower-case-first", - "repository_download_url": "https://registry.npmjs.org/lower-case-first/-/lower-case-first-1.0.2.tgz", - "api_data_url": "https://registry.npmjs.org/lower-case-first/1.0.2" - }, - { - "type": "npm", - "namespace": null, - "name": "lru-cache", - "version": "2.7.3", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/lru-cache@2.7.3", - "repository_homepage_url": "https://www.npmjs.com/package/lru-cache", - "repository_download_url": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", - "api_data_url": "https://registry.npmjs.org/lru-cache/2.7.3" - }, - { - "type": "npm", - "namespace": null, - "name": "map-obj", - "version": "1.0.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/map-obj@1.0.1", - "repository_homepage_url": "https://www.npmjs.com/package/map-obj", - "repository_download_url": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/map-obj/1.0.1" - }, - { - "type": "npm", - "namespace": null, - "name": "markdown-it", - "version": "7.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/markdown-it/-/markdown-it-7.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/entities@1.1.1", - "extracted_requirement": ">=1.1.1 <1.2.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/markdown-it@7.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/markdown-it", - "repository_download_url": "https://registry.npmjs.org/markdown-it/-/markdown-it-7.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/markdown-it/7.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "maxmin", - "version": "1.1.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/maxmin/-/maxmin-1.1.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/pretty-bytes@1.0.4", - "extracted_requirement": ">=1.0.0 <2.0.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/maxmin@1.1.0", - "repository_homepage_url": "https://www.npmjs.com/package/maxmin", - "repository_download_url": "https://registry.npmjs.org/maxmin/-/maxmin-1.1.0.tgz", - "api_data_url": "https://registry.npmjs.org/maxmin/1.1.0" - }, - { - "type": "npm", - "namespace": null, - "name": "mdurl", - "version": "1.0.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/mdurl@1.0.1", - "repository_homepage_url": "https://www.npmjs.com/package/mdurl", - "repository_download_url": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/mdurl/1.0.1" - }, - { - "type": "npm", - "namespace": null, - "name": "media-typer", - "version": "0.3.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/media-typer@0.3.0", - "repository_homepage_url": "https://www.npmjs.com/package/media-typer", - "repository_download_url": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "api_data_url": "https://registry.npmjs.org/media-typer/0.3.0" - }, - { - "type": "npm", - "namespace": null, - "name": "meow", - "version": "3.7.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/meow@3.7.0", - "repository_homepage_url": "https://www.npmjs.com/package/meow", - "repository_download_url": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", - "api_data_url": "https://registry.npmjs.org/meow/3.7.0" - }, - { - "type": "npm", - "namespace": null, - "name": "mime", - "version": "1.3.4", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/mime@1.3.4", - "repository_homepage_url": "https://www.npmjs.com/package/mime", - "repository_download_url": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz", - "api_data_url": "https://registry.npmjs.org/mime/1.3.4" - }, - { - "type": "npm", - "namespace": null, - "name": "mime-db", - "version": "1.23.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/mime-db/-/mime-db-1.23.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/mime-db@1.23.0", - "repository_homepage_url": "https://www.npmjs.com/package/mime-db", - "repository_download_url": "https://registry.npmjs.org/mime-db/-/mime-db-1.23.0.tgz", - "api_data_url": "https://registry.npmjs.org/mime-db/1.23.0" - }, - { - "type": "npm", - "namespace": null, - "name": "mime-types", - "version": "2.1.11", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/mime-types@2.1.11", - "repository_homepage_url": "https://www.npmjs.com/package/mime-types", - "repository_download_url": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz", - "api_data_url": "https://registry.npmjs.org/mime-types/2.1.11" - }, - { - "type": "npm", - "namespace": null, - "name": "minimatch", - "version": "3.0.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.2.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/minimatch@3.0.2", - "repository_homepage_url": "https://www.npmjs.com/package/minimatch", - "repository_download_url": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.2.tgz", - "api_data_url": "https://registry.npmjs.org/minimatch/3.0.2" - }, - { - "type": "npm", - "namespace": null, - "name": "minimist", - "version": "1.2.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/minimist@1.2.0", - "repository_homepage_url": "https://www.npmjs.com/package/minimist", - "repository_download_url": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "api_data_url": "https://registry.npmjs.org/minimist/1.2.0" - }, - { - "type": "npm", - "namespace": null, - "name": "mkdirp", - "version": "0.5.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/minimist@0.0.8", - "extracted_requirement": "0.0.8", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/mkdirp@0.5.1", - "repository_homepage_url": "https://www.npmjs.com/package/mkdirp", - "repository_download_url": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "api_data_url": "https://registry.npmjs.org/mkdirp/0.5.1" - }, - { - "type": "npm", - "namespace": null, - "name": "morgan", - "version": "1.7.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/morgan/-/morgan-1.7.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/morgan@1.7.0", - "repository_homepage_url": "https://www.npmjs.com/package/morgan", - "repository_download_url": "https://registry.npmjs.org/morgan/-/morgan-1.7.0.tgz", - "api_data_url": "https://registry.npmjs.org/morgan/1.7.0" - }, - { - "type": "npm", - "namespace": null, - "name": "ms", - "version": "0.7.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/ms@0.7.1", - "repository_homepage_url": "https://www.npmjs.com/package/ms", - "repository_download_url": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", - "api_data_url": "https://registry.npmjs.org/ms/0.7.1" - }, - { - "type": "npm", - "namespace": null, - "name": "multimatch", - "version": "2.1.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/multimatch/-/multimatch-2.1.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/multimatch@2.1.0", - "repository_homepage_url": "https://www.npmjs.com/package/multimatch", - "repository_download_url": "https://registry.npmjs.org/multimatch/-/multimatch-2.1.0.tgz", - "api_data_url": "https://registry.npmjs.org/multimatch/2.1.0" - }, - { - "type": "npm", - "namespace": null, - "name": "mute-stream", - "version": "0.0.6", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.6.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/mute-stream@0.0.6", - "repository_homepage_url": "https://www.npmjs.com/package/mute-stream", - "repository_download_url": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.6.tgz", - "api_data_url": "https://registry.npmjs.org/mute-stream/0.0.6" - }, - { - "type": "npm", - "namespace": null, - "name": "natural-compare", - "version": "1.2.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.2.2.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/natural-compare@1.2.2", - "repository_homepage_url": "https://www.npmjs.com/package/natural-compare", - "repository_download_url": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.2.2.tgz", - "api_data_url": "https://registry.npmjs.org/natural-compare/1.2.2" - }, - { - "type": "npm", - "namespace": null, - "name": "ncname", - "version": "1.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/ncname/-/ncname-1.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/ncname@1.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/ncname", - "repository_download_url": "https://registry.npmjs.org/ncname/-/ncname-1.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/ncname/1.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "ncp", - "version": "0.4.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/ncp@0.4.2", - "repository_homepage_url": "https://www.npmjs.com/package/ncp", - "repository_download_url": "https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz", - "api_data_url": "https://registry.npmjs.org/ncp/0.4.2" - }, - { - "type": "npm", - "namespace": null, - "name": "negotiator", - "version": "0.6.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/negotiator@0.6.1", - "repository_homepage_url": "https://www.npmjs.com/package/negotiator", - "repository_download_url": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", - "api_data_url": "https://registry.npmjs.org/negotiator/0.6.1" - }, - { - "type": "npm", - "namespace": null, - "name": "no-case", - "version": "2.3.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/no-case/-/no-case-2.3.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/no-case@2.3.0", - "repository_homepage_url": "https://www.npmjs.com/package/no-case", - "repository_download_url": "https://registry.npmjs.org/no-case/-/no-case-2.3.0.tgz", - "api_data_url": "https://registry.npmjs.org/no-case/2.3.0" - }, - { - "type": "npm", - "namespace": null, - "name": "node-int64", - "version": "0.4.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/node-int64@0.4.0", - "repository_homepage_url": "https://www.npmjs.com/package/node-int64", - "repository_download_url": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "api_data_url": "https://registry.npmjs.org/node-int64/0.4.0" - }, - { - "type": "npm", - "namespace": null, - "name": "node-uuid", - "version": "1.4.7", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/node-uuid@1.4.7", - "repository_homepage_url": "https://www.npmjs.com/package/node-uuid", - "repository_download_url": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz", - "api_data_url": "https://registry.npmjs.org/node-uuid/1.4.7" - }, - { - "type": "npm", - "namespace": null, - "name": "nomnom", - "version": "1.8.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/nomnom/-/nomnom-1.8.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/ansi-styles@1.0.0", - "extracted_requirement": ">=1.0.0 <1.1.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/chalk@0.4.0", - "extracted_requirement": ">=0.4.0 <0.5.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/strip-ansi@0.1.1", - "extracted_requirement": ">=0.1.0 <0.2.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/nomnom@1.8.1", - "repository_homepage_url": "https://www.npmjs.com/package/nomnom", - "repository_download_url": "https://registry.npmjs.org/nomnom/-/nomnom-1.8.1.tgz", - "api_data_url": "https://registry.npmjs.org/nomnom/1.8.1" - }, - { - "type": "npm", - "namespace": null, - "name": "nopt", - "version": "3.0.6", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/nopt@3.0.6", - "repository_homepage_url": "https://www.npmjs.com/package/nopt", - "repository_download_url": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "api_data_url": "https://registry.npmjs.org/nopt/3.0.6" - }, - { - "type": "npm", - "namespace": null, - "name": "normalize-package-data", - "version": "2.3.5", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.5.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/normalize-package-data@2.3.5", - "repository_homepage_url": "https://www.npmjs.com/package/normalize-package-data", - "repository_download_url": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.5.tgz", - "api_data_url": "https://registry.npmjs.org/normalize-package-data/2.3.5" - }, - { - "type": "npm", - "namespace": null, - "name": "normalize-path", - "version": "2.0.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.0.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/normalize-path@2.0.1", - "repository_homepage_url": "https://www.npmjs.com/package/normalize-path", - "repository_download_url": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/normalize-path/2.0.1" - }, - { - "type": "npm", - "namespace": null, - "name": "num2fraction", - "version": "1.2.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/num2fraction@1.2.2", - "repository_homepage_url": "https://www.npmjs.com/package/num2fraction", - "repository_download_url": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", - "api_data_url": "https://registry.npmjs.org/num2fraction/1.2.2" - }, - { - "type": "npm", - "namespace": null, - "name": "number-is-nan", - "version": "1.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/number-is-nan@1.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/number-is-nan", - "repository_download_url": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/number-is-nan/1.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "oauth-sign", - "version": "0.8.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/oauth-sign@0.8.2", - "repository_homepage_url": "https://www.npmjs.com/package/oauth-sign", - "repository_download_url": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", - "api_data_url": "https://registry.npmjs.org/oauth-sign/0.8.2" - }, - { - "type": "npm", - "namespace": null, - "name": "object-assign", - "version": "4.1.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/object-assign@4.1.0", - "repository_homepage_url": "https://www.npmjs.com/package/object-assign", - "repository_download_url": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz", - "api_data_url": "https://registry.npmjs.org/object-assign/4.1.0" - }, - { - "type": "npm", - "namespace": null, - "name": "on-finished", - "version": "2.3.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/on-finished@2.3.0", - "repository_homepage_url": "https://www.npmjs.com/package/on-finished", - "repository_download_url": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "api_data_url": "https://registry.npmjs.org/on-finished/2.3.0" - }, - { - "type": "npm", - "namespace": null, - "name": "on-headers", - "version": "1.0.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/on-headers@1.0.1", - "repository_homepage_url": "https://www.npmjs.com/package/on-headers", - "repository_download_url": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/on-headers/1.0.1" - }, - { - "type": "npm", - "namespace": null, - "name": "once", - "version": "1.3.3", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/once@1.3.3", - "repository_homepage_url": "https://www.npmjs.com/package/once", - "repository_download_url": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", - "api_data_url": "https://registry.npmjs.org/once/1.3.3" - }, - { - "type": "npm", - "namespace": null, - "name": "opn", - "version": "4.0.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/opn/-/opn-4.0.2.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/opn@4.0.2", - "repository_homepage_url": "https://www.npmjs.com/package/opn", - "repository_download_url": "https://registry.npmjs.org/opn/-/opn-4.0.2.tgz", - "api_data_url": "https://registry.npmjs.org/opn/4.0.2" - }, - { - "type": "npm", - "namespace": null, - "name": "os-tmpdir", - "version": "1.0.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/os-tmpdir@1.0.1", - "repository_homepage_url": "https://www.npmjs.com/package/os-tmpdir", - "repository_download_url": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/os-tmpdir/1.0.1" - }, - { - "type": "npm", - "namespace": null, - "name": "package", - "version": "1.0.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/package/-/package-1.0.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/package@1.0.1", - "repository_homepage_url": "https://www.npmjs.com/package/package", - "repository_download_url": "https://registry.npmjs.org/package/-/package-1.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/package/1.0.1" - }, - { - "type": "npm", - "namespace": null, - "name": "pako", - "version": "0.2.8", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/pako/-/pako-0.2.8.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/pako@0.2.8", - "repository_homepage_url": "https://www.npmjs.com/package/pako", - "repository_download_url": "https://registry.npmjs.org/pako/-/pako-0.2.8.tgz", - "api_data_url": "https://registry.npmjs.org/pako/0.2.8" - }, - { - "type": "npm", - "namespace": null, - "name": "param-case", - "version": "2.1.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/param-case/-/param-case-2.1.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/param-case@2.1.0", - "repository_homepage_url": "https://www.npmjs.com/package/param-case", - "repository_download_url": "https://registry.npmjs.org/param-case/-/param-case-2.1.0.tgz", - "api_data_url": "https://registry.npmjs.org/param-case/2.1.0" - }, - { - "type": "npm", - "namespace": null, - "name": "parse-json", - "version": "2.2.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/parse-json@2.2.0", - "repository_homepage_url": "https://www.npmjs.com/package/parse-json", - "repository_download_url": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "api_data_url": "https://registry.npmjs.org/parse-json/2.2.0" - }, - { - "type": "npm", - "namespace": null, - "name": "parse-ms", - "version": "1.0.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/parse-ms/-/parse-ms-1.0.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/parse-ms@1.0.1", - "repository_homepage_url": "https://www.npmjs.com/package/parse-ms", - "repository_download_url": "https://registry.npmjs.org/parse-ms/-/parse-ms-1.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/parse-ms/1.0.1" - }, - { - "type": "npm", - "namespace": null, - "name": "parserlib", - "version": "0.2.5", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/parserlib/-/parserlib-0.2.5.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/parserlib@0.2.5", - "repository_homepage_url": "https://www.npmjs.com/package/parserlib", - "repository_download_url": "https://registry.npmjs.org/parserlib/-/parserlib-0.2.5.tgz", - "api_data_url": "https://registry.npmjs.org/parserlib/0.2.5" - }, - { - "type": "npm", - "namespace": null, - "name": "parseurl", - "version": "1.3.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/parseurl@1.3.1", - "repository_homepage_url": "https://www.npmjs.com/package/parseurl", - "repository_download_url": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz", - "api_data_url": "https://registry.npmjs.org/parseurl/1.3.1" - }, - { - "type": "npm", - "namespace": null, - "name": "pascal-case", - "version": "2.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/pascal-case/-/pascal-case-2.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/pascal-case@2.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/pascal-case", - "repository_download_url": "https://registry.npmjs.org/pascal-case/-/pascal-case-2.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/pascal-case/2.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "path-case", - "version": "2.1.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/path-case/-/path-case-2.1.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/path-case@2.1.0", - "repository_homepage_url": "https://www.npmjs.com/package/path-case", - "repository_download_url": "https://registry.npmjs.org/path-case/-/path-case-2.1.0.tgz", - "api_data_url": "https://registry.npmjs.org/path-case/2.1.0" - }, - { - "type": "npm", - "namespace": null, - "name": "path-exists", - "version": "2.1.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/path-exists@2.1.0", - "repository_homepage_url": "https://www.npmjs.com/package/path-exists", - "repository_download_url": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "api_data_url": "https://registry.npmjs.org/path-exists/2.1.0" - }, - { - "type": "npm", - "namespace": null, - "name": "path-is-absolute", - "version": "1.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/path-is-absolute@1.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/path-is-absolute", - "repository_download_url": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/path-is-absolute/1.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "path-type", - "version": "1.1.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/path-type@1.1.0", - "repository_homepage_url": "https://www.npmjs.com/package/path-type", - "repository_download_url": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "api_data_url": "https://registry.npmjs.org/path-type/1.1.0" - }, - { - "type": "npm", - "namespace": null, - "name": "pathval", - "version": "0.1.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/pathval/-/pathval-0.1.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/pathval@0.1.1", - "repository_homepage_url": "https://www.npmjs.com/package/pathval", - "repository_download_url": "https://registry.npmjs.org/pathval/-/pathval-0.1.1.tgz", - "api_data_url": "https://registry.npmjs.org/pathval/0.1.1" - }, - { - "type": "npm", - "namespace": null, - "name": "pend", - "version": "1.2.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/pend@1.2.0", - "repository_homepage_url": "https://www.npmjs.com/package/pend", - "repository_download_url": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "api_data_url": "https://registry.npmjs.org/pend/1.2.0" - }, - { - "type": "npm", - "namespace": null, - "name": "phantomjs", - "version": "1.9.20", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/phantomjs/-/phantomjs-1.9.20.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/bl@1.0.3", - "extracted_requirement": ">=1.0.0 <1.1.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/qs@5.2.0", - "extracted_requirement": ">=5.2.0 <5.3.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/readable-stream@2.0.6", - "extracted_requirement": ">=2.0.5 <2.1.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/request@2.67.0", - "extracted_requirement": ">=2.67.0 <2.68.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/phantomjs@1.9.20", - "repository_homepage_url": "https://www.npmjs.com/package/phantomjs", - "repository_download_url": "https://registry.npmjs.org/phantomjs/-/phantomjs-1.9.20.tgz", - "api_data_url": "https://registry.npmjs.org/phantomjs/1.9.20" - }, - { - "type": "npm", - "namespace": null, - "name": "pify", - "version": "2.3.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/pify@2.3.0", - "repository_homepage_url": "https://www.npmjs.com/package/pify", - "repository_download_url": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "api_data_url": "https://registry.npmjs.org/pify/2.3.0" - }, - { - "type": "npm", - "namespace": null, - "name": "pinkie", - "version": "2.0.4", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/pinkie@2.0.4", - "repository_homepage_url": "https://www.npmjs.com/package/pinkie", - "repository_download_url": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "api_data_url": "https://registry.npmjs.org/pinkie/2.0.4" - }, - { - "type": "npm", - "namespace": null, - "name": "pinkie-promise", - "version": "2.0.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/pinkie-promise@2.0.1", - "repository_homepage_url": "https://www.npmjs.com/package/pinkie-promise", - "repository_download_url": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/pinkie-promise/2.0.1" - }, - { - "type": "npm", - "namespace": null, - "name": "pkg-up", - "version": "1.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/pkg-up/-/pkg-up-1.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/pkg-up@1.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/pkg-up", - "repository_download_url": "https://registry.npmjs.org/pkg-up/-/pkg-up-1.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/pkg-up/1.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "pkginfo", - "version": "0.4.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/pkginfo@0.4.0", - "repository_homepage_url": "https://www.npmjs.com/package/pkginfo", - "repository_download_url": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.0.tgz", - "api_data_url": "https://registry.npmjs.org/pkginfo/0.4.0" - }, - { - "type": "npm", - "namespace": null, - "name": "plur", - "version": "1.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/plur/-/plur-1.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/plur@1.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/plur", - "repository_download_url": "https://registry.npmjs.org/plur/-/plur-1.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/plur/1.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "portscanner", - "version": "1.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/portscanner/-/portscanner-1.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/async@0.1.15", - "extracted_requirement": "0.1.15", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/portscanner@1.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/portscanner", - "repository_download_url": "https://registry.npmjs.org/portscanner/-/portscanner-1.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/portscanner/1.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "postcss", - "version": "4.1.16", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/postcss/-/postcss-4.1.16.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/postcss@4.1.16", - "repository_homepage_url": "https://www.npmjs.com/package/postcss", - "repository_download_url": "https://registry.npmjs.org/postcss/-/postcss-4.1.16.tgz", - "api_data_url": "https://registry.npmjs.org/postcss/4.1.16" - }, - { - "type": "npm", - "namespace": null, - "name": "pretty-bytes", - "version": "3.0.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-3.0.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/pretty-bytes@3.0.1", - "repository_homepage_url": "https://www.npmjs.com/package/pretty-bytes", - "repository_download_url": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-3.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/pretty-bytes/3.0.1" - }, - { - "type": "npm", - "namespace": null, - "name": "pretty-ms", - "version": "2.1.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-2.1.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/pretty-ms@2.1.0", - "repository_homepage_url": "https://www.npmjs.com/package/pretty-ms", - "repository_download_url": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-2.1.0.tgz", - "api_data_url": "https://registry.npmjs.org/pretty-ms/2.1.0" - }, - { - "type": "npm", - "namespace": null, - "name": "process-nextick-args", - "version": "1.0.7", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/process-nextick-args@1.0.7", - "repository_homepage_url": "https://www.npmjs.com/package/process-nextick-args", - "repository_download_url": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "api_data_url": "https://registry.npmjs.org/process-nextick-args/1.0.7" - }, - { - "type": "npm", - "namespace": null, - "name": "progress", - "version": "1.1.8", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/progress@1.1.8", - "repository_homepage_url": "https://www.npmjs.com/package/progress", - "repository_download_url": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", - "api_data_url": "https://registry.npmjs.org/progress/1.1.8" - }, - { - "type": "npm", - "namespace": null, - "name": "promise", - "version": "7.1.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/promise/-/promise-7.1.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/promise@7.1.1", - "repository_homepage_url": "https://www.npmjs.com/package/promise", - "repository_download_url": "https://registry.npmjs.org/promise/-/promise-7.1.1.tgz", - "api_data_url": "https://registry.npmjs.org/promise/7.1.1" - }, - { - "type": "npm", - "namespace": null, - "name": "prompt", - "version": "0.2.14", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/prompt/-/prompt-0.2.14.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/prompt@0.2.14", - "repository_homepage_url": "https://www.npmjs.com/package/prompt", - "repository_download_url": "https://registry.npmjs.org/prompt/-/prompt-0.2.14.tgz", - "api_data_url": "https://registry.npmjs.org/prompt/0.2.14" - }, - { - "type": "npm", - "namespace": null, - "name": "prr", - "version": "0.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/prr@0.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/prr", - "repository_download_url": "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/prr/0.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "pug", - "version": "2.0.0-beta3", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/pug/-/pug-2.0.0-beta3.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/pug@2.0.0-beta3", - "repository_homepage_url": "https://www.npmjs.com/package/pug", - "repository_download_url": "https://registry.npmjs.org/pug/-/pug-2.0.0-beta3.tgz", - "api_data_url": "https://registry.npmjs.org/pug/2.0.0-beta3" - }, - { - "type": "npm", - "namespace": null, - "name": "pug-attrs", - "version": "2.0.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/pug-attrs/-/pug-attrs-2.0.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/pug-attrs@2.0.1", - "repository_homepage_url": "https://www.npmjs.com/package/pug-attrs", - "repository_download_url": "https://registry.npmjs.org/pug-attrs/-/pug-attrs-2.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/pug-attrs/2.0.1" - }, - { - "type": "npm", - "namespace": null, - "name": "pug-code-gen", - "version": "0.0.7", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-0.0.7.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/pug-code-gen@0.0.7", - "repository_homepage_url": "https://www.npmjs.com/package/pug-code-gen", - "repository_download_url": "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-0.0.7.tgz", - "api_data_url": "https://registry.npmjs.org/pug-code-gen/0.0.7" - }, - { - "type": "npm", - "namespace": null, - "name": "pug-error", - "version": "1.3.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/pug-error/-/pug-error-1.3.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/pug-error@1.3.1", - "repository_homepage_url": "https://www.npmjs.com/package/pug-error", - "repository_download_url": "https://registry.npmjs.org/pug-error/-/pug-error-1.3.1.tgz", - "api_data_url": "https://registry.npmjs.org/pug-error/1.3.1" - }, - { - "type": "npm", - "namespace": null, - "name": "pug-filters", - "version": "1.2.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/pug-filters/-/pug-filters-1.2.2.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/pug-filters@1.2.2", - "repository_homepage_url": "https://www.npmjs.com/package/pug-filters", - "repository_download_url": "https://registry.npmjs.org/pug-filters/-/pug-filters-1.2.2.tgz", - "api_data_url": "https://registry.npmjs.org/pug-filters/1.2.2" - }, - { - "type": "npm", - "namespace": null, - "name": "pug-lexer", - "version": "2.0.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/pug-lexer/-/pug-lexer-2.0.2.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/pug-lexer@2.0.2", - "repository_homepage_url": "https://www.npmjs.com/package/pug-lexer", - "repository_download_url": "https://registry.npmjs.org/pug-lexer/-/pug-lexer-2.0.2.tgz", - "api_data_url": "https://registry.npmjs.org/pug-lexer/2.0.2" - }, - { - "type": "npm", - "namespace": null, - "name": "pug-linker", - "version": "1.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/pug-linker/-/pug-linker-1.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/pug-linker@1.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/pug-linker", - "repository_download_url": "https://registry.npmjs.org/pug-linker/-/pug-linker-1.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/pug-linker/1.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "pug-load", - "version": "2.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/pug-load/-/pug-load-2.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/pug-load@2.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/pug-load", - "repository_download_url": "https://registry.npmjs.org/pug-load/-/pug-load-2.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/pug-load/2.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "pug-parser", - "version": "2.0.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/pug-parser/-/pug-parser-2.0.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/pug-parser@2.0.1", - "repository_homepage_url": "https://www.npmjs.com/package/pug-parser", - "repository_download_url": "https://registry.npmjs.org/pug-parser/-/pug-parser-2.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/pug-parser/2.0.1" - }, - { - "type": "npm", - "namespace": null, - "name": "pug-runtime", - "version": "2.0.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/pug-runtime/-/pug-runtime-2.0.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/pug-runtime@2.0.1", - "repository_homepage_url": "https://www.npmjs.com/package/pug-runtime", - "repository_download_url": "https://registry.npmjs.org/pug-runtime/-/pug-runtime-2.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/pug-runtime/2.0.1" - }, - { - "type": "npm", - "namespace": null, - "name": "pug-strip-comments", - "version": "0.0.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/pug-strip-comments/-/pug-strip-comments-0.0.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/pug-error@0.0.0", - "extracted_requirement": ">=0.0.0 <0.0.1", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/pug-strip-comments@0.0.1", - "repository_homepage_url": "https://www.npmjs.com/package/pug-strip-comments", - "repository_download_url": "https://registry.npmjs.org/pug-strip-comments/-/pug-strip-comments-0.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/pug-strip-comments/0.0.1" - }, - { - "type": "npm", - "namespace": null, - "name": "pug-walk", - "version": "0.0.3", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/pug-walk/-/pug-walk-0.0.3.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/pug-walk@0.0.3", - "repository_homepage_url": "https://www.npmjs.com/package/pug-walk", - "repository_download_url": "https://registry.npmjs.org/pug-walk/-/pug-walk-0.0.3.tgz", - "api_data_url": "https://registry.npmjs.org/pug-walk/0.0.3" - }, - { - "type": "npm", - "namespace": null, - "name": "q", - "version": "1.4.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/q/-/q-1.4.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/q@1.4.1", - "repository_homepage_url": "https://www.npmjs.com/package/q", - "repository_download_url": "https://registry.npmjs.org/q/-/q-1.4.1.tgz", - "api_data_url": "https://registry.npmjs.org/q/1.4.1" - }, - { - "type": "npm", - "namespace": null, - "name": "qs", - "version": "6.2.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/qs/-/qs-6.2.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/qs@6.2.0", - "repository_homepage_url": "https://www.npmjs.com/package/qs", - "repository_download_url": "https://registry.npmjs.org/qs/-/qs-6.2.0.tgz", - "api_data_url": "https://registry.npmjs.org/qs/6.2.0" - }, - { - "type": "npm", - "namespace": null, - "name": "range-parser", - "version": "1.2.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/range-parser@1.2.0", - "repository_homepage_url": "https://www.npmjs.com/package/range-parser", - "repository_download_url": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "api_data_url": "https://registry.npmjs.org/range-parser/1.2.0" - }, - { - "type": "npm", - "namespace": null, - "name": "raw-body", - "version": "2.1.7", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/bytes@2.4.0", - "extracted_requirement": "2.4.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/raw-body@2.1.7", - "repository_homepage_url": "https://www.npmjs.com/package/raw-body", - "repository_download_url": "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz", - "api_data_url": "https://registry.npmjs.org/raw-body/2.1.7" - }, - { - "type": "npm", - "namespace": null, - "name": "read", - "version": "1.0.7", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/read@1.0.7", - "repository_homepage_url": "https://www.npmjs.com/package/read", - "repository_download_url": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", - "api_data_url": "https://registry.npmjs.org/read/1.0.7" - }, - { - "type": "npm", - "namespace": null, - "name": "read-pkg", - "version": "1.1.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/read-pkg@1.1.0", - "repository_homepage_url": "https://www.npmjs.com/package/read-pkg", - "repository_download_url": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "api_data_url": "https://registry.npmjs.org/read-pkg/1.1.0" - }, - { - "type": "npm", - "namespace": null, - "name": "read-pkg-up", - "version": "1.0.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/read-pkg-up@1.0.1", - "repository_homepage_url": "https://www.npmjs.com/package/read-pkg-up", - "repository_download_url": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/read-pkg-up/1.0.1" - }, - { - "type": "npm", - "namespace": null, - "name": "readable-stream", - "version": "2.1.4", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.4.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/readable-stream@2.1.4", - "repository_homepage_url": "https://www.npmjs.com/package/readable-stream", - "repository_download_url": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.4.tgz", - "api_data_url": "https://registry.npmjs.org/readable-stream/2.1.4" - }, - { - "type": "npm", - "namespace": null, - "name": "rechoir", - "version": "0.6.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/rechoir@0.6.2", - "repository_homepage_url": "https://www.npmjs.com/package/rechoir", - "repository_download_url": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "api_data_url": "https://registry.npmjs.org/rechoir/0.6.2" - }, - { - "type": "npm", - "namespace": null, - "name": "redent", - "version": "1.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/redent@1.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/redent", - "repository_download_url": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/redent/1.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "regenerator-runtime", - "version": "0.9.5", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.9.5.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/regenerator-runtime@0.9.5", - "repository_homepage_url": "https://www.npmjs.com/package/regenerator-runtime", - "repository_download_url": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.9.5.tgz", - "api_data_url": "https://registry.npmjs.org/regenerator-runtime/0.9.5" - }, - { - "type": "npm", - "namespace": null, - "name": "relateurl", - "version": "0.2.6", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.6.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/relateurl@0.2.6", - "repository_homepage_url": "https://www.npmjs.com/package/relateurl", - "repository_download_url": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.6.tgz", - "api_data_url": "https://registry.npmjs.org/relateurl/0.2.6" - }, - { - "type": "npm", - "namespace": null, - "name": "repeat-string", - "version": "1.5.4", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.5.4.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/repeat-string@1.5.4", - "repository_homepage_url": "https://www.npmjs.com/package/repeat-string", - "repository_download_url": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.5.4.tgz", - "api_data_url": "https://registry.npmjs.org/repeat-string/1.5.4" - }, - { - "type": "npm", - "namespace": null, - "name": "repeating", - "version": "2.0.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/repeating@2.0.1", - "repository_homepage_url": "https://www.npmjs.com/package/repeating", - "repository_download_url": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/repeating/2.0.1" - }, - { - "type": "npm", - "namespace": null, - "name": "request", - "version": "2.73.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/request/-/request-2.73.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/request@2.73.0", - "repository_homepage_url": "https://www.npmjs.com/package/request", - "repository_download_url": "https://registry.npmjs.org/request/-/request-2.73.0.tgz", - "api_data_url": "https://registry.npmjs.org/request/2.73.0" - }, - { - "type": "npm", - "namespace": null, - "name": "request-progress", - "version": "2.0.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/request-progress/-/request-progress-2.0.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/request-progress@2.0.1", - "repository_homepage_url": "https://www.npmjs.com/package/request-progress", - "repository_download_url": "https://registry.npmjs.org/request-progress/-/request-progress-2.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/request-progress/2.0.1" - }, - { - "type": "npm", - "namespace": null, - "name": "requestretry", - "version": "1.9.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/requestretry/-/requestretry-1.9.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/requestretry@1.9.0", - "repository_homepage_url": "https://www.npmjs.com/package/requestretry", - "repository_download_url": "https://registry.npmjs.org/requestretry/-/requestretry-1.9.0.tgz", - "api_data_url": "https://registry.npmjs.org/requestretry/1.9.0" - }, - { - "type": "npm", - "namespace": null, - "name": "reserved-words", - "version": "0.1.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/reserved-words/-/reserved-words-0.1.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/reserved-words@0.1.1", - "repository_homepage_url": "https://www.npmjs.com/package/reserved-words", - "repository_download_url": "https://registry.npmjs.org/reserved-words/-/reserved-words-0.1.1.tgz", - "api_data_url": "https://registry.npmjs.org/reserved-words/0.1.1" - }, - { - "type": "npm", - "namespace": null, - "name": "resolve", - "version": "1.1.7", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/resolve@1.1.7", - "repository_homepage_url": "https://www.npmjs.com/package/resolve", - "repository_download_url": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "api_data_url": "https://registry.npmjs.org/resolve/1.1.7" - }, - { - "type": "npm", - "namespace": null, - "name": "resolve-from", - "version": "2.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/resolve-from@2.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/resolve-from", - "repository_download_url": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/resolve-from/2.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "resolve-pkg", - "version": "0.1.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/resolve-pkg/-/resolve-pkg-0.1.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/resolve-pkg@0.1.0", - "repository_homepage_url": "https://www.npmjs.com/package/resolve-pkg", - "repository_download_url": "https://registry.npmjs.org/resolve-pkg/-/resolve-pkg-0.1.0.tgz", - "api_data_url": "https://registry.npmjs.org/resolve-pkg/0.1.0" - }, - { - "type": "npm", - "namespace": null, - "name": "revalidator", - "version": "0.1.8", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/revalidator/-/revalidator-0.1.8.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/revalidator@0.1.8", - "repository_homepage_url": "https://www.npmjs.com/package/revalidator", - "repository_download_url": "https://registry.npmjs.org/revalidator/-/revalidator-0.1.8.tgz", - "api_data_url": "https://registry.npmjs.org/revalidator/0.1.8" - }, - { - "type": "npm", - "namespace": null, - "name": "right-align", - "version": "0.1.3", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/right-align@0.1.3", - "repository_homepage_url": "https://www.npmjs.com/package/right-align", - "repository_download_url": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", - "api_data_url": "https://registry.npmjs.org/right-align/0.1.3" - }, - { - "type": "npm", - "namespace": null, - "name": "rimraf", - "version": "2.2.8", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/rimraf@2.2.8", - "repository_homepage_url": "https://www.npmjs.com/package/rimraf", - "repository_download_url": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", - "api_data_url": "https://registry.npmjs.org/rimraf/2.2.8" - }, - { - "type": "npm", - "namespace": null, - "name": "sauce-tunnel", - "version": "2.5.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/sauce-tunnel/-/sauce-tunnel-2.5.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/sauce-tunnel@2.5.0", - "repository_homepage_url": "https://www.npmjs.com/package/sauce-tunnel", - "repository_download_url": "https://registry.npmjs.org/sauce-tunnel/-/sauce-tunnel-2.5.0.tgz", - "api_data_url": "https://registry.npmjs.org/sauce-tunnel/2.5.0" - }, - { - "type": "npm", - "namespace": null, - "name": "saucelabs", - "version": "1.2.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/saucelabs/-/saucelabs-1.2.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/saucelabs@1.2.0", - "repository_homepage_url": "https://www.npmjs.com/package/saucelabs", - "repository_download_url": "https://registry.npmjs.org/saucelabs/-/saucelabs-1.2.0.tgz", - "api_data_url": "https://registry.npmjs.org/saucelabs/1.2.0" - }, - { - "type": "npm", - "namespace": null, - "name": "semver", - "version": "5.2.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/semver/-/semver-5.2.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/semver@5.2.0", - "repository_homepage_url": "https://www.npmjs.com/package/semver", - "repository_download_url": "https://registry.npmjs.org/semver/-/semver-5.2.0.tgz", - "api_data_url": "https://registry.npmjs.org/semver/5.2.0" - }, - { - "type": "npm", - "namespace": null, - "name": "send", - "version": "0.14.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/send/-/send-0.14.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/send@0.14.1", - "repository_homepage_url": "https://www.npmjs.com/package/send", - "repository_download_url": "https://registry.npmjs.org/send/-/send-0.14.1.tgz", - "api_data_url": "https://registry.npmjs.org/send/0.14.1" - }, - { - "type": "npm", - "namespace": null, - "name": "sentence-case", - "version": "2.1.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/sentence-case/-/sentence-case-2.1.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/sentence-case@2.1.0", - "repository_homepage_url": "https://www.npmjs.com/package/sentence-case", - "repository_download_url": "https://registry.npmjs.org/sentence-case/-/sentence-case-2.1.0.tgz", - "api_data_url": "https://registry.npmjs.org/sentence-case/2.1.0" - }, - { - "type": "npm", - "namespace": null, - "name": "serve-index", - "version": "1.8.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/serve-index/-/serve-index-1.8.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/serve-index@1.8.0", - "repository_homepage_url": "https://www.npmjs.com/package/serve-index", - "repository_download_url": "https://registry.npmjs.org/serve-index/-/serve-index-1.8.0.tgz", - "api_data_url": "https://registry.npmjs.org/serve-index/1.8.0" - }, - { - "type": "npm", - "namespace": null, - "name": "serve-static", - "version": "1.11.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/serve-static/-/serve-static-1.11.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/serve-static@1.11.1", - "repository_homepage_url": "https://www.npmjs.com/package/serve-static", - "repository_download_url": "https://registry.npmjs.org/serve-static/-/serve-static-1.11.1.tgz", - "api_data_url": "https://registry.npmjs.org/serve-static/1.11.1" - }, - { - "type": "npm", - "namespace": null, - "name": "setprototypeof", - "version": "1.0.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/setprototypeof@1.0.1", - "repository_homepage_url": "https://www.npmjs.com/package/setprototypeof", - "repository_download_url": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/setprototypeof/1.0.1" - }, - { - "type": "npm", - "namespace": null, - "name": "shelljs", - "version": "0.7.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/shelljs@0.7.0", - "repository_homepage_url": "https://www.npmjs.com/package/shelljs", - "repository_download_url": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.0.tgz", - "api_data_url": "https://registry.npmjs.org/shelljs/0.7.0" - }, - { - "type": "npm", - "namespace": null, - "name": "shx", - "version": "0.1.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/shx/-/shx-0.1.2.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/shx@0.1.2", - "repository_homepage_url": "https://www.npmjs.com/package/shx", - "repository_download_url": "https://registry.npmjs.org/shx/-/shx-0.1.2.tgz", - "api_data_url": "https://registry.npmjs.org/shx/0.1.2" - }, - { - "type": "npm", - "namespace": null, - "name": "sigmund", - "version": "1.0.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/sigmund@1.0.1", - "repository_homepage_url": "https://www.npmjs.com/package/sigmund", - "repository_download_url": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/sigmund/1.0.1" - }, - { - "type": "npm", - "namespace": null, - "name": "signal-exit", - "version": "3.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/signal-exit@3.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/signal-exit", - "repository_download_url": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/signal-exit/3.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "snake-case", - "version": "2.1.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/snake-case/-/snake-case-2.1.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/snake-case@2.1.0", - "repository_homepage_url": "https://www.npmjs.com/package/snake-case", - "repository_download_url": "https://registry.npmjs.org/snake-case/-/snake-case-2.1.0.tgz", - "api_data_url": "https://registry.npmjs.org/snake-case/2.1.0" - }, - { - "type": "npm", - "namespace": null, - "name": "sntp", - "version": "1.0.9", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/sntp@1.0.9", - "repository_homepage_url": "https://www.npmjs.com/package/sntp", - "repository_download_url": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", - "api_data_url": "https://registry.npmjs.org/sntp/1.0.9" - }, - { - "type": "npm", - "namespace": null, - "name": "source-map", - "version": "0.4.4", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/source-map@0.4.4", - "repository_homepage_url": "https://www.npmjs.com/package/source-map", - "repository_download_url": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "api_data_url": "https://registry.npmjs.org/source-map/0.4.4" - }, - { - "type": "npm", - "namespace": null, - "name": "source-map-support", - "version": "0.4.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/source-map@0.1.32", - "extracted_requirement": "0.1.32", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/source-map-support@0.4.1", - "repository_homepage_url": "https://www.npmjs.com/package/source-map-support", - "repository_download_url": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.1.tgz", - "api_data_url": "https://registry.npmjs.org/source-map-support/0.4.1" - }, - { - "type": "npm", - "namespace": null, - "name": "spdx-correct", - "version": "1.0.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/spdx-correct@1.0.2", - "repository_homepage_url": "https://www.npmjs.com/package/spdx-correct", - "repository_download_url": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", - "api_data_url": "https://registry.npmjs.org/spdx-correct/1.0.2" - }, - { - "type": "npm", - "namespace": null, - "name": "spdx-exceptions", - "version": "1.0.5", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-1.0.5.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/spdx-exceptions@1.0.5", - "repository_homepage_url": "https://www.npmjs.com/package/spdx-exceptions", - "repository_download_url": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-1.0.5.tgz", - "api_data_url": "https://registry.npmjs.org/spdx-exceptions/1.0.5" - }, - { - "type": "npm", - "namespace": null, - "name": "spdx-expression-parse", - "version": "1.0.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.2.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/spdx-expression-parse@1.0.2", - "repository_homepage_url": "https://www.npmjs.com/package/spdx-expression-parse", - "repository_download_url": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.2.tgz", - "api_data_url": "https://registry.npmjs.org/spdx-expression-parse/1.0.2" - }, - { - "type": "npm", - "namespace": null, - "name": "spdx-license-ids", - "version": "1.2.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/spdx-license-ids@1.2.1", - "repository_homepage_url": "https://www.npmjs.com/package/spdx-license-ids", - "repository_download_url": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.1.tgz", - "api_data_url": "https://registry.npmjs.org/spdx-license-ids/1.2.1" - }, - { - "type": "npm", - "namespace": null, - "name": "split", - "version": "1.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/split/-/split-1.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/split@1.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/split", - "repository_download_url": "https://registry.npmjs.org/split/-/split-1.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/split/1.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "sprintf-js", - "version": "1.0.3", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/sprintf-js@1.0.3", - "repository_homepage_url": "https://www.npmjs.com/package/sprintf-js", - "repository_download_url": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "api_data_url": "https://registry.npmjs.org/sprintf-js/1.0.3" - }, - { - "type": "npm", - "namespace": null, - "name": "sshpk", - "version": "1.8.3", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/sshpk/-/sshpk-1.8.3.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/assert-plus@1.0.0", - "extracted_requirement": ">=1.0.0 <2.0.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/sshpk@1.8.3", - "repository_homepage_url": "https://www.npmjs.com/package/sshpk", - "repository_download_url": "https://registry.npmjs.org/sshpk/-/sshpk-1.8.3.tgz", - "api_data_url": "https://registry.npmjs.org/sshpk/1.8.3" - }, - { - "type": "npm", - "namespace": null, - "name": "stack-trace", - "version": "0.0.9", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/stack-trace@0.0.9", - "repository_homepage_url": "https://www.npmjs.com/package/stack-trace", - "repository_download_url": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz", - "api_data_url": "https://registry.npmjs.org/stack-trace/0.0.9" - }, - { - "type": "npm", - "namespace": null, - "name": "statuses", - "version": "1.3.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/statuses/-/statuses-1.3.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/statuses@1.3.0", - "repository_homepage_url": "https://www.npmjs.com/package/statuses", - "repository_download_url": "https://registry.npmjs.org/statuses/-/statuses-1.3.0.tgz", - "api_data_url": "https://registry.npmjs.org/statuses/1.3.0" - }, - { - "type": "npm", - "namespace": null, - "name": "stream-buffers", - "version": "2.2.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/stream-buffers@2.2.0", - "repository_homepage_url": "https://www.npmjs.com/package/stream-buffers", - "repository_download_url": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz", - "api_data_url": "https://registry.npmjs.org/stream-buffers/2.2.0" - }, - { - "type": "npm", - "namespace": null, - "name": "string_decoder", - "version": "0.10.31", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/string_decoder@0.10.31", - "repository_homepage_url": "https://www.npmjs.com/package/string_decoder", - "repository_download_url": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "api_data_url": "https://registry.npmjs.org/string_decoder/0.10.31" - }, - { - "type": "npm", - "namespace": null, - "name": "stringstream", - "version": "0.0.5", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/stringstream@0.0.5", - "repository_homepage_url": "https://www.npmjs.com/package/stringstream", - "repository_download_url": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", - "api_data_url": "https://registry.npmjs.org/stringstream/0.0.5" - }, - { - "type": "npm", - "namespace": null, - "name": "strip-ansi", - "version": "3.0.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/strip-ansi@3.0.1", - "repository_homepage_url": "https://www.npmjs.com/package/strip-ansi", - "repository_download_url": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/strip-ansi/3.0.1" - }, - { - "type": "npm", - "namespace": null, - "name": "strip-bom", - "version": "2.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/strip-bom@2.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/strip-bom", - "repository_download_url": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/strip-bom/2.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "strip-indent", - "version": "1.0.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/strip-indent@1.0.1", - "repository_homepage_url": "https://www.npmjs.com/package/strip-indent", - "repository_download_url": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/strip-indent/1.0.1" - }, - { - "type": "npm", - "namespace": null, - "name": "strip-json-comments", - "version": "1.0.4", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/strip-json-comments@1.0.4", - "repository_homepage_url": "https://www.npmjs.com/package/strip-json-comments", - "repository_download_url": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz", - "api_data_url": "https://registry.npmjs.org/strip-json-comments/1.0.4" - }, - { - "type": "npm", - "namespace": null, - "name": "supports-color", - "version": "2.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/supports-color@2.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/supports-color", - "repository_download_url": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/supports-color/2.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "swap-case", - "version": "1.1.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/swap-case/-/swap-case-1.1.2.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/swap-case@1.1.2", - "repository_homepage_url": "https://www.npmjs.com/package/swap-case", - "repository_download_url": "https://registry.npmjs.org/swap-case/-/swap-case-1.1.2.tgz", - "api_data_url": "https://registry.npmjs.org/swap-case/1.1.2" - }, - { - "type": "npm", - "namespace": null, - "name": "tar-stream", - "version": "1.5.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.2.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/tar-stream@1.5.2", - "repository_homepage_url": "https://www.npmjs.com/package/tar-stream", - "repository_download_url": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.2.tgz", - "api_data_url": "https://registry.npmjs.org/tar-stream/1.5.2" - }, - { - "type": "npm", - "namespace": null, - "name": "temporary", - "version": "0.0.8", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/temporary/-/temporary-0.0.8.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/temporary@0.0.8", - "repository_homepage_url": "https://www.npmjs.com/package/temporary", - "repository_download_url": "https://registry.npmjs.org/temporary/-/temporary-0.0.8.tgz", - "api_data_url": "https://registry.npmjs.org/temporary/0.0.8" - }, - { - "type": "npm", - "namespace": null, - "name": "text-table", - "version": "0.2.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/text-table@0.2.0", - "repository_homepage_url": "https://www.npmjs.com/package/text-table", - "repository_download_url": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "api_data_url": "https://registry.npmjs.org/text-table/0.2.0" - }, - { - "type": "npm", - "namespace": null, - "name": "throttleit", - "version": "1.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/throttleit@1.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/throttleit", - "repository_download_url": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/throttleit/1.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "through", - "version": "2.3.8", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/through@2.3.8", - "repository_homepage_url": "https://www.npmjs.com/package/through", - "repository_download_url": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "api_data_url": "https://registry.npmjs.org/through/2.3.8" - }, - { - "type": "npm", - "namespace": null, - "name": "time-grunt", - "version": "1.3.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/time-grunt/-/time-grunt-1.3.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/time-grunt@1.3.0", - "repository_homepage_url": "https://www.npmjs.com/package/time-grunt", - "repository_download_url": "https://registry.npmjs.org/time-grunt/-/time-grunt-1.3.0.tgz", - "api_data_url": "https://registry.npmjs.org/time-grunt/1.3.0" - }, - { - "type": "npm", - "namespace": null, - "name": "tiny-lr", - "version": "0.2.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-0.2.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/qs@5.1.0", - "extracted_requirement": ">=5.1.0 <5.2.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/tiny-lr@0.2.1", - "repository_homepage_url": "https://www.npmjs.com/package/tiny-lr", - "repository_download_url": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-0.2.1.tgz", - "api_data_url": "https://registry.npmjs.org/tiny-lr/0.2.1" - }, - { - "type": "npm", - "namespace": null, - "name": "title-case", - "version": "2.1.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/title-case/-/title-case-2.1.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/title-case@2.1.0", - "repository_homepage_url": "https://www.npmjs.com/package/title-case", - "repository_download_url": "https://registry.npmjs.org/title-case/-/title-case-2.1.0.tgz", - "api_data_url": "https://registry.npmjs.org/title-case/2.1.0" - }, - { - "type": "npm", - "namespace": null, - "name": "tmp", - "version": "0.0.28", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/tmp/-/tmp-0.0.28.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/tmp@0.0.28", - "repository_homepage_url": "https://www.npmjs.com/package/tmp", - "repository_download_url": "https://registry.npmjs.org/tmp/-/tmp-0.0.28.tgz", - "api_data_url": "https://registry.npmjs.org/tmp/0.0.28" - }, - { - "type": "npm", - "namespace": null, - "name": "to-double-quotes", - "version": "2.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/to-double-quotes/-/to-double-quotes-2.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/to-double-quotes@2.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/to-double-quotes", - "repository_download_url": "https://registry.npmjs.org/to-double-quotes/-/to-double-quotes-2.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/to-double-quotes/2.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "to-single-quotes", - "version": "2.0.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/to-single-quotes/-/to-single-quotes-2.0.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/to-single-quotes@2.0.1", - "repository_homepage_url": "https://www.npmjs.com/package/to-single-quotes", - "repository_download_url": "https://registry.npmjs.org/to-single-quotes/-/to-single-quotes-2.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/to-single-quotes/2.0.1" - }, - { - "type": "npm", - "namespace": null, - "name": "token-stream", - "version": "0.0.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/token-stream/-/token-stream-0.0.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/token-stream@0.0.1", - "repository_homepage_url": "https://www.npmjs.com/package/token-stream", - "repository_download_url": "https://registry.npmjs.org/token-stream/-/token-stream-0.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/token-stream/0.0.1" - }, - { - "type": "npm", - "namespace": null, - "name": "tough-cookie", - "version": "2.2.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.2.2.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/tough-cookie@2.2.2", - "repository_homepage_url": "https://www.npmjs.com/package/tough-cookie", - "repository_download_url": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.2.2.tgz", - "api_data_url": "https://registry.npmjs.org/tough-cookie/2.2.2" - }, - { - "type": "npm", - "namespace": null, - "name": "trim-newlines", - "version": "1.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/trim-newlines@1.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/trim-newlines", - "repository_download_url": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/trim-newlines/1.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "tunnel-agent", - "version": "0.4.3", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/tunnel-agent@0.4.3", - "repository_homepage_url": "https://www.npmjs.com/package/tunnel-agent", - "repository_download_url": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", - "api_data_url": "https://registry.npmjs.org/tunnel-agent/0.4.3" - }, - { - "type": "npm", - "namespace": null, - "name": "tweetnacl", - "version": "0.13.3", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.13.3.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/tweetnacl@0.13.3", - "repository_homepage_url": "https://www.npmjs.com/package/tweetnacl", - "repository_download_url": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.13.3.tgz", - "api_data_url": "https://registry.npmjs.org/tweetnacl/0.13.3" - }, - { - "type": "npm", - "namespace": null, - "name": "type-is", - "version": "1.6.13", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/type-is/-/type-is-1.6.13.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/type-is@1.6.13", - "repository_homepage_url": "https://www.npmjs.com/package/type-is", - "repository_download_url": "https://registry.npmjs.org/type-is/-/type-is-1.6.13.tgz", - "api_data_url": "https://registry.npmjs.org/type-is/1.6.13" - }, - { - "type": "npm", - "namespace": null, - "name": "typedarray", - "version": "0.0.6", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/typedarray@0.0.6", - "repository_homepage_url": "https://www.npmjs.com/package/typedarray", - "repository_download_url": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "api_data_url": "https://registry.npmjs.org/typedarray/0.0.6" - }, - { - "type": "npm", - "namespace": null, - "name": "uc.micro", - "version": "1.0.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.2.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/uc.micro@1.0.2", - "repository_homepage_url": "https://www.npmjs.com/package/uc.micro", - "repository_download_url": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.2.tgz", - "api_data_url": "https://registry.npmjs.org/uc.micro/1.0.2" - }, - { - "type": "npm", - "namespace": null, - "name": "uglify-js", - "version": "2.6.4", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.6.4.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/async@0.2.10", - "extracted_requirement": ">=0.2.6 <0.3.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/source-map@0.5.6", - "extracted_requirement": ">=0.5.1 <0.6.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/uglify-js@2.6.4", - "repository_homepage_url": "https://www.npmjs.com/package/uglify-js", - "repository_download_url": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.6.4.tgz", - "api_data_url": "https://registry.npmjs.org/uglify-js/2.6.4" - }, - { - "type": "npm", - "namespace": null, - "name": "uglify-to-browserify", - "version": "1.0.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/uglify-to-browserify@1.0.2", - "repository_homepage_url": "https://www.npmjs.com/package/uglify-to-browserify", - "repository_download_url": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", - "api_data_url": "https://registry.npmjs.org/uglify-to-browserify/1.0.2" - }, - { - "type": "npm", - "namespace": null, - "name": "underscore", - "version": "1.6.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/underscore@1.6.0", - "repository_homepage_url": "https://www.npmjs.com/package/underscore", - "repository_download_url": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz", - "api_data_url": "https://registry.npmjs.org/underscore/1.6.0" - }, - { - "type": "npm", - "namespace": null, - "name": "underscore.string", - "version": "3.2.3", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.2.3.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/underscore.string@3.2.3", - "repository_homepage_url": "https://www.npmjs.com/package/underscore.string", - "repository_download_url": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.2.3.tgz", - "api_data_url": "https://registry.npmjs.org/underscore.string/3.2.3" - }, - { - "type": "npm", - "namespace": null, - "name": "unpipe", - "version": "1.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/unpipe@1.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/unpipe", - "repository_download_url": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/unpipe/1.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "upper-case", - "version": "1.1.3", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/upper-case@1.1.3", - "repository_homepage_url": "https://www.npmjs.com/package/upper-case", - "repository_download_url": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", - "api_data_url": "https://registry.npmjs.org/upper-case/1.1.3" - }, - { - "type": "npm", - "namespace": null, - "name": "upper-case-first", - "version": "1.1.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-1.1.2.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/upper-case-first@1.1.2", - "repository_homepage_url": "https://www.npmjs.com/package/upper-case-first", - "repository_download_url": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-1.1.2.tgz", - "api_data_url": "https://registry.npmjs.org/upper-case-first/1.1.2" - }, - { - "type": "npm", - "namespace": null, - "name": "uri-path", - "version": "1.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/uri-path/-/uri-path-1.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/uri-path@1.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/uri-path", - "repository_download_url": "https://registry.npmjs.org/uri-path/-/uri-path-1.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/uri-path/1.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "util-deprecate", - "version": "1.0.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/util-deprecate@1.0.2", - "repository_homepage_url": "https://www.npmjs.com/package/util-deprecate", - "repository_download_url": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "api_data_url": "https://registry.npmjs.org/util-deprecate/1.0.2" - }, - { - "type": "npm", - "namespace": null, - "name": "utile", - "version": "0.2.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/utile/-/utile-0.2.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/async@0.2.10", - "extracted_requirement": ">=0.2.9 <0.3.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/utile@0.2.1", - "repository_homepage_url": "https://www.npmjs.com/package/utile", - "repository_download_url": "https://registry.npmjs.org/utile/-/utile-0.2.1.tgz", - "api_data_url": "https://registry.npmjs.org/utile/0.2.1" - }, - { - "type": "npm", - "namespace": null, - "name": "utils-merge", - "version": "1.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/utils-merge@1.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/utils-merge", - "repository_download_url": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/utils-merge/1.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "uuid", - "version": "2.0.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/uuid/-/uuid-2.0.2.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/uuid@2.0.2", - "repository_homepage_url": "https://www.npmjs.com/package/uuid", - "repository_download_url": "https://registry.npmjs.org/uuid/-/uuid-2.0.2.tgz", - "api_data_url": "https://registry.npmjs.org/uuid/2.0.2" - }, - { - "type": "npm", - "namespace": null, - "name": "validate-npm-package-license", - "version": "3.0.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/validate-npm-package-license@3.0.1", - "repository_homepage_url": "https://www.npmjs.com/package/validate-npm-package-license", - "repository_download_url": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/validate-npm-package-license/3.0.1" - }, - { - "type": "npm", - "namespace": null, - "name": "verror", - "version": "1.3.6", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/verror@1.3.6", - "repository_homepage_url": "https://www.npmjs.com/package/verror", - "repository_download_url": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz", - "api_data_url": "https://registry.npmjs.org/verror/1.3.6" - }, - { - "type": "npm", - "namespace": null, - "name": "void-elements", - "version": "2.0.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/void-elements@2.0.1", - "repository_homepage_url": "https://www.npmjs.com/package/void-elements", - "repository_download_url": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/void-elements/2.0.1" - }, - { - "type": "npm", - "namespace": null, - "name": "vow", - "version": "0.4.4", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/vow/-/vow-0.4.4.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/vow@0.4.4", - "repository_homepage_url": "https://www.npmjs.com/package/vow", - "repository_download_url": "https://registry.npmjs.org/vow/-/vow-0.4.4.tgz", - "api_data_url": "https://registry.npmjs.org/vow/0.4.4" - }, - { - "type": "npm", - "namespace": null, - "name": "vow-fs", - "version": "0.3.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/vow-fs/-/vow-fs-0.3.2.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/glob@3.2.8", - "extracted_requirement": "3.2.8", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/minimatch@0.2.14", - "extracted_requirement": ">=0.2.11 <0.3.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/node-uuid@1.4.0", - "extracted_requirement": "1.4.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/vow-fs@0.3.2", - "repository_homepage_url": "https://www.npmjs.com/package/vow-fs", - "repository_download_url": "https://registry.npmjs.org/vow-fs/-/vow-fs-0.3.2.tgz", - "api_data_url": "https://registry.npmjs.org/vow-fs/0.3.2" - }, - { - "type": "npm", - "namespace": null, - "name": "vow-queue", - "version": "0.3.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/vow-queue/-/vow-queue-0.3.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/vow-queue@0.3.1", - "repository_homepage_url": "https://www.npmjs.com/package/vow-queue", - "repository_download_url": "https://registry.npmjs.org/vow-queue/-/vow-queue-0.3.1.tgz", - "api_data_url": "https://registry.npmjs.org/vow-queue/0.3.1" - }, - { - "type": "npm", - "namespace": null, - "name": "websocket-driver", - "version": "0.6.5", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/websocket-driver@0.6.5", - "repository_homepage_url": "https://www.npmjs.com/package/websocket-driver", - "repository_download_url": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz", - "api_data_url": "https://registry.npmjs.org/websocket-driver/0.6.5" - }, - { - "type": "npm", - "namespace": null, - "name": "websocket-extensions", - "version": "0.1.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/websocket-extensions@0.1.1", - "repository_homepage_url": "https://www.npmjs.com/package/websocket-extensions", - "repository_download_url": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.1.tgz", - "api_data_url": "https://registry.npmjs.org/websocket-extensions/0.1.1" - }, - { - "type": "npm", - "namespace": null, - "name": "when", - "version": "3.7.7", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/when/-/when-3.7.7.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/when@3.7.7", - "repository_homepage_url": "https://www.npmjs.com/package/when", - "repository_download_url": "https://registry.npmjs.org/when/-/when-3.7.7.tgz", - "api_data_url": "https://registry.npmjs.org/when/3.7.7" - }, - { - "type": "npm", - "namespace": null, - "name": "which", - "version": "1.2.10", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/which/-/which-1.2.10.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/which@1.2.10", - "repository_homepage_url": "https://www.npmjs.com/package/which", - "repository_download_url": "https://registry.npmjs.org/which/-/which-1.2.10.tgz", - "api_data_url": "https://registry.npmjs.org/which/1.2.10" - }, - { - "type": "npm", - "namespace": null, - "name": "window-size", - "version": "0.1.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/window-size@0.1.0", - "repository_homepage_url": "https://www.npmjs.com/package/window-size", - "repository_download_url": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "api_data_url": "https://registry.npmjs.org/window-size/0.1.0" - }, - { - "type": "npm", - "namespace": null, - "name": "winston", - "version": "0.8.3", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/winston/-/winston-0.8.3.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/async@0.2.10", - "extracted_requirement": ">=0.2.0 <0.3.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/colors@0.6.2", - "extracted_requirement": ">=0.6.0 <0.7.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/pkginfo@0.3.1", - "extracted_requirement": ">=0.3.0 <0.4.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/winston@0.8.3", - "repository_homepage_url": "https://www.npmjs.com/package/winston", - "repository_download_url": "https://registry.npmjs.org/winston/-/winston-0.8.3.tgz", - "api_data_url": "https://registry.npmjs.org/winston/0.8.3" - }, - { - "type": "npm", - "namespace": null, - "name": "with", - "version": "5.1.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/with/-/with-5.1.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/with@5.1.1", - "repository_homepage_url": "https://www.npmjs.com/package/with", - "repository_download_url": "https://registry.npmjs.org/with/-/with-5.1.1.tgz", - "api_data_url": "https://registry.npmjs.org/with/5.1.1" - }, - { - "type": "npm", - "namespace": null, - "name": "wordwrap", - "version": "0.0.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/wordwrap@0.0.2", - "repository_homepage_url": "https://www.npmjs.com/package/wordwrap", - "repository_download_url": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "api_data_url": "https://registry.npmjs.org/wordwrap/0.0.2" - }, - { - "type": "npm", - "namespace": null, - "name": "wrappy", - "version": "1.0.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/wrappy@1.0.2", - "repository_homepage_url": "https://www.npmjs.com/package/wrappy", - "repository_download_url": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "api_data_url": "https://registry.npmjs.org/wrappy/1.0.2" - }, - { - "type": "npm", - "namespace": null, - "name": "xml-char-classes", - "version": "1.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/xml-char-classes/-/xml-char-classes-1.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/xml-char-classes@1.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/xml-char-classes", - "repository_download_url": "https://registry.npmjs.org/xml-char-classes/-/xml-char-classes-1.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/xml-char-classes/1.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "xmlbuilder", - "version": "3.1.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-3.1.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/xmlbuilder@3.1.0", - "repository_homepage_url": "https://www.npmjs.com/package/xmlbuilder", - "repository_download_url": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-3.1.0.tgz", - "api_data_url": "https://registry.npmjs.org/xmlbuilder/3.1.0" - }, - { - "type": "npm", - "namespace": null, - "name": "xtend", - "version": "4.0.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/xtend@4.0.1", - "repository_homepage_url": "https://www.npmjs.com/package/xtend", - "repository_download_url": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/xtend/4.0.1" - }, - { - "type": "npm", - "namespace": null, - "name": "yargs", - "version": "3.10.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/camelcase@1.2.1", - "extracted_requirement": ">=1.0.2 <2.0.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/yargs@3.10.0", - "repository_homepage_url": "https://www.npmjs.com/package/yargs", - "repository_download_url": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "api_data_url": "https://registry.npmjs.org/yargs/3.10.0" - }, - { - "type": "npm", - "namespace": null, - "name": "yauzl", - "version": "2.4.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/yauzl@2.4.1", - "repository_homepage_url": "https://www.npmjs.com/package/yauzl", - "repository_download_url": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz", - "api_data_url": "https://registry.npmjs.org/yauzl/2.4.1" - }, - { - "type": "npm", - "namespace": null, - "name": "zip-stream", - "version": "1.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/zip-stream/-/zip-stream-1.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/lodash@4.13.1", - "extracted_requirement": ">=4.8.0 <5.0.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/zip-stream@1.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/zip-stream", - "repository_download_url": "https://registry.npmjs.org/zip-stream/-/zip-stream-1.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/zip-stream/1.0.0" + "api_data_url": "https://registry.npmjs.org/bootstrap/3.3.7", + "datasource_id": "npm_shrinkwrap_json", + "purl": "pkg:npm/bootstrap@3.3.7" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/npm/old_registry/package.json.expected b/tests/packagedcode/data/npm/old_registry/package.json.expected index fd69e8a2f51..954e501a4f5 100644 --- a/tests/packagedcode/data/npm/old_registry/package.json.expected +++ b/tests/packagedcode/data/npm/old_registry/package.json.expected @@ -47,13 +47,14 @@ "license_expression": null, "declared_license": [], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:npm/automatta@0.0.1", "repository_homepage_url": "https://www.npmjs.com/package/automatta", "repository_download_url": "https://registry.npmjs.org/automatta/-/automatta-0.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/automatta/0.0.1" + "api_data_url": "https://registry.npmjs.org/automatta/0.0.1", + "datasource_id": "npm_package_json", + "purl": "pkg:npm/automatta@0.0.1" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/npm/package-lock-v1/package-lock.json b/tests/packagedcode/data/npm/package-lock-v1/package-lock.json new file mode 100644 index 00000000000..44866bcdba7 --- /dev/null +++ b/tests/packagedcode/data/npm/package-lock-v1/package-lock.json @@ -0,0 +1,70 @@ +{ + "name": "babel-runtime", + "version": "6.23.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "babel-helpers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", + "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", + "dev": true, + "requires": { + "babel-runtime": "6.25.0", + "babel-template": "6.25.0" + } + }, + "babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "dev": true, + "requires": { + "babel-runtime": "6.25.0" + } + }, + "babel-plugin-transform-runtime": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.23.0.tgz", + "integrity": "sha1-iEkNRGUC6puOfvsP4J7E2ZR5se4=", + "dev": true, + "requires": { + "babel-runtime": "6.25.0" + } + }, + "babel-runtime": { + "version": "6.25.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.25.0.tgz", + "integrity": "sha1-M7mOql1IK7AajRqmtDetKwGuxBw=", + "dev": true, + "requires": { + "core-js": "2.5.0" + } + }, + "babel-template": { + "version": "6.25.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.25.0.tgz", + "integrity": "sha1-ZlJBFmt8KqTGGdceGSlpVSsQwHE=", + "dev": true, + "requires": { + "babel-runtime": "6.25.0", + "babel-traverse": "6.25.0", + "babel-types": "6.25.0", + "babylon": "6.18.0", + "lodash": "4.17.4" + } + }, + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "dev": true + } + } +} diff --git a/tests/packagedcode/data/npm/package-lock-v1/package-lock.json-expected b/tests/packagedcode/data/npm/package-lock-v1/package-lock.json-expected new file mode 100644 index 00000000000..76c50ab23c9 --- /dev/null +++ b/tests/packagedcode/data/npm/package-lock-v1/package-lock.json-expected @@ -0,0 +1,528 @@ +[ + { + "type": "npm", + "namespace": "", + "name": "babel-runtime", + "version": "6.23.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": { + "lockfile_version": 1 + }, + "dependencies": [ + { + "purl": "pkg:npm/ansi-regex@2.1.1", + "extracted_requirement": "2.1.1", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "ansi-regex", + "version": "2.1.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "size": null, + "sha1": "c3b33ab5ee360d86e0e628f0468ae7ef27d654df", + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "ansi-regex", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/ansi-regex", + "repository_download_url": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "api_data_url": "https://registry.npmjs.org/ansi-regex/2.1.1", + "datasource_id": "npm_package_lock_json", + "purl": "pkg:npm/ansi-regex@2.1.1" + } + }, + { + "purl": "pkg:npm/babel-helpers@6.24.1", + "extracted_requirement": "6.24.1", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "babel-helpers", + "version": "6.24.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", + "size": null, + "sha1": "3471de9caec388e5c850e597e58a26ddf37602b2", + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "babel-helpers", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:npm/babel-runtime", + "extracted_requirement": "6.25.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/babel-template", + "extracted_requirement": "6.25.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + } + ], + "repository_homepage_url": "https://www.npmjs.com/package/babel-helpers", + "repository_download_url": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", + "api_data_url": "https://registry.npmjs.org/babel-helpers/6.24.1", + "datasource_id": "npm_package_lock_json", + "purl": "pkg:npm/babel-helpers@6.24.1" + } + }, + { + "purl": "pkg:npm/babel-messages@6.23.0", + "extracted_requirement": "6.23.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "babel-messages", + "version": "6.23.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "size": null, + "sha1": "f3cdf4703858035b2a2951c6ec5edf6c62f2630e", + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "babel-messages", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:npm/babel-runtime", + "extracted_requirement": "6.25.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + } + ], + "repository_homepage_url": "https://www.npmjs.com/package/babel-messages", + "repository_download_url": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "api_data_url": "https://registry.npmjs.org/babel-messages/6.23.0", + "datasource_id": "npm_package_lock_json", + "purl": "pkg:npm/babel-messages@6.23.0" + } + }, + { + "purl": "pkg:npm/babel-plugin-transform-runtime@6.23.0", + "extracted_requirement": "6.23.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "babel-plugin-transform-runtime", + "version": "6.23.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.23.0.tgz", + "size": null, + "sha1": "88490d446502ea9b8e7efb0fe09ec4d99479b1ee", + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "babel-plugin-transform-runtime", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:npm/babel-runtime", + "extracted_requirement": "6.25.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + } + ], + "repository_homepage_url": "https://www.npmjs.com/package/babel-plugin-transform-runtime", + "repository_download_url": "https://registry.npmjs.org/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.23.0.tgz", + "api_data_url": "https://registry.npmjs.org/babel-plugin-transform-runtime/6.23.0", + "datasource_id": "npm_package_lock_json", + "purl": "pkg:npm/babel-plugin-transform-runtime@6.23.0" + } + }, + { + "purl": "pkg:npm/babel-runtime@6.25.0", + "extracted_requirement": "6.25.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "babel-runtime", + "version": "6.25.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.25.0.tgz", + "size": null, + "sha1": "33b98eaa5d482bb01a8d1aa6b437ad2b01aec41c", + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "babel-runtime", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:npm/core-js", + "extracted_requirement": "2.5.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + } + ], + "repository_homepage_url": "https://www.npmjs.com/package/babel-runtime", + "repository_download_url": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.25.0.tgz", + "api_data_url": "https://registry.npmjs.org/babel-runtime/6.25.0", + "datasource_id": "npm_package_lock_json", + "purl": "pkg:npm/babel-runtime@6.25.0" + } + }, + { + "purl": "pkg:npm/babel-template@6.25.0", + "extracted_requirement": "6.25.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "babel-template", + "version": "6.25.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/babel-template/-/babel-template-6.25.0.tgz", + "size": null, + "sha1": "665241166b7c2aa4c619d71e192969552b10c071", + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "babel-template", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:npm/babel-runtime", + "extracted_requirement": "6.25.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/babel-traverse", + "extracted_requirement": "6.25.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/babel-types", + "extracted_requirement": "6.25.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/babylon", + "extracted_requirement": "6.18.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/lodash", + "extracted_requirement": "4.17.4", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + } + ], + "repository_homepage_url": "https://www.npmjs.com/package/babel-template", + "repository_download_url": "https://registry.npmjs.org/babel-template/-/babel-template-6.25.0.tgz", + "api_data_url": "https://registry.npmjs.org/babel-template/6.25.0", + "datasource_id": "npm_package_lock_json", + "purl": "pkg:npm/babel-template@6.25.0" + } + }, + { + "purl": "pkg:npm/to-fast-properties@1.0.3", + "extracted_requirement": "1.0.3", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "to-fast-properties", + "version": "1.0.3", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "size": null, + "sha1": "b83571fa4d8c25b82e231b06e3a3055de4ca1a47", + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "to-fast-properties", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/to-fast-properties", + "repository_download_url": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "api_data_url": "https://registry.npmjs.org/to-fast-properties/1.0.3", + "datasource_id": "npm_package_lock_json", + "purl": "pkg:npm/to-fast-properties@1.0.3" + } + } + ], + "repository_homepage_url": "https://www.npmjs.com/package/babel-runtime", + "repository_download_url": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", + "api_data_url": "https://registry.npmjs.org/babel-runtime/6.23.0", + "datasource_id": "npm_package_lock_json", + "purl": "pkg:npm/babel-runtime@6.23.0" + } +] \ No newline at end of file diff --git a/tests/packagedcode/data/npm/package-lock-v2-2/package-lock.json b/tests/packagedcode/data/npm/package-lock-v2-2/package-lock.json new file mode 100644 index 00000000000..f0a9f8d5862 --- /dev/null +++ b/tests/packagedcode/data/npm/package-lock-v2-2/package-lock.json @@ -0,0 +1,132 @@ +{ + "name": "megak", + "version": "1.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "megak", + "version": "1.0.0", + "license": "ISC", + "devDependencies": { + "nodemon": "^2.0.9", + "ts-node-dev": "^1.1.8" + } + }, + "node_modules/@szmarczak/http-timer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", + "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", + "dev": true, + "dependencies": { + "defer-to-connect": "^1.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-align": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz", + "integrity": "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==", + "dev": true, + "dependencies": { + "string-width": "^3.0.0" + } + }, + "node_modules/ansi-align/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/configstore": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", + "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", + "dev": true, + "dependencies": { + "dot-prop": "^5.2.0", + "graceful-fs": "^4.1.2", + "make-dir": "^3.0.0", + "unique-string": "^2.0.0", + "write-file-atomic": "^3.0.0", + "xdg-basedir": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "typescript": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.4.tgz", + "integrity": "sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg==", + "dev": true, + "peer": true + }, + "undefsafe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.3.tgz", + "integrity": "sha512-nrXZwwXrD/T/JXeygJqdCO6NZZ1L66HrxM/Z7mIq2oPanoN0F1nLx3lwJMu6AwJY69hdixaFQOuoYsMjE5/C2A==", + "dev": true, + "requires": { + "debug": "^2.2.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true + } + } +} diff --git a/tests/packagedcode/data/npm/package-lock-v2-2/package-lock.json-expected b/tests/packagedcode/data/npm/package-lock-v2-2/package-lock.json-expected new file mode 100644 index 00000000000..f23029045a9 --- /dev/null +++ b/tests/packagedcode/data/npm/package-lock-v2-2/package-lock.json-expected @@ -0,0 +1,706 @@ +[ + { + "type": "npm", + "namespace": "", + "name": "megak", + "version": "1.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": { + "lockfile_version": 2 + }, + "dependencies": [ + { + "purl": "pkg:npm/megak@1.0.0", + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "megak", + "version": "1.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": "ISC", + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/megak", + "repository_download_url": "https://registry.npmjs.org/megak/-/megak-1.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/megak/1.0.0", + "datasource_id": "npm_package_lock_json", + "purl": "pkg:npm/megak@1.0.0" + } + }, + { + "purl": "pkg:npm/%40szmarczak/http-timer@1.1.2", + "extracted_requirement": "1.1.2", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "@szmarczak", + "name": "http-timer", + "version": "1.1.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": "5c80765dbcc74cdea27888df20c57d86555c7cf536eacdaf69f61641c6475971cec62691658103284c1d975dbd672839d3e7e8615da30a0b6ba9203aa8db8d48", + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "node_modules/@szmarczak/http-timer", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:npm/defer-to-connect", + "extracted_requirement": "^1.0.1", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + } + ], + "repository_homepage_url": "https://www.npmjs.com/package/@szmarczak/http-timer", + "repository_download_url": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", + "api_data_url": "https://registry.npmjs.org/@szmarczak%2fhttp-timer", + "datasource_id": "npm_package_lock_json", + "purl": "pkg:npm/%40szmarczak/http-timer@1.1.2" + } + }, + { + "purl": "pkg:npm/ansi-align@3.0.0", + "extracted_requirement": "3.0.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "ansi-align", + "version": "3.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": "6690a554aa973774460662a26dd7d6cea098e259e312ea0dcd4e53d28105a5f77fcf9a891d56abba4ae2743e23b8b3b6157322c14431afd5aa42d6986bc5d163", + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "node_modules/ansi-align", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:npm/string-width", + "extracted_requirement": "^3.0.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + } + ], + "repository_homepage_url": "https://www.npmjs.com/package/ansi-align", + "repository_download_url": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/ansi-align/3.0.0", + "datasource_id": "npm_package_lock_json", + "purl": "pkg:npm/ansi-align@3.0.0" + } + }, + { + "purl": "pkg:npm/ansi-regex@4.1.0", + "extracted_requirement": "4.1.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "ansi-regex", + "version": "4.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": "d5aa5e3df5ccd54392ab0d28f48885028bd5cfd3394b50e0fb84eb0f07cc7b043aa7fae632e79beed5998d0d6bc782e8cb502b060828a86a5faaa748e2ba2776", + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "node_modules/ansi-align/node_modules/ansi-regex", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/ansi-regex", + "repository_download_url": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "api_data_url": "https://registry.npmjs.org/ansi-regex/4.1.0", + "datasource_id": "npm_package_lock_json", + "purl": "pkg:npm/ansi-regex@4.1.0" + } + }, + { + "purl": "pkg:npm/ansi-styles@4.3.0", + "extracted_requirement": "4.3.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "ansi-styles", + "version": "4.3.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": "cdb07dac22404f5adb8e25436f686a2851cd60bc60b64f0d511c59dc86700f717a36dc5b5d94029e74a2d4b931f880e885d3e5169db6db05402c885e64941212", + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "node_modules/ansi-styles", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:npm/color-convert", + "extracted_requirement": "^2.0.1", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + } + ], + "repository_homepage_url": "https://www.npmjs.com/package/ansi-styles", + "repository_download_url": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "api_data_url": "https://registry.npmjs.org/ansi-styles/4.3.0", + "datasource_id": "npm_package_lock_json", + "purl": "pkg:npm/ansi-styles@4.3.0" + } + }, + { + "purl": "pkg:npm/configstore@5.0.1", + "extracted_requirement": "5.0.1", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "configstore", + "version": "5.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": "68c2a9ae093962104dc87db9863f301addbe0f9d92c350d1448cea0702e9d986bd985998f0a3efbedbe69daf12c5547d24c678933303ebc376daf95a46991e14", + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "node_modules/configstore", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:npm/dot-prop", + "extracted_requirement": "^5.2.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/graceful-fs", + "extracted_requirement": "^4.1.2", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/make-dir", + "extracted_requirement": "^3.0.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/unique-string", + "extracted_requirement": "^2.0.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/write-file-atomic", + "extracted_requirement": "^3.0.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/xdg-basedir", + "extracted_requirement": "^4.0.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + } + ], + "repository_homepage_url": "https://www.npmjs.com/package/configstore", + "repository_download_url": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", + "api_data_url": "https://registry.npmjs.org/configstore/5.0.1", + "datasource_id": "npm_package_lock_json", + "purl": "pkg:npm/configstore@5.0.1" + } + }, + { + "purl": "pkg:npm/fsevents@2.3.2", + "extracted_requirement": "2.3.2", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "fsevents", + "version": "2.3.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": "c62a8c411e3101e1d3b81f6e5a6f9f1517083a02813223813fe7978b24fb8ec8150aad5b915ca0b74d28012a3007b11db6938769a3e02adf35d8ff5a6fe0c328", + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "node_modules/fsevents", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/fsevents", + "repository_download_url": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "api_data_url": "https://registry.npmjs.org/fsevents/2.3.2", + "datasource_id": "npm_package_lock_json", + "purl": "pkg:npm/fsevents@2.3.2" + } + }, + { + "purl": "pkg:npm/typescript@4.5.4", + "extracted_requirement": "4.5.4", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "typescript", + "version": "4.5.4", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/typescript/-/typescript-4.5.4.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": "56062cd80d90211b86a61b73155eda40976e2768327d39639e02f38e97d6f45a18645eb1bb0d56d2f5bd82108a2df716ac21712bcd42486440bd2d699f87c852", + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "typescript", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/typescript", + "repository_download_url": "https://registry.npmjs.org/typescript/-/typescript-4.5.4.tgz", + "api_data_url": "https://registry.npmjs.org/typescript/4.5.4", + "datasource_id": "npm_package_lock_json", + "purl": "pkg:npm/typescript@4.5.4" + } + }, + { + "purl": "pkg:npm/undefsafe@2.0.3", + "extracted_requirement": "2.0.3", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "undefsafe", + "version": "2.0.3", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.3.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": "9eb5d9c305eb0ff4ff2577b2809a9d08ee8d659d4beba1ebc4cfd9ee622ada83da9e83741759cbc7797024cbba030258ebd85d8b168540eba862c323139fc2d8", + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "undefsafe", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:npm/debug", + "extracted_requirement": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/ms", + "extracted_requirement": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + } + ], + "repository_homepage_url": "https://www.npmjs.com/package/undefsafe", + "repository_download_url": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.3.tgz", + "api_data_url": "https://registry.npmjs.org/undefsafe/2.0.3", + "datasource_id": "npm_package_lock_json", + "purl": "pkg:npm/undefsafe@2.0.3" + } + }, + { + "purl": "pkg:npm/yn@3.1.1", + "extracted_requirement": "3.1.1", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "yn", + "version": "3.1.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": "531e328065acbb673b8ac1567bc62ed5896e266a95871a8ad9c2d735003901c0b741f6c636933b7eed18f1bff3d7aa572e7171658bd685dddf84163d0cb982e9", + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "yn", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/yn", + "repository_download_url": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "api_data_url": "https://registry.npmjs.org/yn/3.1.1", + "datasource_id": "npm_package_lock_json", + "purl": "pkg:npm/yn@3.1.1" + } + } + ], + "repository_homepage_url": "https://www.npmjs.com/package/megak", + "repository_download_url": "https://registry.npmjs.org/megak/-/megak-1.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/megak/1.0.0", + "datasource_id": "npm_package_lock_json", + "purl": "pkg:npm/megak@1.0.0" + } +] \ No newline at end of file diff --git a/tests/packagedcode/data/npm/package-lock-v2/package-lock.json b/tests/packagedcode/data/npm/package-lock-v2/package-lock.json new file mode 100644 index 00000000000..a27a7592ed5 --- /dev/null +++ b/tests/packagedcode/data/npm/package-lock-v2/package-lock.json @@ -0,0 +1,53 @@ +{ + "name": "megak", + "version": "1.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "megak", + "version": "1.0.0", + "license": "ISC", + "devDependencies": { + "nodemon": "^2.0.9", + "ts-node-dev": "^1.1.8" + } + }, + "node_modules/@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "ini": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.7.tgz", + "integrity": "sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ==", + "dev": true + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true + }, + "yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true + } + } +} diff --git a/tests/packagedcode/data/npm/package-lock-v2/package-lock.json-expected b/tests/packagedcode/data/npm/package-lock-v2/package-lock.json-expected new file mode 100644 index 00000000000..f5842dfd6fa --- /dev/null +++ b/tests/packagedcode/data/npm/package-lock-v2/package-lock.json-expected @@ -0,0 +1,365 @@ +[ + { + "type": "npm", + "namespace": "", + "name": "megak", + "version": "1.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": { + "lockfile_version": 2 + }, + "dependencies": [ + { + "purl": "pkg:npm/megak@1.0.0", + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "megak", + "version": "1.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": "ISC", + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/megak", + "repository_download_url": "https://registry.npmjs.org/megak/-/megak-1.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/megak/1.0.0", + "datasource_id": "npm_package_lock_json", + "purl": "pkg:npm/megak@1.0.0" + } + }, + { + "purl": "pkg:npm/%40sindresorhus/is@0.14.0", + "extracted_requirement": "0.14.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "@sindresorhus", + "name": "is", + "version": "0.14.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": "f4d113f75d0335a20f9e06272cb3de83e3a0ceab22f6e3389926e8539cbaa7c4b90f3313544b0966b6b08be0680cd51505ad83849a9061416f3037e0534eb62d", + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "node_modules/@sindresorhus/is", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/@sindresorhus/is", + "repository_download_url": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "api_data_url": "https://registry.npmjs.org/@sindresorhus%2fis", + "datasource_id": "npm_package_lock_json", + "purl": "pkg:npm/%40sindresorhus/is@0.14.0" + } + }, + { + "purl": "pkg:npm/ini@1.3.7", + "extracted_requirement": "1.3.7", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "ini", + "version": "1.3.7", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/ini/-/ini-1.3.7.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": "88aa51a573fe0ab3f68f2af1be0d64314a570f24541435aeaf16e7553d6f40fc7e5b3f6e098b0c22a62e4812d5f8f01a646fddee444b29115cf680ccb07fa615", + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "ini", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/ini", + "repository_download_url": "https://registry.npmjs.org/ini/-/ini-1.3.7.tgz", + "api_data_url": "https://registry.npmjs.org/ini/1.3.7", + "datasource_id": "npm_package_lock_json", + "purl": "pkg:npm/ini@1.3.7" + } + }, + { + "purl": "pkg:npm/is-binary-path@2.1.0", + "extracted_requirement": "2.1.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "is-binary-path", + "version": "2.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": "64c11161eb3aa43c9dcae1a276c7bb3ac1f1b5b23b595794128ce047f83baddd31522998365bd9444fcad8c8194e35b2ef6e487de94b79570433dee69ad4465f", + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "is-binary-path", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/is-binary-path", + "repository_download_url": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "api_data_url": "https://registry.npmjs.org/is-binary-path/2.1.0", + "datasource_id": "npm_package_lock_json", + "purl": "pkg:npm/is-binary-path@2.1.0" + } + }, + { + "purl": "pkg:npm/xtend@4.0.2", + "extracted_requirement": "4.0.2", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "xtend", + "version": "4.0.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": "2ca614d620172575200179fd5118e2bbe3168725171ecbdfa7b99cb989bd75250a2b4fc28edad4c050310fcdbf98259bb4bb068c521a774c08b28778ceb4c011", + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "xtend", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/xtend", + "repository_download_url": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "api_data_url": "https://registry.npmjs.org/xtend/4.0.2", + "datasource_id": "npm_package_lock_json", + "purl": "pkg:npm/xtend@4.0.2" + } + }, + { + "purl": "pkg:npm/yn@3.1.1", + "extracted_requirement": "3.1.1", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "yn", + "version": "3.1.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": "531e328065acbb673b8ac1567bc62ed5896e266a95871a8ad9c2d735003901c0b741f6c636933b7eed18f1bff3d7aa572e7171658bd685dddf84163d0cb982e9", + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "yn", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/yn", + "repository_download_url": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "api_data_url": "https://registry.npmjs.org/yn/3.1.1", + "datasource_id": "npm_package_lock_json", + "purl": "pkg:npm/yn@3.1.1" + } + } + ], + "repository_homepage_url": "https://www.npmjs.com/package/megak", + "repository_download_url": "https://registry.npmjs.org/megak/-/megak-1.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/megak/1.0.0", + "datasource_id": "npm_package_lock_json", + "purl": "pkg:npm/megak@1.0.0" + } +] \ No newline at end of file diff --git a/tests/packagedcode/data/npm/package-lock/package-lock.json b/tests/packagedcode/data/npm/package-lock/package-lock.json deleted file mode 100644 index 78600f94015..00000000000 --- a/tests/packagedcode/data/npm/package-lock/package-lock.json +++ /dev/null @@ -1,232 +0,0 @@ -{ - "name": "babel-runtime", - "version": "6.23.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "babel-code-frame": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz", - "integrity": "sha1-AnYgvuVnqIwyVhV05/0IAdMxGOQ=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "esutils": "2.0.2", - "js-tokens": "3.0.2" - } - }, - "babel-helpers": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", - "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", - "dev": true, - "requires": { - "babel-runtime": "6.25.0", - "babel-template": "6.25.0" - } - }, - "babel-messages": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", - "dev": true, - "requires": { - "babel-runtime": "6.25.0" - } - }, - "babel-plugin-transform-runtime": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.23.0.tgz", - "integrity": "sha1-iEkNRGUC6puOfvsP4J7E2ZR5se4=", - "dev": true, - "requires": { - "babel-runtime": "6.25.0" - } - }, - "babel-runtime": { - "version": "6.25.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.25.0.tgz", - "integrity": "sha1-M7mOql1IK7AajRqmtDetKwGuxBw=", - "dev": true, - "requires": { - "core-js": "2.5.0" - } - }, - "babel-template": { - "version": "6.25.0", - "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.25.0.tgz", - "integrity": "sha1-ZlJBFmt8KqTGGdceGSlpVSsQwHE=", - "dev": true, - "requires": { - "babel-runtime": "6.25.0", - "babel-traverse": "6.25.0", - "babel-types": "6.25.0", - "babylon": "6.18.0", - "lodash": "4.17.4" - } - }, - "babel-traverse": { - "version": "6.25.0", - "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.25.0.tgz", - "integrity": "sha1-IldJfi/NGbie3BPEyROB+VEklvE=", - "dev": true, - "requires": { - "babel-code-frame": "6.22.0", - "babel-messages": "6.23.0", - "babel-runtime": "6.25.0", - "babel-types": "6.25.0", - "babylon": "6.18.0", - "debug": "2.6.8", - "globals": "9.18.0", - "invariant": "2.2.2", - "lodash": "4.17.4" - } - }, - "babel-types": { - "version": "6.25.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz", - "integrity": "sha1-cK+ySNVmDl0Y+BHZHIMDtUE0oY4=", - "dev": true, - "requires": { - "babel-runtime": "6.25.0", - "esutils": "2.0.2", - "lodash": "4.17.4", - "to-fast-properties": "1.0.3" - } - }, - "babylon": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" - } - }, - "core-js": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.0.tgz", - "integrity": "sha1-VpwFCRi+ZIazg3VSAorgRmtxcIY=" - }, - "debug": { - "version": "2.6.8", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", - "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "esutils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", - "dev": true - }, - "globals": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", - "dev": true - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true, - "requires": { - "ansi-regex": "2.1.1" - } - }, - "invariant": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", - "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", - "dev": true, - "requires": { - "loose-envify": "1.3.1" - } - }, - "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", - "dev": true - }, - "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", - "dev": true - }, - "loose-envify": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", - "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", - "dev": true, - "requires": { - "js-tokens": "3.0.2" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "regenerator-runtime": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz", - "integrity": "sha512-/aA0kLeRb5N9K0d4fw7ooEbI+xDe+DKD499EQqygGqeS8N3xto15p09uY2xj7ixP81sNPXvRLnAQIqdVStgb1A==" - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "2.1.1" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - }, - "to-fast-properties": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", - "dev": true - } - } -} diff --git a/tests/packagedcode/data/npm/package-lock/package-lock.json-expected b/tests/packagedcode/data/npm/package-lock/package-lock.json-expected deleted file mode 100644 index 65480897237..00000000000 --- a/tests/packagedcode/data/npm/package-lock/package-lock.json-expected +++ /dev/null @@ -1,1564 +0,0 @@ -[ - { - "type": "npm", - "namespace": null, - "name": "babel-runtime", - "version": "6.23.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": null, - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/core-js@2.5.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/regenerator-runtime@0.11.0", - "extracted_requirement": null, - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/ansi-regex@2.1.1", - "extracted_requirement": null, - "scope": "dependencies-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/ansi-styles@2.2.1", - "extracted_requirement": null, - "scope": "dependencies-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/babel-code-frame@6.22.0", - "extracted_requirement": null, - "scope": "dependencies-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/babel-helpers@6.24.1", - "extracted_requirement": null, - "scope": "dependencies-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/babel-messages@6.23.0", - "extracted_requirement": null, - "scope": "dependencies-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/babel-plugin-transform-runtime@6.23.0", - "extracted_requirement": null, - "scope": "dependencies-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/babel-runtime@6.25.0", - "extracted_requirement": null, - "scope": "dependencies-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/babel-template@6.25.0", - "extracted_requirement": null, - "scope": "dependencies-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/babel-traverse@6.25.0", - "extracted_requirement": null, - "scope": "dependencies-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/babel-types@6.25.0", - "extracted_requirement": null, - "scope": "dependencies-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/babylon@6.18.0", - "extracted_requirement": null, - "scope": "dependencies-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/chalk@1.1.3", - "extracted_requirement": null, - "scope": "dependencies-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/debug@2.6.8", - "extracted_requirement": null, - "scope": "dependencies-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/escape-string-regexp@1.0.5", - "extracted_requirement": null, - "scope": "dependencies-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/esutils@2.0.2", - "extracted_requirement": null, - "scope": "dependencies-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/globals@9.18.0", - "extracted_requirement": null, - "scope": "dependencies-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/has-ansi@2.0.0", - "extracted_requirement": null, - "scope": "dependencies-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/invariant@2.2.2", - "extracted_requirement": null, - "scope": "dependencies-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/js-tokens@3.0.2", - "extracted_requirement": null, - "scope": "dependencies-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/lodash@4.17.4", - "extracted_requirement": null, - "scope": "dependencies-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/loose-envify@1.3.1", - "extracted_requirement": null, - "scope": "dependencies-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/ms@2.0.0", - "extracted_requirement": null, - "scope": "dependencies-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/strip-ansi@3.0.1", - "extracted_requirement": null, - "scope": "dependencies-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/supports-color@2.0.0", - "extracted_requirement": null, - "scope": "dependencies-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/to-fast-properties@1.0.3", - "extracted_requirement": null, - "scope": "dependencies-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/babel-runtime@6.23.0", - "repository_homepage_url": "https://www.npmjs.com/package/babel-runtime", - "repository_download_url": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", - "api_data_url": "https://registry.npmjs.org/babel-runtime/6.23.0" - }, - { - "type": "npm", - "namespace": null, - "name": "core-js", - "version": "2.5.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/core-js/-/core-js-2.5.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/core-js@2.5.0", - "repository_homepage_url": "https://www.npmjs.com/package/core-js", - "repository_download_url": "https://registry.npmjs.org/core-js/-/core-js-2.5.0.tgz", - "api_data_url": "https://registry.npmjs.org/core-js/2.5.0" - }, - { - "type": "npm", - "namespace": null, - "name": "regenerator-runtime", - "version": "0.11.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/regenerator-runtime@0.11.0", - "repository_homepage_url": "https://www.npmjs.com/package/regenerator-runtime", - "repository_download_url": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz", - "api_data_url": "https://registry.npmjs.org/regenerator-runtime/0.11.0" - }, - { - "type": "npm", - "namespace": null, - "name": "ansi-regex", - "version": "2.1.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/ansi-regex@2.1.1", - "repository_homepage_url": "https://www.npmjs.com/package/ansi-regex", - "repository_download_url": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "api_data_url": "https://registry.npmjs.org/ansi-regex/2.1.1" - }, - { - "type": "npm", - "namespace": null, - "name": "ansi-styles", - "version": "2.2.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/ansi-styles@2.2.1", - "repository_homepage_url": "https://www.npmjs.com/package/ansi-styles", - "repository_download_url": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "api_data_url": "https://registry.npmjs.org/ansi-styles/2.2.1" - }, - { - "type": "npm", - "namespace": null, - "name": "babel-code-frame", - "version": "6.22.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/chalk@1.1.3", - "extracted_requirement": "1.1.3", - "scope": "requires-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/esutils@2.0.2", - "extracted_requirement": "2.0.2", - "scope": "requires-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/js-tokens@3.0.2", - "extracted_requirement": "3.0.2", - "scope": "requires-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/babel-code-frame@6.22.0", - "repository_homepage_url": "https://www.npmjs.com/package/babel-code-frame", - "repository_download_url": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz", - "api_data_url": "https://registry.npmjs.org/babel-code-frame/6.22.0" - }, - { - "type": "npm", - "namespace": null, - "name": "babel-helpers", - "version": "6.24.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/babel-runtime@6.25.0", - "extracted_requirement": "6.25.0", - "scope": "requires-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/babel-template@6.25.0", - "extracted_requirement": "6.25.0", - "scope": "requires-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/babel-helpers@6.24.1", - "repository_homepage_url": "https://www.npmjs.com/package/babel-helpers", - "repository_download_url": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", - "api_data_url": "https://registry.npmjs.org/babel-helpers/6.24.1" - }, - { - "type": "npm", - "namespace": null, - "name": "babel-messages", - "version": "6.23.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/babel-runtime@6.25.0", - "extracted_requirement": "6.25.0", - "scope": "requires-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/babel-messages@6.23.0", - "repository_homepage_url": "https://www.npmjs.com/package/babel-messages", - "repository_download_url": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "api_data_url": "https://registry.npmjs.org/babel-messages/6.23.0" - }, - { - "type": "npm", - "namespace": null, - "name": "babel-plugin-transform-runtime", - "version": "6.23.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.23.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/babel-runtime@6.25.0", - "extracted_requirement": "6.25.0", - "scope": "requires-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/babel-plugin-transform-runtime@6.23.0", - "repository_homepage_url": "https://www.npmjs.com/package/babel-plugin-transform-runtime", - "repository_download_url": "https://registry.npmjs.org/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.23.0.tgz", - "api_data_url": "https://registry.npmjs.org/babel-plugin-transform-runtime/6.23.0" - }, - { - "type": "npm", - "namespace": null, - "name": "babel-runtime", - "version": "6.25.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.25.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/core-js@2.5.0", - "extracted_requirement": "2.5.0", - "scope": "requires-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/babel-runtime@6.25.0", - "repository_homepage_url": "https://www.npmjs.com/package/babel-runtime", - "repository_download_url": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.25.0.tgz", - "api_data_url": "https://registry.npmjs.org/babel-runtime/6.25.0" - }, - { - "type": "npm", - "namespace": null, - "name": "babel-template", - "version": "6.25.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/babel-template/-/babel-template-6.25.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/babel-runtime@6.25.0", - "extracted_requirement": "6.25.0", - "scope": "requires-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/babel-traverse@6.25.0", - "extracted_requirement": "6.25.0", - "scope": "requires-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/babel-types@6.25.0", - "extracted_requirement": "6.25.0", - "scope": "requires-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/babylon@6.18.0", - "extracted_requirement": "6.18.0", - "scope": "requires-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/lodash@4.17.4", - "extracted_requirement": "4.17.4", - "scope": "requires-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/babel-template@6.25.0", - "repository_homepage_url": "https://www.npmjs.com/package/babel-template", - "repository_download_url": "https://registry.npmjs.org/babel-template/-/babel-template-6.25.0.tgz", - "api_data_url": "https://registry.npmjs.org/babel-template/6.25.0" - }, - { - "type": "npm", - "namespace": null, - "name": "babel-traverse", - "version": "6.25.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.25.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/babel-code-frame@6.22.0", - "extracted_requirement": "6.22.0", - "scope": "requires-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/babel-messages@6.23.0", - "extracted_requirement": "6.23.0", - "scope": "requires-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/babel-runtime@6.25.0", - "extracted_requirement": "6.25.0", - "scope": "requires-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/babel-types@6.25.0", - "extracted_requirement": "6.25.0", - "scope": "requires-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/babylon@6.18.0", - "extracted_requirement": "6.18.0", - "scope": "requires-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/debug@2.6.8", - "extracted_requirement": "2.6.8", - "scope": "requires-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/globals@9.18.0", - "extracted_requirement": "9.18.0", - "scope": "requires-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/invariant@2.2.2", - "extracted_requirement": "2.2.2", - "scope": "requires-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/lodash@4.17.4", - "extracted_requirement": "4.17.4", - "scope": "requires-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/babel-traverse@6.25.0", - "repository_homepage_url": "https://www.npmjs.com/package/babel-traverse", - "repository_download_url": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.25.0.tgz", - "api_data_url": "https://registry.npmjs.org/babel-traverse/6.25.0" - }, - { - "type": "npm", - "namespace": null, - "name": "babel-types", - "version": "6.25.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/babel-runtime@6.25.0", - "extracted_requirement": "6.25.0", - "scope": "requires-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/esutils@2.0.2", - "extracted_requirement": "2.0.2", - "scope": "requires-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/lodash@4.17.4", - "extracted_requirement": "4.17.4", - "scope": "requires-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/to-fast-properties@1.0.3", - "extracted_requirement": "1.0.3", - "scope": "requires-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/babel-types@6.25.0", - "repository_homepage_url": "https://www.npmjs.com/package/babel-types", - "repository_download_url": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz", - "api_data_url": "https://registry.npmjs.org/babel-types/6.25.0" - }, - { - "type": "npm", - "namespace": null, - "name": "babylon", - "version": "6.18.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/babylon@6.18.0", - "repository_homepage_url": "https://www.npmjs.com/package/babylon", - "repository_download_url": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "api_data_url": "https://registry.npmjs.org/babylon/6.18.0" - }, - { - "type": "npm", - "namespace": null, - "name": "chalk", - "version": "1.1.3", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/ansi-styles@2.2.1", - "extracted_requirement": "2.2.1", - "scope": "requires-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/escape-string-regexp@1.0.5", - "extracted_requirement": "1.0.5", - "scope": "requires-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/has-ansi@2.0.0", - "extracted_requirement": "2.0.0", - "scope": "requires-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/strip-ansi@3.0.1", - "extracted_requirement": "3.0.1", - "scope": "requires-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - }, - { - "purl": "pkg:npm/supports-color@2.0.0", - "extracted_requirement": "2.0.0", - "scope": "requires-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/chalk@1.1.3", - "repository_homepage_url": "https://www.npmjs.com/package/chalk", - "repository_download_url": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "api_data_url": "https://registry.npmjs.org/chalk/1.1.3" - }, - { - "type": "npm", - "namespace": null, - "name": "debug", - "version": "2.6.8", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/ms@2.0.0", - "extracted_requirement": "2.0.0", - "scope": "requires-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/debug@2.6.8", - "repository_homepage_url": "https://www.npmjs.com/package/debug", - "repository_download_url": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", - "api_data_url": "https://registry.npmjs.org/debug/2.6.8" - }, - { - "type": "npm", - "namespace": null, - "name": "escape-string-regexp", - "version": "1.0.5", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/escape-string-regexp@1.0.5", - "repository_homepage_url": "https://www.npmjs.com/package/escape-string-regexp", - "repository_download_url": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "api_data_url": "https://registry.npmjs.org/escape-string-regexp/1.0.5" - }, - { - "type": "npm", - "namespace": null, - "name": "esutils", - "version": "2.0.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/esutils@2.0.2", - "repository_homepage_url": "https://www.npmjs.com/package/esutils", - "repository_download_url": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "api_data_url": "https://registry.npmjs.org/esutils/2.0.2" - }, - { - "type": "npm", - "namespace": null, - "name": "globals", - "version": "9.18.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/globals@9.18.0", - "repository_homepage_url": "https://www.npmjs.com/package/globals", - "repository_download_url": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "api_data_url": "https://registry.npmjs.org/globals/9.18.0" - }, - { - "type": "npm", - "namespace": null, - "name": "has-ansi", - "version": "2.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/ansi-regex@2.1.1", - "extracted_requirement": "2.1.1", - "scope": "requires-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/has-ansi@2.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/has-ansi", - "repository_download_url": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/has-ansi/2.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "invariant", - "version": "2.2.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/loose-envify@1.3.1", - "extracted_requirement": "1.3.1", - "scope": "requires-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/invariant@2.2.2", - "repository_homepage_url": "https://www.npmjs.com/package/invariant", - "repository_download_url": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", - "api_data_url": "https://registry.npmjs.org/invariant/2.2.2" - }, - { - "type": "npm", - "namespace": null, - "name": "js-tokens", - "version": "3.0.2", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/js-tokens@3.0.2", - "repository_homepage_url": "https://www.npmjs.com/package/js-tokens", - "repository_download_url": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "api_data_url": "https://registry.npmjs.org/js-tokens/3.0.2" - }, - { - "type": "npm", - "namespace": null, - "name": "lodash", - "version": "4.17.4", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/lodash@4.17.4", - "repository_homepage_url": "https://www.npmjs.com/package/lodash", - "repository_download_url": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "api_data_url": "https://registry.npmjs.org/lodash/4.17.4" - }, - { - "type": "npm", - "namespace": null, - "name": "loose-envify", - "version": "1.3.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/js-tokens@3.0.2", - "extracted_requirement": "3.0.2", - "scope": "requires-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/loose-envify@1.3.1", - "repository_homepage_url": "https://www.npmjs.com/package/loose-envify", - "repository_download_url": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", - "api_data_url": "https://registry.npmjs.org/loose-envify/1.3.1" - }, - { - "type": "npm", - "namespace": null, - "name": "ms", - "version": "2.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/ms@2.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/ms", - "repository_download_url": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/ms/2.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "strip-ansi", - "version": "3.0.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/ansi-regex@2.1.1", - "extracted_requirement": "2.1.1", - "scope": "requires-dev", - "is_runtime": false, - "is_optional": true, - "is_resolved": true, - "resolved_package": {} - } - ], - "purl": "pkg:npm/strip-ansi@3.0.1", - "repository_homepage_url": "https://www.npmjs.com/package/strip-ansi", - "repository_download_url": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/strip-ansi/3.0.1" - }, - { - "type": "npm", - "namespace": null, - "name": "supports-color", - "version": "2.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/supports-color@2.0.0", - "repository_homepage_url": "https://www.npmjs.com/package/supports-color", - "repository_download_url": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/supports-color/2.0.0" - }, - { - "type": "npm", - "namespace": null, - "name": "to-fast-properties", - "version": "1.0.3", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "dependencies": [], - "purl": "pkg:npm/to-fast-properties@1.0.3", - "repository_homepage_url": "https://www.npmjs.com/package/to-fast-properties", - "repository_download_url": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "api_data_url": "https://registry.npmjs.org/to-fast-properties/1.0.3" - } -] \ No newline at end of file diff --git a/tests/packagedcode/data/npm/repo_url/package.json.expected b/tests/packagedcode/data/npm/repo_url/package.json.expected index 74ebb331bff..0fb2055ddc8 100644 --- a/tests/packagedcode/data/npm/repo_url/package.json.expected +++ b/tests/packagedcode/data/npm/repo_url/package.json.expected @@ -40,8 +40,8 @@ "license_expression": null, "declared_license": [], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -333,9 +333,10 @@ "resolved_package": {} } ], - "purl": "pkg:npm/react-mobile-navigation-modal@0.1.0-rc.3", "repository_homepage_url": "https://www.npmjs.com/package/react-mobile-navigation-modal", "repository_download_url": "https://registry.npmjs.org/react-mobile-navigation-modal/-/react-mobile-navigation-modal-0.1.0-rc.3.tgz", - "api_data_url": "https://registry.npmjs.org/react-mobile-navigation-modal/0.1.0-rc.3" + "api_data_url": "https://registry.npmjs.org/react-mobile-navigation-modal/0.1.0-rc.3", + "datasource_id": "npm_package_json", + "purl": "pkg:npm/react-mobile-navigation-modal@0.1.0-rc.3" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/npm/scan-nested/scan.expected.json b/tests/packagedcode/data/npm/scan-nested/scan.expected.json new file mode 100644 index 00000000000..711bb6bf008 --- /dev/null +++ b/tests/packagedcode/data/npm/scan-nested/scan.expected.json @@ -0,0 +1,1619 @@ +{ + "headers": [ + { + "tool_name": "scancode-toolkit", + "options": { + "input": "", + "--json": "", + "--package": true + }, + "notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.", + "output_format_version": "2.0.0", + "message": null, + "errors": [], + "warnings": [], + "extra_data": { + "spdx_license_list_version": "3.16", + "files_count": 5 + } + } + ], + "dependencies": [ + { + "purl": "pkg:npm/lodash._baseclone", + "extracted_requirement": "~4.5.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/lodash._baseclone?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/lodash.clonedeep@4.3.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/ms@2.0.0", + "extracted_requirement": "2.0.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "ms", + "version": "2.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "size": null, + "sha1": "5608aeadfc00be6c2901df5f9861788de0d597c8", + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "ms", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/ms", + "repository_download_url": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/ms/2.0.0", + "datasource_id": "npm_package_lock_json", + "purl": "pkg:npm/ms@2.0.0" + }, + "dependency_uid": "pkg:npm/ms@2.0.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/lodash.clonedeep@4.3.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package-lock.json", + "datasource_id": "npm_package_lock_json" + }, + { + "purl": "pkg:npm/regenerator-runtime@0.11.0", + "extracted_requirement": "0.11.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "regenerator-runtime", + "version": "0.11.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": "fda03490b7916f937d2b47787f0ee8a046c8fb10def83283e3df4442aca01aa792f0ddf1b68d79a74f6e636c63ee2c4ff35b0d3d7bd12e701022a7554ad81bd4", + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "regenerator-runtime", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/regenerator-runtime", + "repository_download_url": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz", + "api_data_url": "https://registry.npmjs.org/regenerator-runtime/0.11.0", + "datasource_id": "npm_package_lock_json", + "purl": "pkg:npm/regenerator-runtime@0.11.0" + }, + "dependency_uid": "pkg:npm/regenerator-runtime@0.11.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/lodash.clonedeep@4.3.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package-lock.json", + "datasource_id": "npm_package_lock_json" + }, + { + "purl": "pkg:npm/to-fast-properties@1.0.3", + "extracted_requirement": "1.0.3", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "to-fast-properties", + "version": "1.0.3", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "size": null, + "sha1": "b83571fa4d8c25b82e231b06e3a3055de4ca1a47", + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "to-fast-properties", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/to-fast-properties", + "repository_download_url": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "api_data_url": "https://registry.npmjs.org/to-fast-properties/1.0.3", + "datasource_id": "npm_package_lock_json", + "purl": "pkg:npm/to-fast-properties@1.0.3" + }, + "dependency_uid": "pkg:npm/to-fast-properties@1.0.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/lodash.clonedeep@4.3.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package-lock.json", + "datasource_id": "npm_package_lock_json" + }, + { + "purl": "pkg:npm/bluebird", + "extracted_requirement": "^3.3.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/bluebird?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/sequelize@3.30.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/node_modules/sequelize/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/wkx", + "extracted_requirement": "0.2.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/wkx?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/sequelize@3.30.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/node_modules/sequelize/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/chai", + "extracted_requirement": "^3.5.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/chai?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/sequelize@3.30.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/node_modules/sequelize/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/chai-as-promised", + "extracted_requirement": "^5.1.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/chai-as-promised?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/sequelize@3.30.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/node_modules/sequelize/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/watchr", + "extracted_requirement": "~2.4.11", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/watchr?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/sequelize@3.30.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/node_modules/sequelize/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/ansi-regex@2.1.1", + "extracted_requirement": "2.1.1", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "ansi-regex", + "version": "2.1.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "size": null, + "sha1": "c3b33ab5ee360d86e0e628f0468ae7ef27d654df", + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "ansi-regex", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/ansi-regex", + "repository_download_url": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "api_data_url": "https://registry.npmjs.org/ansi-regex/2.1.1", + "datasource_id": "npm_package_lock_json", + "purl": "pkg:npm/ansi-regex@2.1.1" + }, + "dependency_uid": "pkg:npm/ansi-regex@2.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/sequelize@3.30.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/node_modules/sequelize/package-lock.json", + "datasource_id": "npm_package_lock_json" + }, + { + "purl": "pkg:npm/to-fast-properties@1.0.3", + "extracted_requirement": "1.0.3", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "to-fast-properties", + "version": "1.0.3", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "size": null, + "sha1": "b83571fa4d8c25b82e231b06e3a3055de4ca1a47", + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "to-fast-properties", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/to-fast-properties", + "repository_download_url": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "api_data_url": "https://registry.npmjs.org/to-fast-properties/1.0.3", + "datasource_id": "npm_package_lock_json", + "purl": "pkg:npm/to-fast-properties@1.0.3" + }, + "dependency_uid": "pkg:npm/to-fast-properties@1.0.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/sequelize@3.30.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/node_modules/sequelize/package-lock.json", + "datasource_id": "npm_package_lock_json" + }, + { + "purl": "pkg:npm/abbrev@1.0.9", + "extracted_requirement": "1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "abbrev", + "version": "1.0.9", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz", + "size": null, + "sha1": "91b4792588a7738c25f35dd6f63752a2f8776135", + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/abbrev", + "repository_download_url": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", + "api_data_url": "https://registry.npmjs.org/abbrev/1.0.9", + "datasource_id": "yarn_lock_v1", + "purl": "pkg:npm/abbrev@1.0.9" + }, + "dependency_uid": "pkg:npm/abbrev@1.0.9?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/sequelize@3.30.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/node_modules/sequelize/yarn.lock", + "datasource_id": "yarn_lock_v1" + }, + { + "purl": "pkg:npm/xdg-basedir@2.0.0", + "extracted_requirement": "^2.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "xdg-basedir", + "version": "2.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-2.0.0.tgz", + "size": null, + "sha1": "edbc903cc385fc04523d966a335504b5504d1bd2", + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:npm/os-homedir", + "extracted_requirement": "^1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + } + ], + "repository_homepage_url": "https://www.npmjs.com/package/xdg-basedir", + "repository_download_url": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-2.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/xdg-basedir/2.0.0", + "datasource_id": "yarn_lock_v1", + "purl": "pkg:npm/xdg-basedir@2.0.0" + }, + "dependency_uid": "pkg:npm/xdg-basedir@2.0.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/sequelize@3.30.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/node_modules/sequelize/yarn.lock", + "datasource_id": "yarn_lock_v1" + }, + { + "purl": "pkg:npm/xtend@4.0.1", + "extracted_requirement": "^4.0.0 ~4.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "xtend", + "version": "4.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz", + "size": null, + "sha1": "a5c6d532be656e23db820efb943a1f04998d63af", + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/xtend", + "repository_download_url": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "api_data_url": "https://registry.npmjs.org/xtend/4.0.1", + "datasource_id": "yarn_lock_v1", + "purl": "pkg:npm/xtend@4.0.1" + }, + "dependency_uid": "pkg:npm/xtend@4.0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/sequelize@3.30.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/node_modules/sequelize/yarn.lock", + "datasource_id": "yarn_lock_v1" + }, + { + "purl": "pkg:npm/yallist@2.0.0", + "extracted_requirement": "^2.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "yallist", + "version": "2.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.yarnpkg.com/yallist/-/yallist-2.0.0.tgz", + "size": null, + "sha1": "306c543835f09ee1a4cb23b7bce9ab341c91cdd4", + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/yallist", + "repository_download_url": "https://registry.npmjs.org/yallist/-/yallist-2.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/yallist/2.0.0", + "datasource_id": "yarn_lock_v1", + "purl": "pkg:npm/yallist@2.0.0" + }, + "dependency_uid": "pkg:npm/yallist@2.0.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/sequelize@3.30.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/node_modules/sequelize/yarn.lock", + "datasource_id": "yarn_lock_v1" + } + ], + "packages": [ + { + "type": "npm", + "namespace": null, + "name": "lodash.clonedeep", + "version": "4.3.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": "The lodash method `_.cloneDeep` exported as a module.", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "John-David Dalton", + "email": "john.david.dalton@gmail.com", + "url": "http://allyoucanleet.com/" + }, + { + "type": "person", + "role": "contributor", + "name": "John-David Dalton", + "email": "john.david.dalton@gmail.com", + "url": "http://allyoucanleet.com/" + }, + { + "type": "person", + "role": "contributor", + "name": "Blaine Bublitz", + "email": "blaine.bublitz@gmail.com", + "url": "https://github.com/phated" + }, + { + "type": "person", + "role": "contributor", + "name": "Mathias Bynens", + "email": "mathias@qiwi.be", + "url": "https://mathiasbynens.be/" + } + ], + "keywords": [ + "lodash-modularized", + "clonedeep" + ], + "homepage_url": "https://lodash.com/", + "download_url": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.3.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": "https://github.com/lodash/lodash", + "copyright": null, + "license_expression": "mit", + "declared_license": [ + "MIT" + ], + "notice_text": null, + "source_packages": [], + "extra_data": {}, + "repository_homepage_url": "https://www.npmjs.com/package/lodash.clonedeep", + "repository_download_url": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.3.2.tgz", + "api_data_url": "https://registry.npmjs.org/lodash.clonedeep/4.3.2", + "package_uid": "pkg:npm/lodash.clonedeep@4.3.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "scan/package.json" + ], + "datasource_ids": [ + "npm_package_json" + ], + "purl": "pkg:npm/lodash.clonedeep@4.3.2" + }, + { + "type": "npm", + "namespace": null, + "name": "sequelize", + "version": "3.30.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": "Multi dialect ORM for Node.JS/io.js", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Sascha Depold", + "email": "sascha@depold.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Sascha Depold", + "email": "sascha@depold.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jan Aagaard Meier", + "email": "janzeh@gmail.com\njmei@itu.dk", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Daniel Durante", + "email": "me@danieldurante.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mick Hansen", + "email": "mick.kasper.hansen@gmail.com", + "url": null + } + ], + "keywords": [ + "mysql", + "nodejs", + "object relational mapper" + ], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/sequelize/-/sequelize-3.30.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": "https://github.com/sequelize/sequelize/issues", + "code_view_url": null, + "vcs_url": "git+https://github.com/sequelize/sequelize.git", + "copyright": null, + "license_expression": "mit", + "declared_license": [ + "MIT" + ], + "notice_text": null, + "source_packages": [], + "extra_data": {}, + "repository_homepage_url": "https://www.npmjs.com/package/sequelize", + "repository_download_url": "https://registry.npmjs.org/sequelize/-/sequelize-3.30.2.tgz", + "api_data_url": "https://registry.npmjs.org/sequelize/3.30.2", + "package_uid": "pkg:npm/sequelize@3.30.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "scan/node_modules/sequelize/package.json" + ], + "datasource_ids": [ + "npm_package_json" + ], + "purl": "pkg:npm/sequelize@3.30.2" + } + ], + "files": [ + { + "path": "scan", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "scan/node_modules", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "scan/node_modules/sequelize", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "scan/node_modules/sequelize/package-lock.json", + "type": "file", + "package_data": [ + { + "type": "npm", + "namespace": "", + "name": "babel-runtime", + "version": "6.23.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": { + "lockfile_version": 1 + }, + "dependencies": [ + { + "purl": "pkg:npm/ansi-regex@2.1.1", + "extracted_requirement": "2.1.1", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "ansi-regex", + "version": "2.1.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "size": null, + "sha1": "c3b33ab5ee360d86e0e628f0468ae7ef27d654df", + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "ansi-regex", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/ansi-regex", + "repository_download_url": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "api_data_url": "https://registry.npmjs.org/ansi-regex/2.1.1", + "datasource_id": "npm_package_lock_json", + "purl": "pkg:npm/ansi-regex@2.1.1" + } + }, + { + "purl": "pkg:npm/to-fast-properties@1.0.3", + "extracted_requirement": "1.0.3", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "to-fast-properties", + "version": "1.0.3", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "size": null, + "sha1": "b83571fa4d8c25b82e231b06e3a3055de4ca1a47", + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "to-fast-properties", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/to-fast-properties", + "repository_download_url": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "api_data_url": "https://registry.npmjs.org/to-fast-properties/1.0.3", + "datasource_id": "npm_package_lock_json", + "purl": "pkg:npm/to-fast-properties@1.0.3" + } + } + ], + "repository_homepage_url": "https://www.npmjs.com/package/babel-runtime", + "repository_download_url": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", + "api_data_url": "https://registry.npmjs.org/babel-runtime/6.23.0", + "datasource_id": "npm_package_lock_json", + "purl": "pkg:npm/babel-runtime@6.23.0" + } + ], + "for_packages": [ + "pkg:npm/sequelize@3.30.2?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "scan/node_modules/sequelize/package.json", + "type": "file", + "package_data": [ + { + "type": "npm", + "namespace": null, + "name": "sequelize", + "version": "3.30.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": "Multi dialect ORM for Node.JS/io.js", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Sascha Depold", + "email": "sascha@depold.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Sascha Depold", + "email": "sascha@depold.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jan Aagaard Meier", + "email": "janzeh@gmail.com\njmei@itu.dk", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Daniel Durante", + "email": "me@danieldurante.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mick Hansen", + "email": "mick.kasper.hansen@gmail.com", + "url": null + } + ], + "keywords": [ + "mysql", + "nodejs", + "object relational mapper" + ], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/sequelize/-/sequelize-3.30.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": "https://github.com/sequelize/sequelize/issues", + "code_view_url": null, + "vcs_url": "git+https://github.com/sequelize/sequelize.git", + "copyright": null, + "license_expression": "mit", + "declared_license": [ + "MIT" + ], + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:npm/bluebird", + "extracted_requirement": "^3.3.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/wkx", + "extracted_requirement": "0.2.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/chai", + "extracted_requirement": "^3.5.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/chai-as-promised", + "extracted_requirement": "^5.1.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/watchr", + "extracted_requirement": "~2.4.11", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + } + ], + "repository_homepage_url": "https://www.npmjs.com/package/sequelize", + "repository_download_url": "https://registry.npmjs.org/sequelize/-/sequelize-3.30.2.tgz", + "api_data_url": "https://registry.npmjs.org/sequelize/3.30.2", + "datasource_id": "npm_package_json", + "purl": "pkg:npm/sequelize@3.30.2" + } + ], + "for_packages": [ + "pkg:npm/sequelize@3.30.2?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "scan/node_modules/sequelize/yarn.lock", + "type": "file", + "package_data": [ + { + "type": "npm", + "namespace": null, + "name": null, + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:npm/abbrev@1.0.9", + "extracted_requirement": "1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "abbrev", + "version": "1.0.9", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz", + "size": null, + "sha1": "91b4792588a7738c25f35dd6f63752a2f8776135", + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/abbrev", + "repository_download_url": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", + "api_data_url": "https://registry.npmjs.org/abbrev/1.0.9", + "datasource_id": "yarn_lock_v1", + "purl": "pkg:npm/abbrev@1.0.9" + } + }, + { + "purl": "pkg:npm/xdg-basedir@2.0.0", + "extracted_requirement": "^2.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "xdg-basedir", + "version": "2.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-2.0.0.tgz", + "size": null, + "sha1": "edbc903cc385fc04523d966a335504b5504d1bd2", + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:npm/os-homedir", + "extracted_requirement": "^1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + } + ], + "repository_homepage_url": "https://www.npmjs.com/package/xdg-basedir", + "repository_download_url": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-2.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/xdg-basedir/2.0.0", + "datasource_id": "yarn_lock_v1", + "purl": "pkg:npm/xdg-basedir@2.0.0" + } + }, + { + "purl": "pkg:npm/xtend@4.0.1", + "extracted_requirement": "^4.0.0 ~4.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "xtend", + "version": "4.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz", + "size": null, + "sha1": "a5c6d532be656e23db820efb943a1f04998d63af", + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/xtend", + "repository_download_url": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "api_data_url": "https://registry.npmjs.org/xtend/4.0.1", + "datasource_id": "yarn_lock_v1", + "purl": "pkg:npm/xtend@4.0.1" + } + }, + { + "purl": "pkg:npm/yallist@2.0.0", + "extracted_requirement": "^2.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "yallist", + "version": "2.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.yarnpkg.com/yallist/-/yallist-2.0.0.tgz", + "size": null, + "sha1": "306c543835f09ee1a4cb23b7bce9ab341c91cdd4", + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/yallist", + "repository_download_url": "https://registry.npmjs.org/yallist/-/yallist-2.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/yallist/2.0.0", + "datasource_id": "yarn_lock_v1", + "purl": "pkg:npm/yallist@2.0.0" + } + } + ], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "yarn_lock_v1", + "purl": null + } + ], + "for_packages": [ + "pkg:npm/sequelize@3.30.2?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "scan/package-lock.json", + "type": "file", + "package_data": [ + { + "type": "npm", + "namespace": "", + "name": "babel-runtime", + "version": "6.23.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": { + "lockfile_version": 1 + }, + "dependencies": [ + { + "purl": "pkg:npm/ms@2.0.0", + "extracted_requirement": "2.0.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "ms", + "version": "2.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "size": null, + "sha1": "5608aeadfc00be6c2901df5f9861788de0d597c8", + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "ms", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/ms", + "repository_download_url": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/ms/2.0.0", + "datasource_id": "npm_package_lock_json", + "purl": "pkg:npm/ms@2.0.0" + } + }, + { + "purl": "pkg:npm/regenerator-runtime@0.11.0", + "extracted_requirement": "0.11.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "regenerator-runtime", + "version": "0.11.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": "fda03490b7916f937d2b47787f0ee8a046c8fb10def83283e3df4442aca01aa792f0ddf1b68d79a74f6e636c63ee2c4ff35b0d3d7bd12e701022a7554ad81bd4", + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "regenerator-runtime", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/regenerator-runtime", + "repository_download_url": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz", + "api_data_url": "https://registry.npmjs.org/regenerator-runtime/0.11.0", + "datasource_id": "npm_package_lock_json", + "purl": "pkg:npm/regenerator-runtime@0.11.0" + } + }, + { + "purl": "pkg:npm/to-fast-properties@1.0.3", + "extracted_requirement": "1.0.3", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "to-fast-properties", + "version": "1.0.3", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "size": null, + "sha1": "b83571fa4d8c25b82e231b06e3a3055de4ca1a47", + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + [ + { + "path": "to-fast-properties", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/to-fast-properties", + "repository_download_url": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "api_data_url": "https://registry.npmjs.org/to-fast-properties/1.0.3", + "datasource_id": "npm_package_lock_json", + "purl": "pkg:npm/to-fast-properties@1.0.3" + } + } + ], + "repository_homepage_url": "https://www.npmjs.com/package/babel-runtime", + "repository_download_url": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", + "api_data_url": "https://registry.npmjs.org/babel-runtime/6.23.0", + "datasource_id": "npm_package_lock_json", + "purl": "pkg:npm/babel-runtime@6.23.0" + } + ], + "for_packages": [ + "pkg:npm/lodash.clonedeep@4.3.2?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "scan/package.json", + "type": "file", + "package_data": [ + { + "type": "npm", + "namespace": null, + "name": "lodash.clonedeep", + "version": "4.3.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": "The lodash method `_.cloneDeep` exported as a module.", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "John-David Dalton", + "email": "john.david.dalton@gmail.com", + "url": "http://allyoucanleet.com/" + }, + { + "type": "person", + "role": "contributor", + "name": "John-David Dalton", + "email": "john.david.dalton@gmail.com", + "url": "http://allyoucanleet.com/" + }, + { + "type": "person", + "role": "contributor", + "name": "Blaine Bublitz", + "email": "blaine.bublitz@gmail.com", + "url": "https://github.com/phated" + }, + { + "type": "person", + "role": "contributor", + "name": "Mathias Bynens", + "email": "mathias@qiwi.be", + "url": "https://mathiasbynens.be/" + } + ], + "keywords": [ + "lodash-modularized", + "clonedeep" + ], + "homepage_url": "https://lodash.com/", + "download_url": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.3.2.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": "https://github.com/lodash/lodash", + "copyright": null, + "license_expression": "mit", + "declared_license": [ + "MIT" + ], + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:npm/lodash._baseclone", + "extracted_requirement": "~4.5.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + } + ], + "repository_homepage_url": "https://www.npmjs.com/package/lodash.clonedeep", + "repository_download_url": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.3.2.tgz", + "api_data_url": "https://registry.npmjs.org/lodash.clonedeep/4.3.2", + "datasource_id": "npm_package_json", + "purl": "pkg:npm/lodash.clonedeep@4.3.2" + } + ], + "for_packages": [ + "pkg:npm/lodash.clonedeep@4.3.2?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + } + ] +} \ No newline at end of file diff --git a/tests/packagedcode/data/npm/scan-nested/scan/node_modules/sequelize/package-lock.json b/tests/packagedcode/data/npm/scan-nested/scan/node_modules/sequelize/package-lock.json new file mode 100644 index 00000000000..9085692db8b --- /dev/null +++ b/tests/packagedcode/data/npm/scan-nested/scan/node_modules/sequelize/package-lock.json @@ -0,0 +1,20 @@ +{ + "name": "babel-runtime", + "version": "6.23.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "dev": true + } + } +} diff --git a/tests/packagedcode/data/npm/scan-nested/scan/node_modules/sequelize/package.json b/tests/packagedcode/data/npm/scan-nested/scan/node_modules/sequelize/package.json new file mode 100644 index 00000000000..14e5ae7c8a7 --- /dev/null +++ b/tests/packagedcode/data/npm/scan-nested/scan/node_modules/sequelize/package.json @@ -0,0 +1,60 @@ +{ + "name": "sequelize", + "description": "Multi dialect ORM for Node.JS/io.js", + "version": "3.30.2", + "author": "Sascha Depold ", + "contributors": [ + { + "name": "Sascha Depold", + "email": "sascha@depold.com" + }, + { + "name": "Jan Aagaard Meier", + "email": [ + "janzeh@gmail.com", + "jmei@itu.dk" + ] + }, + { + "name": "Daniel Durante", + "email": "me@danieldurante.com" + }, + { + "name": "Mick Hansen", + "email": "mick.kasper.hansen@gmail.com" + } + ], + "repository": { + "type": "git", + "url": "https://github.com/sequelize/sequelize.git" + }, + "bugs": { + "url": "https://github.com/sequelize/sequelize/issues" + }, + "dependencies": { + "bluebird": "^3.3.4", + "wkx": "0.2.0" + }, + "devDependencies": { + "chai": "^3.5.0", + "chai-as-promised": "^5.1.0", + "watchr": "~2.4.11" + }, + "keywords": [ + "mysql", + "nodejs", + "object relational mapper" + ], + "main": "index", + "scripts": { + "test": "npm run jshint && npm run teaser && npm run test-unit && npm run test-integration", + "test-docker": "docker-compose run sequelize /bin/sh -c \"npm run test-all\"", + "test-docker-unit": "docker-compose run sequelize /bin/sh -c \"npm run test-unit-all\"", + "sscce-postgres": "cross-env DIALECT=postgres npm run sscce", + "sscce-sqlite": "cross-env DIALECT=sqlite npm run sscce" + }, + "engines": { + "node": ">=0.6.21" + }, + "license": "MIT" +} diff --git a/tests/packagedcode/data/npm/scan-nested/scan/node_modules/sequelize/yarn.lock b/tests/packagedcode/data/npm/scan-nested/scan/node_modules/sequelize/yarn.lock new file mode 100644 index 00000000000..c2b9f543578 --- /dev/null +++ b/tests/packagedcode/data/npm/scan-nested/scan/node_modules/sequelize/yarn.lock @@ -0,0 +1,21 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +abbrev@1: + version "1.0.9" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" + +xdg-basedir@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-2.0.0.tgz#edbc903cc385fc04523d966a335504b5504d1bd2" + dependencies: + os-homedir "^1.0.0" + +xtend@^4.0.0, xtend@~4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" + +yallist@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.0.0.tgz#306c543835f09ee1a4cb23b7bce9ab341c91cdd4" diff --git a/tests/packagedcode/data/npm/scan-nested/scan/package-lock.json b/tests/packagedcode/data/npm/scan-nested/scan/package-lock.json new file mode 100644 index 00000000000..0f1d2242175 --- /dev/null +++ b/tests/packagedcode/data/npm/scan-nested/scan/package-lock.json @@ -0,0 +1,25 @@ +{ + "name": "babel-runtime", + "version": "6.23.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "regenerator-runtime": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz", + "integrity": "sha512-/aA0kLeRb5N9K0d4fw7ooEbI+xDe+DKD499EQqygGqeS8N3xto15p09uY2xj7ixP81sNPXvRLnAQIqdVStgb1A==" + }, + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "dev": true + } + } +} diff --git a/tests/packagedcode/data/npm/scan-nested/scan/package.json b/tests/packagedcode/data/npm/scan-nested/scan/package.json new file mode 100644 index 00000000000..7e93cafa937 --- /dev/null +++ b/tests/packagedcode/data/npm/scan-nested/scan/package.json @@ -0,0 +1,20 @@ +{ + "name": "lodash.clonedeep", + "version": "4.3.2", + "description": "The lodash method `_.cloneDeep` exported as a module.", + "homepage": "https://lodash.com/", + "icon": "https://lodash.com/icon.svg", + "license": "MIT", + "keywords": "lodash-modularized, clonedeep", + "author": "John-David Dalton (http://allyoucanleet.com/)", + "contributors": [ + "John-David Dalton (http://allyoucanleet.com/)", + "Blaine Bublitz (https://github.com/phated)", + "Mathias Bynens (https://mathiasbynens.be/)" + ], + "repository": "lodash/lodash", + "scripts": { "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\"" }, + "dependencies": { + "lodash._baseclone": "~4.5.0" + } +} diff --git a/tests/packagedcode/data/npm/scoped1/package.json.expected b/tests/packagedcode/data/npm/scoped1/package.json.expected index a14b9549d76..3c23e5e0c1c 100644 --- a/tests/packagedcode/data/npm/scoped1/package.json.expected +++ b/tests/packagedcode/data/npm/scoped1/package.json.expected @@ -35,8 +35,8 @@ "MIT" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -589,9 +589,10 @@ "resolved_package": {} } ], - "purl": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", "repository_homepage_url": "https://www.npmjs.com/package/@ionic/app-scripts", "repository_download_url": "https://registry.npmjs.org/@ionic/app-scripts/-/app-scripts-3.0.1-201710301651.tgz", - "api_data_url": "https://registry.npmjs.org/@ionic%2fapp-scripts" + "api_data_url": "https://registry.npmjs.org/@ionic%2fapp-scripts", + "datasource_id": "npm_package_json", + "purl": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/npm/scoped2/package.json.expected b/tests/packagedcode/data/npm/scoped2/package.json.expected index 8346e6bb082..4752b49d1f7 100644 --- a/tests/packagedcode/data/npm/scoped2/package.json.expected +++ b/tests/packagedcode/data/npm/scoped2/package.json.expected @@ -35,8 +35,8 @@ "MIT" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -148,9 +148,10 @@ "resolved_package": {} } ], - "purl": "pkg:npm/%40invisionag/eslint-config-ivx@0.0.2", "repository_homepage_url": "https://www.npmjs.com/package/@invisionag/eslint-config-ivx", "repository_download_url": "https://registry.npmjs.org/@invisionag/eslint-config-ivx/-/eslint-config-ivx-0.0.2.tgz", - "api_data_url": "https://registry.npmjs.org/@invisionag%2feslint-config-ivx" + "api_data_url": "https://registry.npmjs.org/@invisionag%2feslint-config-ivx", + "datasource_id": "npm_package_json", + "purl": "pkg:npm/%40invisionag/eslint-config-ivx@0.0.2" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/npm/sequelize/package.json.expected b/tests/packagedcode/data/npm/sequelize/package.json.expected index e65a37549bd..ee79728c6c0 100644 --- a/tests/packagedcode/data/npm/sequelize/package.json.expected +++ b/tests/packagedcode/data/npm/sequelize/package.json.expected @@ -72,8 +72,8 @@ "MIT" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -455,9 +455,10 @@ "resolved_package": {} } ], - "purl": "pkg:npm/sequelize@3.30.2", "repository_homepage_url": "https://www.npmjs.com/package/sequelize", "repository_download_url": "https://registry.npmjs.org/sequelize/-/sequelize-3.30.2.tgz", - "api_data_url": "https://registry.npmjs.org/sequelize/3.30.2" + "api_data_url": "https://registry.npmjs.org/sequelize/3.30.2", + "datasource_id": "npm_package_json", + "purl": "pkg:npm/sequelize@3.30.2" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/npm/uri_vcs/package.json.expected b/tests/packagedcode/data/npm/uri_vcs/package.json.expected index 8f1890787fe..50344b99cbf 100644 --- a/tests/packagedcode/data/npm/uri_vcs/package.json.expected +++ b/tests/packagedcode/data/npm/uri_vcs/package.json.expected @@ -38,8 +38,8 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -106,9 +106,10 @@ "resolved_package": {} } ], - "purl": "pkg:npm/npm2aur@0.1.3", "repository_homepage_url": "https://www.npmjs.com/package/npm2aur", "repository_download_url": "https://registry.npmjs.org/npm2aur/-/npm2aur-0.1.3.tgz", - "api_data_url": "https://registry.npmjs.org/npm2aur/0.1.3" + "api_data_url": "https://registry.npmjs.org/npm2aur/0.1.3", + "datasource_id": "npm_package_json", + "purl": "pkg:npm/npm2aur@0.1.3" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/npm/urls_dict/package.json.expected b/tests/packagedcode/data/npm/urls_dict/package.json.expected index a308bd41fce..194b5e8adc8 100644 --- a/tests/packagedcode/data/npm/urls_dict/package.json.expected +++ b/tests/packagedcode/data/npm/urls_dict/package.json.expected @@ -43,8 +43,8 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -57,9 +57,10 @@ "resolved_package": {} } ], - "purl": "pkg:npm/jsonp-filter@0.0.3", "repository_homepage_url": "https://www.npmjs.com/package/jsonp-filter", "repository_download_url": "https://registry.npmjs.org/jsonp-filter/-/jsonp-filter-0.0.3.tgz", - "api_data_url": "https://registry.npmjs.org/jsonp-filter/0.0.3" + "api_data_url": "https://registry.npmjs.org/jsonp-filter/0.0.3", + "datasource_id": "npm_package_json", + "purl": "pkg:npm/jsonp-filter@0.0.3" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/npm/utils-merge-1.0.0/package.json.expected b/tests/packagedcode/data/npm/utils-merge-1.0.0/package.json.expected index df4d3dabb24..b13b1714f71 100644 --- a/tests/packagedcode/data/npm/utils-merge-1.0.0/package.json.expected +++ b/tests/packagedcode/data/npm/utils-merge-1.0.0/package.json.expected @@ -40,8 +40,8 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -63,9 +63,10 @@ "resolved_package": {} } ], - "purl": "pkg:npm/utils-merge@1.0.0", "repository_homepage_url": "https://www.npmjs.com/package/utils-merge", "repository_download_url": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/utils-merge/1.0.0" + "api_data_url": "https://registry.npmjs.org/utils-merge/1.0.0", + "datasource_id": "npm_package_json", + "purl": "pkg:npm/utils-merge@1.0.0" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/npm/with_name/package.json.expected b/tests/packagedcode/data/npm/with_name/package.json.expected index ee97c1b3fe1..7fccf7fe3f5 100644 --- a/tests/packagedcode/data/npm/with_name/package.json.expected +++ b/tests/packagedcode/data/npm/with_name/package.json.expected @@ -30,13 +30,14 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:npm/bson", "repository_homepage_url": "https://www.npmjs.com/package/bson", "repository_download_url": "https://registry.npmjs.org/bson/-/bson-None.tgz", - "api_data_url": "https://registry.npmjs.org/bson" + "api_data_url": "https://registry.npmjs.org/bson", + "datasource_id": "npm_package_json", + "purl": "pkg:npm/bson" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/npm/yarn-lock/v1-complex/yarn.lock b/tests/packagedcode/data/npm/yarn-lock/v1-complex/yarn.lock new file mode 100644 index 00000000000..ba267ae31a3 --- /dev/null +++ b/tests/packagedcode/data/npm/yarn-lock/v1-complex/yarn.lock @@ -0,0 +1,27 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@babel/code-frame@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8" + integrity sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA== + dependencies: + "@babel/highlight" "^7.0.0" + +"@babel/core@^7.1.0", "@babel/core@^7.3.4": + version "7.3.4" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.3.4.tgz#921a5a13746c21e32445bf0798680e9d11a6530b" + integrity sha512-jRsuseXBo9pN197KnDwhhaaBzyZr2oIcLHHTt2oDdQrej5Qp57dCCJafWx5ivU8/alEYDpssYqv1MUqcxwQlrA== + dependencies: + "@babel/code-frame" "^7.0.0" + "@babel/generator" "^7.3.4" + "@babel/types" "^7.3.4" + source-map "^0.5.0" + +"@babel/helper-annotate-as-pure@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz#323d39dd0b50e10c7c06ca7d7638e6864d8c5c32" + integrity sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q== + dependencies: + "@babel/types" "^7.0.0" diff --git a/tests/packagedcode/data/npm/yarn-lock/v1-complex/yarn.lock-expected b/tests/packagedcode/data/npm/yarn-lock/v1-complex/yarn.lock-expected new file mode 100644 index 00000000000..fab585ee1e2 --- /dev/null +++ b/tests/packagedcode/data/npm/yarn-lock/v1-complex/yarn.lock-expected @@ -0,0 +1,228 @@ +[ + { + "type": "npm", + "namespace": null, + "name": null, + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:npm/%40babel/code-frame@7.0.0", + "extracted_requirement": "^7.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "@babel", + "name": "code-frame", + "version": "7.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz", + "size": null, + "sha1": "06e2ab19bdb535385559aabb5ba59729482800f8", + "md5": null, + "sha256": null, + "sha512": "39f0b6b9e99a9275ebf3b6dd2d4916a20ee762e96233d223e4751c6a3b1570c0a942b70b9adc516d515322a99c4a449e611045051c6cd85894a852432dd89e6c", + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:npm/%22%40babel/highlight%22", + "extracted_requirement": "^7.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + } + ], + "repository_homepage_url": "https://www.npmjs.com/package/@babel/code-frame", + "repository_download_url": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/@babel%2fcode-frame", + "datasource_id": "yarn_lock_v1", + "purl": "pkg:npm/%40babel/code-frame@7.0.0" + } + }, + { + "purl": "pkg:npm/%40babel/core@7.3.4", + "extracted_requirement": "^7.1.0 ^7.3.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "@babel", + "name": "core", + "version": "7.3.4", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.yarnpkg.com/@babel/core/-/core-7.3.4.tgz", + "size": null, + "sha1": "921a5a13746c21e32445bf0798680e9d11a6530b", + "md5": null, + "sha256": null, + "sha512": "8d1b2eb1e5c1a3da4dd7deca9c3c2185a681cf266bda821c2c71d3b76a03750ade8f9429e7b74208969f5b1e62bd4f3f6a51180e9b2c62abf5314a9cc70425ac", + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:npm/%22%40babel/code-frame%22", + "extracted_requirement": "^7.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/%22%40babel/generator%22", + "extracted_requirement": "^7.3.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/%22%40babel/types%22", + "extracted_requirement": "^7.3.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/source-map", + "extracted_requirement": "^0.5.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + } + ], + "repository_homepage_url": "https://www.npmjs.com/package/@babel/core", + "repository_download_url": "https://registry.npmjs.org/@babel/core/-/core-7.3.4.tgz", + "api_data_url": "https://registry.npmjs.org/@babel%2fcore", + "datasource_id": "yarn_lock_v1", + "purl": "pkg:npm/%40babel/core@7.3.4" + } + }, + { + "purl": "pkg:npm/%40babel/helper-annotate-as-pure@7.0.0", + "extracted_requirement": "^7.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "@babel", + "name": "helper-annotate-as-pure", + "version": "7.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", + "size": null, + "sha1": "323d39dd0b50e10c7c06ca7d7638e6864d8c5c32", + "md5": null, + "sha256": null, + "sha512": "dd461c2548fd92f48b6cb6d421f413ab3732e555fb19167f0820eb9ce699a2b145334d5a5e9d7e189c2e1465783430e8012fa6394c8770ee940ff45fa8e92cdd", + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:npm/%22%40babel/types%22", + "extracted_requirement": "^7.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + } + ], + "repository_homepage_url": "https://www.npmjs.com/package/@babel/helper-annotate-as-pure", + "repository_download_url": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/@babel%2fhelper-annotate-as-pure", + "datasource_id": "yarn_lock_v1", + "purl": "pkg:npm/%40babel/helper-annotate-as-pure@7.0.0" + } + } + ], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "yarn_lock_v1", + "purl": null + } +] \ No newline at end of file diff --git a/tests/packagedcode/data/npm/yarn-lock/v1/yarn.lock b/tests/packagedcode/data/npm/yarn-lock/v1/yarn.lock new file mode 100644 index 00000000000..126bb05205c --- /dev/null +++ b/tests/packagedcode/data/npm/yarn-lock/v1/yarn.lock @@ -0,0 +1,50 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +abbrev@1: + version "1.0.9" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" + +ansi-align@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-1.1.0.tgz#2f0c1658829739add5ebb15e6b0c6e3423f016ba" + dependencies: + string-width "^1.0.1" + +are-we-there-yet@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz#80e470e95a084794fe1899262c5667c6e88de1b3" + dependencies: + delegates "^1.0.0" + readable-stream "^2.0.0 || ^1.1.13" + +arr-diff@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" + dependencies: + arr-flatten "^1.0.1" + +babel-helper-function-name@^6.18.0, babel-helper-function-name@^6.8.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.18.0.tgz#68ec71aeba1f3e28b2a6f0730190b754a9bf30e6" + dependencies: + babel-helper-get-function-arity "^6.18.0" + babel-traverse "^6.18.0" + babel-types "^6.18.0" + +rimraf@2, rimraf@~2.5.1, rimraf@~2.5.4: + version "2.5.4" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04" + dependencies: + glob "^7.0.5" + +semver-diff@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36" + dependencies: + semver "^5.0.3" + +"semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@~5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" diff --git a/tests/packagedcode/data/npm/yarn-lock/v1/yarn.lock-expected b/tests/packagedcode/data/npm/yarn-lock/v1/yarn.lock-expected new file mode 100644 index 00000000000..483d6746a02 --- /dev/null +++ b/tests/packagedcode/data/npm/yarn-lock/v1/yarn.lock-expected @@ -0,0 +1,478 @@ +[ + { + "type": "npm", + "namespace": null, + "name": null, + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:npm/abbrev@1.0.9", + "extracted_requirement": "1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "abbrev", + "version": "1.0.9", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz", + "size": null, + "sha1": "91b4792588a7738c25f35dd6f63752a2f8776135", + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/abbrev", + "repository_download_url": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", + "api_data_url": "https://registry.npmjs.org/abbrev/1.0.9", + "datasource_id": "yarn_lock_v1", + "purl": "pkg:npm/abbrev@1.0.9" + } + }, + { + "purl": "pkg:npm/ansi-align@1.1.0", + "extracted_requirement": "^1.1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "ansi-align", + "version": "1.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.yarnpkg.com/ansi-align/-/ansi-align-1.1.0.tgz", + "size": null, + "sha1": "2f0c1658829739add5ebb15e6b0c6e3423f016ba", + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:npm/string-width", + "extracted_requirement": "^1.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + } + ], + "repository_homepage_url": "https://www.npmjs.com/package/ansi-align", + "repository_download_url": "https://registry.npmjs.org/ansi-align/-/ansi-align-1.1.0.tgz", + "api_data_url": "https://registry.npmjs.org/ansi-align/1.1.0", + "datasource_id": "yarn_lock_v1", + "purl": "pkg:npm/ansi-align@1.1.0" + } + }, + { + "purl": "pkg:npm/are-we-there-yet@1.1.2", + "extracted_requirement": "~1.1.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "are-we-there-yet", + "version": "1.1.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz", + "size": null, + "sha1": "80e470e95a084794fe1899262c5667c6e88de1b3", + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:npm/delegates", + "extracted_requirement": "^1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/readable-stream", + "extracted_requirement": "^2.0.0 || ^1.1.13", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + } + ], + "repository_homepage_url": "https://www.npmjs.com/package/are-we-there-yet", + "repository_download_url": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz", + "api_data_url": "https://registry.npmjs.org/are-we-there-yet/1.1.2", + "datasource_id": "yarn_lock_v1", + "purl": "pkg:npm/are-we-there-yet@1.1.2" + } + }, + { + "purl": "pkg:npm/arr-diff@2.0.0", + "extracted_requirement": "^2.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "arr-diff", + "version": "2.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz", + "size": null, + "sha1": "8f3b827f955a8bd669697e4a4256ac3ceae356cf", + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:npm/arr-flatten", + "extracted_requirement": "^1.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + } + ], + "repository_homepage_url": "https://www.npmjs.com/package/arr-diff", + "repository_download_url": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/arr-diff/2.0.0", + "datasource_id": "yarn_lock_v1", + "purl": "pkg:npm/arr-diff@2.0.0" + } + }, + { + "purl": "pkg:npm/babel-helper-function-name@6.18.0", + "extracted_requirement": "^6.18.0 ^6.8.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "babel-helper-function-name", + "version": "6.18.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.18.0.tgz", + "size": null, + "sha1": "68ec71aeba1f3e28b2a6f0730190b754a9bf30e6", + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:npm/babel-helper-get-function-arity", + "extracted_requirement": "^6.18.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/babel-traverse", + "extracted_requirement": "^6.18.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/babel-types", + "extracted_requirement": "^6.18.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + } + ], + "repository_homepage_url": "https://www.npmjs.com/package/babel-helper-function-name", + "repository_download_url": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.18.0.tgz", + "api_data_url": "https://registry.npmjs.org/babel-helper-function-name/6.18.0", + "datasource_id": "yarn_lock_v1", + "purl": "pkg:npm/babel-helper-function-name@6.18.0" + } + }, + { + "purl": "pkg:npm/rimraf@2.5.4", + "extracted_requirement": "2 ~2.5.1 ~2.5.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "rimraf", + "version": "2.5.4", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz", + "size": null, + "sha1": "96800093cbf1a0c86bd95b4625467535c29dfa04", + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:npm/glob", + "extracted_requirement": "^7.0.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + } + ], + "repository_homepage_url": "https://www.npmjs.com/package/rimraf", + "repository_download_url": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz", + "api_data_url": "https://registry.npmjs.org/rimraf/2.5.4", + "datasource_id": "yarn_lock_v1", + "purl": "pkg:npm/rimraf@2.5.4" + } + }, + { + "purl": "pkg:npm/semver-diff@2.1.0", + "extracted_requirement": "^2.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "semver-diff", + "version": "2.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz", + "size": null, + "sha1": "4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36", + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:npm/semver", + "extracted_requirement": "^5.0.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + } + ], + "repository_homepage_url": "https://www.npmjs.com/package/semver-diff", + "repository_download_url": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", + "api_data_url": "https://registry.npmjs.org/semver-diff/2.1.0", + "datasource_id": "yarn_lock_v1", + "purl": "pkg:npm/semver-diff@2.1.0" + } + }, + { + "purl": "pkg:npm/semver@5.3.0", + "extracted_requirement": "2 || 3 || 4 || 5 ^5.0.3 ^5.1.0 ^5.3.0 ~5.3.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": { + "type": "npm", + "namespace": "", + "name": "semver", + "version": "5.3.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz", + "size": null, + "sha1": "9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f", + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://www.npmjs.com/package/semver", + "repository_download_url": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "api_data_url": "https://registry.npmjs.org/semver/5.3.0", + "datasource_id": "yarn_lock_v1", + "purl": "pkg:npm/semver@5.3.0" + } + } + ], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "yarn_lock_v1", + "purl": null + } +] \ No newline at end of file diff --git a/tests/packagedcode/data/npm/yarn-lock/v2-local/yarn.lock b/tests/packagedcode/data/npm/yarn-lock/v2-local/yarn.lock new file mode 100644 index 00000000000..158c64b5452 --- /dev/null +++ b/tests/packagedcode/data/npm/yarn-lock/v2-local/yarn.lock @@ -0,0 +1,11 @@ +# This file is generated by running "yarn install" inside your project. +# Manual changes might be lost - proceed with caution! + +__metadata: + version: 5 + +"bookmarkmap@workspace:.": + version: 0.0.0-use.local + resolution: "bookmarkmap@workspace:." + languageName: unknown + linkType: soft diff --git a/tests/packagedcode/data/npm/yarn-lock/yarn.lock-expected b/tests/packagedcode/data/npm/yarn-lock/v2-local/yarn.lock-expected similarity index 98% rename from tests/packagedcode/data/npm/yarn-lock/yarn.lock-expected rename to tests/packagedcode/data/npm/yarn-lock/v2-local/yarn.lock-expected index 2cc54fbf804..8f4a057da55 100644 --- a/tests/packagedcode/data/npm/yarn-lock/yarn.lock-expected +++ b/tests/packagedcode/data/npm/yarn-lock/v2-local/yarn.lock-expected @@ -25,7 +25,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -4210,7 +4209,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -4245,7 +4243,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -4290,7 +4287,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -4325,7 +4321,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -4360,7 +4355,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -4395,7 +4389,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -4449,7 +4442,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -4484,7 +4476,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -4529,7 +4520,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -4574,7 +4564,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -4609,7 +4598,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -4644,7 +4632,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -4679,7 +4666,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -4714,7 +4700,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -4759,7 +4744,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -4794,7 +4778,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -4829,7 +4812,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -4864,7 +4846,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -4899,7 +4880,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -4934,7 +4914,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -4969,7 +4948,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -5004,7 +4982,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -5039,7 +5016,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -5074,7 +5050,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -5173,7 +5148,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -5263,7 +5237,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -5974,7 +5947,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -6009,7 +5981,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -6044,7 +6015,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -6107,7 +6077,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -6314,7 +6283,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -6413,7 +6381,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -6476,7 +6443,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -6539,7 +6505,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -6611,7 +6576,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -6683,7 +6647,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -6746,7 +6709,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -6818,7 +6780,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -6899,7 +6860,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -6953,7 +6913,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -7007,7 +6966,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -7061,7 +7019,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -7124,7 +7081,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -7205,7 +7161,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -7295,7 +7250,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -7349,7 +7303,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -7394,7 +7347,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -7448,7 +7400,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -7493,7 +7444,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -7528,7 +7478,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -7627,7 +7576,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -7662,7 +7610,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -7697,7 +7644,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -7732,7 +7678,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -7767,7 +7712,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -7802,7 +7746,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -7837,7 +7780,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -7872,7 +7814,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -7907,7 +7848,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -7970,7 +7910,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -8033,7 +7972,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -8105,7 +8043,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -8195,7 +8132,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -8240,7 +8176,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -8285,7 +8220,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -8366,7 +8300,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -8483,7 +8416,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -8546,7 +8478,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -8591,7 +8522,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -8645,7 +8575,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -8690,7 +8619,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -8753,7 +8681,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -8798,7 +8725,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -8861,7 +8787,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -8933,7 +8858,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -8996,7 +8920,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -9059,7 +8982,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -9113,7 +9035,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -9203,7 +9124,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -9257,7 +9177,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -9302,7 +9221,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -9365,7 +9283,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -9410,7 +9327,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -9455,7 +9371,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -9518,7 +9433,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -9581,7 +9495,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -9635,7 +9548,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -9680,7 +9592,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -9725,7 +9636,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -9779,7 +9689,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -9887,7 +9796,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -10139,7 +10047,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -10211,7 +10118,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -10292,7 +10198,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -10391,7 +10296,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -10445,7 +10349,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -10526,7 +10429,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -10643,7 +10545,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -10715,7 +10616,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -10750,7 +10650,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -10785,7 +10684,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -10830,7 +10728,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -10865,7 +10762,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -10910,7 +10806,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -10945,7 +10840,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -10990,7 +10884,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -11107,7 +11000,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -11161,7 +11053,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -11224,7 +11115,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -11259,7 +11149,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -11294,7 +11183,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -11329,7 +11217,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -11364,7 +11251,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -11427,7 +11313,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -11499,7 +11384,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -11534,7 +11418,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -11588,7 +11471,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -11623,7 +11505,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -11658,7 +11539,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -11693,7 +11573,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -11728,7 +11607,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -11791,7 +11669,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -11872,7 +11749,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -11989,7 +11865,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -12024,7 +11899,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -12059,7 +11933,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -12094,7 +11967,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -12139,7 +12011,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -12174,7 +12045,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -12228,7 +12098,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -12273,7 +12142,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -12308,7 +12176,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -12353,7 +12220,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -12388,7 +12254,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -12423,7 +12288,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -12458,7 +12322,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -12493,7 +12356,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -12610,7 +12472,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -12645,7 +12506,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -12680,7 +12540,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -12734,7 +12593,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -12769,7 +12627,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -12804,7 +12661,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -12849,7 +12705,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -12903,7 +12758,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -12948,7 +12802,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -12993,7 +12846,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -13038,7 +12890,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -13073,7 +12924,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -13118,7 +12968,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -13153,7 +13002,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -13188,7 +13036,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -13223,7 +13070,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -13258,7 +13104,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -13293,7 +13138,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -13338,7 +13182,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -13373,7 +13216,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -13418,7 +13260,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -13463,7 +13304,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -13498,7 +13338,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -13543,7 +13382,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -13597,7 +13435,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -13642,7 +13479,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -13677,7 +13513,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -13749,7 +13584,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -13794,7 +13628,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -13829,7 +13662,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -13864,7 +13696,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -13899,7 +13730,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -13944,7 +13774,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -13989,7 +13818,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -14024,7 +13852,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -14069,7 +13896,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -14104,7 +13930,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -14158,7 +13983,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -14193,7 +14017,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -14274,7 +14097,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -14309,7 +14131,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -14372,7 +14193,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -14426,7 +14246,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -14471,7 +14290,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -14506,7 +14324,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -14541,7 +14358,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -14586,7 +14402,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -14621,7 +14436,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -14684,7 +14498,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -14719,7 +14532,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -14773,7 +14585,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -14836,7 +14647,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -14899,7 +14709,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -15016,7 +14825,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -15051,7 +14859,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -15096,7 +14903,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -15131,7 +14937,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -15176,7 +14981,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -15211,7 +15015,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -15256,7 +15059,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -15310,7 +15112,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -15355,7 +15156,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -15445,7 +15245,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -15480,7 +15279,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -15561,7 +15359,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -15732,7 +15529,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -15767,7 +15563,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -15802,7 +15597,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -15837,7 +15631,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -15909,7 +15702,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -15954,7 +15746,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -15989,7 +15780,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -16024,7 +15814,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -16059,7 +15848,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -16094,7 +15882,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -16139,7 +15926,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -16211,7 +15997,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -16246,7 +16031,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -16300,7 +16084,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -16335,7 +16118,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -16398,7 +16180,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -16433,7 +16214,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -16468,7 +16248,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -16513,7 +16292,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -16567,7 +16345,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -16602,7 +16379,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -16637,7 +16413,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -16682,7 +16457,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -16717,7 +16491,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -16752,7 +16525,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -16797,7 +16569,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -16832,7 +16603,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -16877,7 +16647,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -16922,7 +16691,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -16957,7 +16725,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -17002,7 +16769,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -17037,7 +16803,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -17072,7 +16837,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -17107,7 +16871,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -17152,7 +16915,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -17197,7 +16959,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -17232,7 +16993,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -17277,7 +17037,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -17349,7 +17108,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -17384,7 +17142,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -17429,7 +17186,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -17464,7 +17220,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -17509,7 +17264,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -17544,7 +17298,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -17579,7 +17332,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -17614,7 +17366,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -17649,7 +17400,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -17684,7 +17434,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -17719,7 +17468,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -17754,7 +17502,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -17789,7 +17536,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -17824,7 +17570,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -17859,7 +17604,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -17894,7 +17638,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -17929,7 +17672,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -17964,7 +17706,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -18009,7 +17750,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -18044,7 +17784,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -18089,7 +17828,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -18124,7 +17862,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -18159,7 +17896,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -18194,7 +17930,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -18229,7 +17964,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -18264,7 +17998,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -18299,7 +18032,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -18334,7 +18066,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -18369,7 +18100,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -18404,7 +18134,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -18439,7 +18168,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -18502,7 +18230,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -18547,7 +18274,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -18592,7 +18318,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -18637,7 +18362,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -18672,7 +18396,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -18753,7 +18476,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -18807,7 +18529,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -18842,7 +18563,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -18877,7 +18597,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -18912,7 +18631,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -18947,7 +18665,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -19010,7 +18727,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -19045,7 +18761,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -19080,7 +18795,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -19115,7 +18829,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -19150,7 +18863,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -19185,7 +18897,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -19220,7 +18931,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -19283,7 +18993,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -19318,7 +19027,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -19363,7 +19071,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -19417,7 +19124,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -19452,7 +19158,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -19506,7 +19211,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -19541,7 +19245,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -19586,7 +19289,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -19621,7 +19323,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -19666,7 +19367,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -19701,7 +19401,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -19827,7 +19526,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -19980,7 +19678,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -20015,7 +19712,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -20060,7 +19756,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -20105,7 +19800,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -20140,7 +19834,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -20175,7 +19868,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -20220,7 +19912,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -20355,7 +20046,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -20390,7 +20080,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -20462,7 +20151,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -20497,7 +20185,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -20614,7 +20301,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -20649,7 +20335,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -20694,7 +20379,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -20757,7 +20441,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -20792,7 +20475,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -20864,7 +20546,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -20899,7 +20580,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -20934,7 +20614,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -20969,7 +20648,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -21023,7 +20701,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -21077,7 +20754,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -21122,7 +20798,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -21167,7 +20842,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -21202,7 +20876,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -21247,7 +20920,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -21282,7 +20954,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -21317,7 +20988,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -21371,7 +21041,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -21416,7 +21085,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -21488,7 +21156,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -21560,7 +21227,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -21605,7 +21271,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -21640,7 +21305,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -21675,7 +21339,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -21720,7 +21383,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -21755,7 +21417,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -21818,7 +21479,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -21853,7 +21513,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -21898,7 +21557,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -21943,7 +21601,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -21978,7 +21635,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -22013,7 +21669,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -22085,7 +21740,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -22130,7 +21784,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -22165,7 +21818,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -22210,7 +21862,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -22264,7 +21915,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -22318,7 +21968,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -22372,7 +22021,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -22407,7 +22055,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -22479,7 +22126,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -22533,7 +22179,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -22578,7 +22223,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -22613,7 +22257,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -22648,7 +22291,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -22693,7 +22335,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -22756,7 +22397,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -22791,7 +22431,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -22826,7 +22465,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -22861,7 +22499,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -22896,7 +22533,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -22931,7 +22567,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -22985,7 +22620,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -23057,7 +22691,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -23111,7 +22744,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -23165,7 +22797,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -23228,7 +22859,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -23327,7 +22957,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -23426,7 +23055,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -23498,7 +23126,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -23552,7 +23179,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -23587,7 +23213,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -23622,7 +23247,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -23685,7 +23309,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -23739,7 +23362,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -23802,7 +23424,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -23847,7 +23468,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -23892,7 +23512,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -23927,7 +23546,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -23972,7 +23590,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -24007,7 +23624,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -24042,7 +23658,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -24087,7 +23702,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -24303,7 +23917,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -24338,7 +23951,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -24383,7 +23995,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -24418,7 +24029,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -24472,7 +24082,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -24517,7 +24126,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -24562,7 +24170,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -24597,7 +24204,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -24632,7 +24238,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -24667,7 +24272,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -24702,7 +24306,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -24737,7 +24340,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -24772,7 +24374,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -24807,7 +24408,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -24842,7 +24442,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -24887,7 +24486,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -24932,7 +24530,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -24977,7 +24574,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -25012,7 +24608,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -25057,7 +24652,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -25092,7 +24686,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -25127,7 +24720,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -25244,7 +24836,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -25279,7 +24870,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -25342,7 +24932,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -25377,7 +24966,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -25440,7 +25028,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -25475,7 +25062,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -25520,7 +25106,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -25555,7 +25140,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -25600,7 +25184,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -25645,7 +25228,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -25680,7 +25262,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -25725,7 +25306,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -25760,7 +25340,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -25795,7 +25374,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -25830,7 +25408,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -25865,7 +25442,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -25973,7 +25549,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -26036,7 +25611,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -26071,7 +25645,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -26106,7 +25679,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -26160,7 +25732,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -26232,7 +25803,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -26267,7 +25837,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -26302,7 +25871,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -26347,7 +25915,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -26382,7 +25949,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -26417,7 +25983,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -26452,7 +26017,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -26487,7 +26051,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -26522,7 +26085,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -26557,7 +26119,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -26592,7 +26153,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -26627,7 +26187,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -26690,7 +26249,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -26725,7 +26283,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -26833,7 +26390,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -26878,7 +26434,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -26923,7 +26478,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -26958,7 +26512,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -26993,7 +26546,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -27028,7 +26580,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -27063,7 +26614,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -27098,7 +26648,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -27152,7 +26701,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -27197,7 +26745,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -27242,7 +26789,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -27287,7 +26833,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -27332,7 +26877,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -27367,7 +26911,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -27430,7 +26973,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -27529,7 +27071,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -27574,7 +27115,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [ @@ -27619,7 +27159,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], @@ -27654,7 +27193,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, "dependencies": [], diff --git a/tests/packagedcode/data/npm/yarn-lock/v2/yarn.lock b/tests/packagedcode/data/npm/yarn-lock/v2/yarn.lock new file mode 100644 index 00000000000..fd27635e964 --- /dev/null +++ b/tests/packagedcode/data/npm/yarn-lock/v2/yarn.lock @@ -0,0 +1,31 @@ +# This file is generated by running "yarn install" inside your project. +# Manual changes might be lost - proceed with caution! + +__metadata: + version: 6 + cacheKey: 9 + +"@actions/core@npm:^1.2.6": + version: 1.2.6 + resolution: "@actions/core@npm:1.2.6" + checksum: 034e57fcb5f944d5fb0ef55be1b212dd88e23d1a50aaffda874cb94e8f4bfa633a66f108f26e81a7cce287cd2b349aa88c97d2023135c8879495326db37a7feb + languageName: node + linkType: hard + +"@babel/cli@npm:^7.10.1": + version: 7.10.1 + resolution: "@babel/cli@npm:7.10.1" + dependencies: + chokidar: ^2.1.8 + source-map: ^0.5.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + dependenciesMeta: + chokidar: + optional: true + bin: + babel: ./bin/babel.js + babel-external-helpers: ./bin/babel-external-helpers.js + checksum: a2f9d52e2f866c4c6e5c4fdb4e64820ebbc6acb2aeaeac3e4d97cee16054684f015f253a6f036a2065729a520e595da085cf476501d3bc279d50ffc0dc891641 + languageName: node + linkType: hard diff --git a/tests/packagedcode/data/npm/yarn-lock/v2/yarn.lock-expected b/tests/packagedcode/data/npm/yarn-lock/v2/yarn.lock-expected new file mode 100644 index 00000000000..dce77ac3902 --- /dev/null +++ b/tests/packagedcode/data/npm/yarn-lock/v2/yarn.lock-expected @@ -0,0 +1,57 @@ +[ + { + "type": "npm", + "namespace": null, + "name": null, + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:npm/%40actions/core@1.2.6", + "extracted_requirement": "1.2.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {} + }, + { + "purl": "pkg:npm/%40babel/cli@7.10.1", + "extracted_requirement": "7.10.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {} + } + ], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "yarn_lock_v2", + "purl": null + } +] \ No newline at end of file diff --git a/tests/packagedcode/data/npm/yarn-lock/yarn.lock b/tests/packagedcode/data/npm/yarn-lock/yarn.lock deleted file mode 100644 index a5cdcfe2964..00000000000 --- a/tests/packagedcode/data/npm/yarn-lock/yarn.lock +++ /dev/null @@ -1,2891 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -abbrev@1: - version "1.0.9" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" - -ansi-align@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-1.1.0.tgz#2f0c1658829739add5ebb15e6b0c6e3423f016ba" - dependencies: - string-width "^1.0.1" - -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - -ansi-styles@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" - -ansi-styles@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.0.0.tgz#cb102df1c56f5123eab8b67cd7b98027a0279178" - -anymatch@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.0.tgz#a3e52fa39168c825ff57b0248126ce5a8ff95507" - dependencies: - arrify "^1.0.0" - micromatch "^2.1.5" - -aproba@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.0.4.tgz#2713680775e7614c8ba186c065d4e2e52d1072c0" - -are-we-there-yet@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz#80e470e95a084794fe1899262c5667c6e88de1b3" - dependencies: - delegates "^1.0.0" - readable-stream "^2.0.0 || ^1.1.13" - -arr-diff@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" - dependencies: - arr-flatten "^1.0.1" - -arr-exclude@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/arr-exclude/-/arr-exclude-1.0.0.tgz#dfc7c2e552a270723ccda04cf3128c8cbfe5c631" - -arr-flatten@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.0.1.tgz#e5ffe54d45e19f32f216e91eb99c8ce892bb604b" - -array-differ@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031" - -array-find-index@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" - -array-union@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" - dependencies: - array-uniq "^1.0.1" - -array-uniq@^1.0.1, array-uniq@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" - -array-unique@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" - -arrify@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" - -asn1@~0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" - -assert-plus@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" - -assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - -async-each@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - -auto-bind@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/auto-bind/-/auto-bind-0.1.0.tgz#7a29efc8c2388d3d578e02fc2df531c81ffc1ee1" - -ava-files@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/ava-files/-/ava-files-0.2.0.tgz#c7b8b6e2e0cea63b57a6e27e0db145c7c19cfe20" - dependencies: - auto-bind "^0.1.0" - bluebird "^3.4.1" - globby "^6.0.0" - ignore-by-default "^1.0.1" - lodash.flatten "^4.2.0" - multimatch "^2.1.0" - slash "^1.0.0" - -ava-init@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/ava-init/-/ava-init-0.1.6.tgz#ef19ed0b24b6bf359dad6fbadf1a05d836395c91" - dependencies: - arr-exclude "^1.0.0" - cross-spawn "^4.0.0" - pinkie-promise "^2.0.0" - read-pkg-up "^1.0.1" - the-argv "^1.0.0" - write-pkg "^1.0.0" - -ava@^0.17.0: - version "0.17.0" - resolved "https://registry.yarnpkg.com/ava/-/ava-0.17.0.tgz#359e2a89616801ef03929c3cf10a9d4f8e451d02" - dependencies: - arr-flatten "^1.0.1" - array-union "^1.0.1" - array-uniq "^1.0.2" - arrify "^1.0.0" - auto-bind "^0.1.0" - ava-files "^0.2.0" - ava-init "^0.1.0" - babel-code-frame "^6.16.0" - babel-core "^6.17.0" - babel-plugin-ava-throws-helper "^0.1.0" - babel-plugin-detective "^2.0.0" - babel-plugin-espower "^2.3.1" - babel-plugin-transform-runtime "^6.15.0" - babel-preset-es2015 "^6.16.0" - babel-preset-es2015-node4 "^2.1.0" - babel-preset-stage-2 "^6.17.0" - babel-runtime "^6.11.6" - bluebird "^3.0.0" - caching-transform "^1.0.0" - chalk "^1.0.0" - chokidar "^1.4.2" - clean-yaml-object "^0.1.0" - cli-cursor "^1.0.2" - cli-spinners "^0.1.2" - cli-truncate "^0.2.0" - co-with-promise "^4.6.0" - common-path-prefix "^1.0.0" - convert-source-map "^1.2.0" - core-assert "^0.2.0" - currently-unhandled "^0.4.1" - debug "^2.2.0" - empower-core "^0.6.1" - figures "^1.4.0" - find-cache-dir "^0.1.1" - fn-name "^2.0.0" - get-port "^2.1.0" - has-flag "^2.0.0" - ignore-by-default "^1.0.0" - is-ci "^1.0.7" - is-generator-fn "^1.0.0" - is-obj "^1.0.0" - is-observable "^0.2.0" - is-promise "^2.1.0" - last-line-stream "^1.0.0" - lodash.debounce "^4.0.3" - lodash.difference "^4.3.0" - lodash.isequal "^4.4.0" - loud-rejection "^1.2.0" - matcher "^0.1.1" - max-timeout "^1.0.0" - md5-hex "^1.2.0" - meow "^3.7.0" - ms "^0.7.1" - object-assign "^4.0.1" - observable-to-promise "^0.4.0" - option-chain "^0.1.0" - package-hash "^1.1.0" - pkg-conf "^1.0.1" - plur "^2.0.0" - power-assert-context-formatter "^1.0.4" - power-assert-renderer-assertion "^1.0.1" - power-assert-renderer-succinct "^1.0.1" - pretty-ms "^2.0.0" - repeating "^2.0.0" - require-precompiled "^0.1.0" - resolve-cwd "^1.0.0" - semver "^5.3.0" - set-immediate-shim "^1.0.1" - source-map-support "^0.4.0" - stack-utils "^0.4.0" - strip-ansi "^3.0.1" - strip-bom "^2.0.0" - time-require "^0.1.2" - unique-temp-dir "^1.0.0" - update-notifier "^1.0.0" - -aws-sign2@~0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" - -aws4@^1.2.1: - version "1.5.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.5.0.tgz#0a29ffb79c31c9e712eeb087e8e7a64b4a56d755" - -babel-code-frame@^6.16.0, babel-code-frame@^6.20.0: - version "6.20.0" - resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.20.0.tgz#b968f839090f9a8bc6d41938fb96cb84f7387b26" - dependencies: - chalk "^1.1.0" - esutils "^2.0.2" - js-tokens "^2.0.0" - -babel-core@^6.17.0, babel-core@^6.18.0: - version "6.21.0" - resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.21.0.tgz#75525480c21c803f826ef3867d22c19f080a3724" - dependencies: - babel-code-frame "^6.20.0" - babel-generator "^6.21.0" - babel-helpers "^6.16.0" - babel-messages "^6.8.0" - babel-register "^6.18.0" - babel-runtime "^6.20.0" - babel-template "^6.16.0" - babel-traverse "^6.21.0" - babel-types "^6.21.0" - babylon "^6.11.0" - convert-source-map "^1.1.0" - debug "^2.1.1" - json5 "^0.5.0" - lodash "^4.2.0" - minimatch "^3.0.2" - path-is-absolute "^1.0.0" - private "^0.1.6" - slash "^1.0.0" - source-map "^0.5.0" - -babel-generator@^6.1.0, babel-generator@^6.21.0: - version "6.21.0" - resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.21.0.tgz#605f1269c489a1c75deeca7ea16d43d4656c8494" - dependencies: - babel-messages "^6.8.0" - babel-runtime "^6.20.0" - babel-types "^6.21.0" - detect-indent "^4.0.0" - jsesc "^1.3.0" - lodash "^4.2.0" - source-map "^0.5.0" - -babel-helper-bindify-decorators@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.18.0.tgz#fc00c573676a6e702fffa00019580892ec8780a5" - dependencies: - babel-runtime "^6.0.0" - babel-traverse "^6.18.0" - babel-types "^6.18.0" - -babel-helper-builder-binary-assignment-operator-visitor@^6.8.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.18.0.tgz#8ae814989f7a53682152e3401a04fabd0bb333a6" - dependencies: - babel-helper-explode-assignable-expression "^6.18.0" - babel-runtime "^6.0.0" - babel-types "^6.18.0" - -babel-helper-call-delegate@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.18.0.tgz#05b14aafa430884b034097ef29e9f067ea4133bd" - dependencies: - babel-helper-hoist-variables "^6.18.0" - babel-runtime "^6.0.0" - babel-traverse "^6.18.0" - babel-types "^6.18.0" - -babel-helper-define-map@^6.18.0, babel-helper-define-map@^6.8.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.18.0.tgz#8d6c85dc7fbb4c19be3de40474d18e97c3676ec2" - dependencies: - babel-helper-function-name "^6.18.0" - babel-runtime "^6.9.0" - babel-types "^6.18.0" - lodash "^4.2.0" - -babel-helper-explode-assignable-expression@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.18.0.tgz#14b8e8c2d03ad735d4b20f1840b24cd1f65239fe" - dependencies: - babel-runtime "^6.0.0" - babel-traverse "^6.18.0" - babel-types "^6.18.0" - -babel-helper-explode-class@^6.8.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-explode-class/-/babel-helper-explode-class-6.18.0.tgz#c44f76f4fa23b9c5d607cbac5d4115e7a76f62cb" - dependencies: - babel-helper-bindify-decorators "^6.18.0" - babel-runtime "^6.0.0" - babel-traverse "^6.18.0" - babel-types "^6.18.0" - -babel-helper-function-name@^6.18.0, babel-helper-function-name@^6.8.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.18.0.tgz#68ec71aeba1f3e28b2a6f0730190b754a9bf30e6" - dependencies: - babel-helper-get-function-arity "^6.18.0" - babel-runtime "^6.0.0" - babel-template "^6.8.0" - babel-traverse "^6.18.0" - babel-types "^6.18.0" - -babel-helper-get-function-arity@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.18.0.tgz#a5b19695fd3f9cdfc328398b47dafcd7094f9f24" - dependencies: - babel-runtime "^6.0.0" - babel-types "^6.18.0" - -babel-helper-hoist-variables@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.18.0.tgz#a835b5ab8b46d6de9babefae4d98ea41e866b82a" - dependencies: - babel-runtime "^6.0.0" - babel-types "^6.18.0" - -babel-helper-optimise-call-expression@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.18.0.tgz#9261d0299ee1a4f08a6dd28b7b7c777348fd8f0f" - dependencies: - babel-runtime "^6.0.0" - babel-types "^6.18.0" - -babel-helper-regex@^6.8.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.18.0.tgz#ae0ebfd77de86cb2f1af258e2cc20b5fe893ecc6" - dependencies: - babel-runtime "^6.9.0" - babel-types "^6.18.0" - lodash "^4.2.0" - -babel-helper-remap-async-to-generator@^6.16.0, babel-helper-remap-async-to-generator@^6.16.2: - version "6.20.3" - resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.20.3.tgz#9dd3b396f13e35ef63e538098500adc24c63c4e7" - dependencies: - babel-helper-function-name "^6.18.0" - babel-runtime "^6.20.0" - babel-template "^6.16.0" - babel-traverse "^6.20.0" - babel-types "^6.20.0" - -babel-helper-replace-supers@^6.18.0, babel-helper-replace-supers@^6.8.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.18.0.tgz#28ec69877be4144dbd64f4cc3a337e89f29a924e" - dependencies: - babel-helper-optimise-call-expression "^6.18.0" - babel-messages "^6.8.0" - babel-runtime "^6.0.0" - babel-template "^6.16.0" - babel-traverse "^6.18.0" - babel-types "^6.18.0" - -babel-helpers@^6.16.0: - version "6.16.0" - resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.16.0.tgz#1095ec10d99279460553e67eb3eee9973d3867e3" - dependencies: - babel-runtime "^6.0.0" - babel-template "^6.16.0" - -babel-messages@^6.8.0: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.8.0.tgz#bf504736ca967e6d65ef0adb5a2a5f947c8e0eb9" - dependencies: - babel-runtime "^6.0.0" - -babel-plugin-ava-throws-helper@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/babel-plugin-ava-throws-helper/-/babel-plugin-ava-throws-helper-0.1.0.tgz#951107708a12208026bf8ca4cef18a87bc9b0cfe" - dependencies: - babel-template "^6.7.0" - babel-types "^6.7.2" - -babel-plugin-check-es2015-constants@^6.3.13: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.8.0.tgz#dbf024c32ed37bfda8dee1e76da02386a8d26fe7" - dependencies: - babel-runtime "^6.0.0" - -babel-plugin-detective@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/babel-plugin-detective/-/babel-plugin-detective-2.0.0.tgz#6e642e83c22a335279754ebe2d754d2635f49f13" - -babel-plugin-espower@^2.3.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/babel-plugin-espower/-/babel-plugin-espower-2.3.2.tgz#5516b8fcdb26c9f0e1d8160749f6e4c65e71271e" - dependencies: - babel-generator "^6.1.0" - babylon "^6.1.0" - call-matcher "^1.0.0" - core-js "^2.0.0" - espower-location-detector "^1.0.0" - espurify "^1.6.0" - estraverse "^4.1.1" - -babel-plugin-syntax-async-functions@^6.8.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95" - -babel-plugin-syntax-async-generators@^6.5.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz#6bc963ebb16eccbae6b92b596eb7f35c342a8b9a" - -babel-plugin-syntax-class-properties@^6.8.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz#d7eb23b79a317f8543962c505b827c7d6cac27de" - -babel-plugin-syntax-decorators@^6.13.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz#312563b4dbde3cc806cee3e416cceeaddd11ac0b" - -babel-plugin-syntax-dynamic-import@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz#8d6a26229c83745a9982a441051572caa179b1da" - -babel-plugin-syntax-exponentiation-operator@^6.8.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de" - -babel-plugin-syntax-object-rest-spread@^6.8.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" - -babel-plugin-syntax-trailing-function-commas@^6.3.13: - version "6.20.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.20.0.tgz#442835e19179f45b87e92d477d70b9f1f18b5c4f" - -babel-plugin-transform-async-generator-functions@^6.17.0: - version "6.17.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.17.0.tgz#d0b5a2b2f0940f2b245fa20a00519ed7bc6cae54" - dependencies: - babel-helper-remap-async-to-generator "^6.16.2" - babel-plugin-syntax-async-generators "^6.5.0" - babel-runtime "^6.0.0" - -babel-plugin-transform-async-to-generator@^6.16.0: - version "6.16.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.16.0.tgz#19ec36cb1486b59f9f468adfa42ce13908ca2999" - dependencies: - babel-helper-remap-async-to-generator "^6.16.0" - babel-plugin-syntax-async-functions "^6.8.0" - babel-runtime "^6.0.0" - -babel-plugin-transform-class-properties@^6.18.0: - version "6.19.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.19.0.tgz#1274b349abaadc835164e2004f4a2444a2788d5f" - dependencies: - babel-helper-function-name "^6.18.0" - babel-plugin-syntax-class-properties "^6.8.0" - babel-runtime "^6.9.1" - babel-template "^6.15.0" - -babel-plugin-transform-decorators@^6.13.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.13.0.tgz#82d65c1470ae83e2d13eebecb0a1c2476d62da9d" - dependencies: - babel-helper-define-map "^6.8.0" - babel-helper-explode-class "^6.8.0" - babel-plugin-syntax-decorators "^6.13.0" - babel-runtime "^6.0.0" - babel-template "^6.8.0" - babel-types "^6.13.0" - -babel-plugin-transform-es2015-arrow-functions@^6.3.13: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.8.0.tgz#5b63afc3181bdc9a8c4d481b5a4f3f7d7fef3d9d" - dependencies: - babel-runtime "^6.0.0" - -babel-plugin-transform-es2015-block-scoped-functions@^6.3.13: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.8.0.tgz#ed95d629c4b5a71ae29682b998f70d9833eb366d" - dependencies: - babel-runtime "^6.0.0" - -babel-plugin-transform-es2015-block-scoping@^6.18.0: - version "6.21.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.21.0.tgz#e840687f922e70fb2c42bb13501838c174a115ed" - dependencies: - babel-runtime "^6.20.0" - babel-template "^6.15.0" - babel-traverse "^6.21.0" - babel-types "^6.21.0" - lodash "^4.2.0" - -babel-plugin-transform-es2015-classes@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.18.0.tgz#ffe7a17321bf83e494dcda0ae3fc72df48ffd1d9" - dependencies: - babel-helper-define-map "^6.18.0" - babel-helper-function-name "^6.18.0" - babel-helper-optimise-call-expression "^6.18.0" - babel-helper-replace-supers "^6.18.0" - babel-messages "^6.8.0" - babel-runtime "^6.9.0" - babel-template "^6.14.0" - babel-traverse "^6.18.0" - babel-types "^6.18.0" - -babel-plugin-transform-es2015-computed-properties@^6.3.13: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.8.0.tgz#f51010fd61b3bd7b6b60a5fdfd307bb7a5279870" - dependencies: - babel-helper-define-map "^6.8.0" - babel-runtime "^6.0.0" - babel-template "^6.8.0" - -babel-plugin-transform-es2015-destructuring@^6.18.0, babel-plugin-transform-es2015-destructuring@^6.6.5: - version "6.19.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.19.0.tgz#ff1d911c4b3f4cab621bd66702a869acd1900533" - dependencies: - babel-runtime "^6.9.0" - -babel-plugin-transform-es2015-duplicate-keys@^6.6.0: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.8.0.tgz#fd8f7f7171fc108cc1c70c3164b9f15a81c25f7d" - dependencies: - babel-runtime "^6.0.0" - babel-types "^6.8.0" - -babel-plugin-transform-es2015-for-of@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.18.0.tgz#4c517504db64bf8cfc119a6b8f177211f2028a70" - dependencies: - babel-runtime "^6.0.0" - -babel-plugin-transform-es2015-function-name@^6.5.0, babel-plugin-transform-es2015-function-name@^6.9.0: - version "6.9.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.9.0.tgz#8c135b17dbd064e5bba56ec511baaee2fca82719" - dependencies: - babel-helper-function-name "^6.8.0" - babel-runtime "^6.9.0" - babel-types "^6.9.0" - -babel-plugin-transform-es2015-literals@^6.3.13: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.8.0.tgz#50aa2e5c7958fc2ab25d74ec117e0cc98f046468" - dependencies: - babel-runtime "^6.0.0" - -babel-plugin-transform-es2015-modules-amd@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.18.0.tgz#49a054cbb762bdf9ae2d8a807076cfade6141e40" - dependencies: - babel-plugin-transform-es2015-modules-commonjs "^6.18.0" - babel-runtime "^6.0.0" - babel-template "^6.8.0" - -babel-plugin-transform-es2015-modules-commonjs@^6.18.0, babel-plugin-transform-es2015-modules-commonjs@^6.7.4: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.18.0.tgz#c15ae5bb11b32a0abdcc98a5837baa4ee8d67bcc" - dependencies: - babel-plugin-transform-strict-mode "^6.18.0" - babel-runtime "^6.0.0" - babel-template "^6.16.0" - babel-types "^6.18.0" - -babel-plugin-transform-es2015-modules-systemjs@^6.18.0: - version "6.19.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.19.0.tgz#50438136eba74527efa00a5b0fefaf1dc4071da6" - dependencies: - babel-helper-hoist-variables "^6.18.0" - babel-runtime "^6.11.6" - babel-template "^6.14.0" - -babel-plugin-transform-es2015-modules-umd@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.18.0.tgz#23351770ece5c1f8e83ed67cb1d7992884491e50" - dependencies: - babel-plugin-transform-es2015-modules-amd "^6.18.0" - babel-runtime "^6.0.0" - babel-template "^6.8.0" - -babel-plugin-transform-es2015-object-super@^6.3.13: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.8.0.tgz#1b858740a5a4400887c23dcff6f4d56eea4a24c5" - dependencies: - babel-helper-replace-supers "^6.8.0" - babel-runtime "^6.0.0" - -babel-plugin-transform-es2015-parameters@^6.18.0, babel-plugin-transform-es2015-parameters@^6.7.0: - version "6.21.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.21.0.tgz#46a655e6864ef984091448cdf024d87b60b2a7d8" - dependencies: - babel-helper-call-delegate "^6.18.0" - babel-helper-get-function-arity "^6.18.0" - babel-runtime "^6.9.0" - babel-template "^6.16.0" - babel-traverse "^6.21.0" - babel-types "^6.21.0" - -babel-plugin-transform-es2015-shorthand-properties@^6.18.0, babel-plugin-transform-es2015-shorthand-properties@^6.5.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.18.0.tgz#e2ede3b7df47bf980151926534d1dd0cbea58f43" - dependencies: - babel-runtime "^6.0.0" - babel-types "^6.18.0" - -babel-plugin-transform-es2015-spread@^6.3.13, babel-plugin-transform-es2015-spread@^6.6.5: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.8.0.tgz#0217f737e3b821fa5a669f187c6ed59205f05e9c" - dependencies: - babel-runtime "^6.0.0" - -babel-plugin-transform-es2015-sticky-regex@^6.3.13, babel-plugin-transform-es2015-sticky-regex@^6.5.0: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.8.0.tgz#e73d300a440a35d5c64f5c2a344dc236e3df47be" - dependencies: - babel-helper-regex "^6.8.0" - babel-runtime "^6.0.0" - babel-types "^6.8.0" - -babel-plugin-transform-es2015-template-literals@^6.6.0: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.8.0.tgz#86eb876d0a2c635da4ec048b4f7de9dfc897e66b" - dependencies: - babel-runtime "^6.0.0" - -babel-plugin-transform-es2015-typeof-symbol@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.18.0.tgz#0b14c48629c90ff47a0650077f6aa699bee35798" - dependencies: - babel-runtime "^6.0.0" - -babel-plugin-transform-es2015-unicode-regex@^6.3.13, babel-plugin-transform-es2015-unicode-regex@^6.5.0: - version "6.11.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.11.0.tgz#6298ceabaad88d50a3f4f392d8de997260f6ef2c" - dependencies: - babel-helper-regex "^6.8.0" - babel-runtime "^6.0.0" - regexpu-core "^2.0.0" - -babel-plugin-transform-exponentiation-operator@^6.3.13: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.8.0.tgz#db25742e9339eade676ca9acec46f955599a68a4" - dependencies: - babel-helper-builder-binary-assignment-operator-visitor "^6.8.0" - babel-plugin-syntax-exponentiation-operator "^6.8.0" - babel-runtime "^6.0.0" - -babel-plugin-transform-object-rest-spread@^6.16.0: - version "6.20.2" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.20.2.tgz#e816c55bba77b14c16365d87e2ae48c8fd18fc2e" - dependencies: - babel-plugin-syntax-object-rest-spread "^6.8.0" - babel-runtime "^6.20.0" - -babel-plugin-transform-regenerator@^6.16.0: - version "6.21.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.21.0.tgz#75d0c7e7f84f379358f508451c68a2c5fa5a9703" - dependencies: - regenerator-transform "0.9.8" - -babel-plugin-transform-runtime@^6.15.0: - version "6.15.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.15.0.tgz#3d75b4d949ad81af157570273846fb59aeb0d57c" - dependencies: - babel-runtime "^6.9.0" - -babel-plugin-transform-strict-mode@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.18.0.tgz#df7cf2991fe046f44163dcd110d5ca43bc652b9d" - dependencies: - babel-runtime "^6.0.0" - babel-types "^6.18.0" - -babel-preset-es2015-node4@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/babel-preset-es2015-node4/-/babel-preset-es2015-node4-2.1.1.tgz#e31f290859b58619c8cfa241d1b0bc900f941cdb" - dependencies: - babel-plugin-transform-es2015-destructuring "^6.6.5" - babel-plugin-transform-es2015-function-name "^6.5.0" - babel-plugin-transform-es2015-modules-commonjs "^6.7.4" - babel-plugin-transform-es2015-parameters "^6.7.0" - babel-plugin-transform-es2015-shorthand-properties "^6.5.0" - babel-plugin-transform-es2015-spread "^6.6.5" - babel-plugin-transform-es2015-sticky-regex "^6.5.0" - babel-plugin-transform-es2015-unicode-regex "^6.5.0" - -babel-preset-es2015@^6.16.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.18.0.tgz#b8c70df84ec948c43dcf2bf770e988eb7da88312" - dependencies: - babel-plugin-check-es2015-constants "^6.3.13" - babel-plugin-transform-es2015-arrow-functions "^6.3.13" - babel-plugin-transform-es2015-block-scoped-functions "^6.3.13" - babel-plugin-transform-es2015-block-scoping "^6.18.0" - babel-plugin-transform-es2015-classes "^6.18.0" - babel-plugin-transform-es2015-computed-properties "^6.3.13" - babel-plugin-transform-es2015-destructuring "^6.18.0" - babel-plugin-transform-es2015-duplicate-keys "^6.6.0" - babel-plugin-transform-es2015-for-of "^6.18.0" - babel-plugin-transform-es2015-function-name "^6.9.0" - babel-plugin-transform-es2015-literals "^6.3.13" - babel-plugin-transform-es2015-modules-amd "^6.18.0" - babel-plugin-transform-es2015-modules-commonjs "^6.18.0" - babel-plugin-transform-es2015-modules-systemjs "^6.18.0" - babel-plugin-transform-es2015-modules-umd "^6.18.0" - babel-plugin-transform-es2015-object-super "^6.3.13" - babel-plugin-transform-es2015-parameters "^6.18.0" - babel-plugin-transform-es2015-shorthand-properties "^6.18.0" - babel-plugin-transform-es2015-spread "^6.3.13" - babel-plugin-transform-es2015-sticky-regex "^6.3.13" - babel-plugin-transform-es2015-template-literals "^6.6.0" - babel-plugin-transform-es2015-typeof-symbol "^6.18.0" - babel-plugin-transform-es2015-unicode-regex "^6.3.13" - babel-plugin-transform-regenerator "^6.16.0" - -babel-preset-stage-2@^6.17.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-preset-stage-2/-/babel-preset-stage-2-6.18.0.tgz#9eb7bf9a8e91c68260d5ba7500493caaada4b5b5" - dependencies: - babel-plugin-syntax-dynamic-import "^6.18.0" - babel-plugin-transform-class-properties "^6.18.0" - babel-plugin-transform-decorators "^6.13.0" - babel-preset-stage-3 "^6.17.0" - -babel-preset-stage-3@^6.17.0: - version "6.17.0" - resolved "https://registry.yarnpkg.com/babel-preset-stage-3/-/babel-preset-stage-3-6.17.0.tgz#b6638e46db6e91e3f889013d8ce143917c685e39" - dependencies: - babel-plugin-syntax-trailing-function-commas "^6.3.13" - babel-plugin-transform-async-generator-functions "^6.17.0" - babel-plugin-transform-async-to-generator "^6.16.0" - babel-plugin-transform-exponentiation-operator "^6.3.13" - babel-plugin-transform-object-rest-spread "^6.16.0" - -babel-register@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.18.0.tgz#892e2e03865078dd90ad2c715111ec4449b32a68" - dependencies: - babel-core "^6.18.0" - babel-runtime "^6.11.6" - core-js "^2.4.0" - home-or-tmp "^2.0.0" - lodash "^4.2.0" - mkdirp "^0.5.1" - source-map-support "^0.4.2" - -babel-runtime@^6.0.0, babel-runtime@^6.11.6, babel-runtime@^6.18.0, babel-runtime@^6.20.0, babel-runtime@^6.9.0, babel-runtime@^6.9.1: - version "6.20.0" - resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.20.0.tgz#87300bdcf4cd770f09bf0048c64204e17806d16f" - dependencies: - core-js "^2.4.0" - regenerator-runtime "^0.10.0" - -babel-template@^6.14.0, babel-template@^6.15.0, babel-template@^6.16.0, babel-template@^6.7.0, babel-template@^6.8.0: - version "6.16.0" - resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.16.0.tgz#e149dd1a9f03a35f817ddbc4d0481988e7ebc8ca" - dependencies: - babel-runtime "^6.9.0" - babel-traverse "^6.16.0" - babel-types "^6.16.0" - babylon "^6.11.0" - lodash "^4.2.0" - -babel-traverse@^6.16.0, babel-traverse@^6.18.0, babel-traverse@^6.20.0, babel-traverse@^6.21.0: - version "6.21.0" - resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.21.0.tgz#69c6365804f1a4f69eb1213f85b00a818b8c21ad" - dependencies: - babel-code-frame "^6.20.0" - babel-messages "^6.8.0" - babel-runtime "^6.20.0" - babel-types "^6.21.0" - babylon "^6.11.0" - debug "^2.2.0" - globals "^9.0.0" - invariant "^2.2.0" - lodash "^4.2.0" - -babel-types@^6.13.0, babel-types@^6.16.0, babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.20.0, babel-types@^6.21.0, babel-types@^6.7.2, babel-types@^6.8.0, babel-types@^6.9.0: - version "6.21.0" - resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.21.0.tgz#314b92168891ef6d3806b7f7a917fdf87c11a4b2" - dependencies: - babel-runtime "^6.20.0" - esutils "^2.0.2" - lodash "^4.2.0" - to-fast-properties "^1.0.1" - -babylon@^6.1.0, babylon@^6.11.0: - version "6.15.0" - resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.15.0.tgz#ba65cfa1a80e1759b0e89fb562e27dccae70348e" - -balanced-match@^0.4.1: - version "0.4.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" - -bcrypt-pbkdf@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.0.tgz#3ca76b85241c7170bf7d9703e7b9aa74630040d4" - dependencies: - tweetnacl "^0.14.3" - -binary-extensions@^1.0.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.8.0.tgz#48ec8d16df4377eae5fa5884682480af4d95c774" - -block-stream@*: - version "0.0.9" - resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" - dependencies: - inherits "~2.0.0" - -bluebird@^3.0.0, bluebird@^3.4.1: - version "3.4.7" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.4.7.tgz#f72d760be09b7f76d08ed8fae98b289a8d05fab3" - -boom@2.x.x: - version "2.10.1" - resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" - dependencies: - hoek "2.x.x" - -boxen@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/boxen/-/boxen-0.6.0.tgz#8364d4248ac34ff0ef1b2f2bf49a6c60ce0d81b6" - dependencies: - ansi-align "^1.1.0" - camelcase "^2.1.0" - chalk "^1.1.1" - cli-boxes "^1.0.0" - filled-array "^1.0.0" - object-assign "^4.0.1" - repeating "^2.0.0" - string-width "^1.0.1" - widest-line "^1.0.0" - -brace-expansion@^1.0.0: - version "1.1.6" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.6.tgz#7197d7eaa9b87e648390ea61fc66c84427420df9" - dependencies: - balanced-match "^0.4.1" - concat-map "0.0.1" - -braces@^1.8.2: - version "1.8.5" - resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" - dependencies: - expand-range "^1.8.1" - preserve "^0.2.0" - repeat-element "^1.1.2" - -browser-stdout@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.0.tgz#f351d32969d32fa5d7a5567154263d928ae3bd1f" - -buf-compare@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/buf-compare/-/buf-compare-1.0.1.tgz#fef28da8b8113a0a0db4430b0b6467b69730b34a" - -buffer-shims@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51" - -builtin-modules@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" - -caching-transform@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/caching-transform/-/caching-transform-1.0.1.tgz#6dbdb2f20f8d8fbce79f3e94e9d1742dcdf5c0a1" - dependencies: - md5-hex "^1.2.0" - mkdirp "^0.5.1" - write-file-atomic "^1.1.4" - -call-matcher@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/call-matcher/-/call-matcher-1.0.1.tgz#5134d077984f712a54dad3cbf62de28dce416ca8" - dependencies: - core-js "^2.0.0" - deep-equal "^1.0.0" - espurify "^1.6.0" - estraverse "^4.0.0" - -call-signature@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/call-signature/-/call-signature-0.0.2.tgz#a84abc825a55ef4cb2b028bd74e205a65b9a4996" - -camelcase-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" - dependencies: - camelcase "^2.0.0" - map-obj "^1.0.0" - -camelcase@^2.0.0, camelcase@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" - -capture-stack-trace@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz#4a6fa07399c26bba47f0b2496b4d0fb408c5550d" - -caseless@~0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7" - -"chainsaw@>=0.0.7 <0.1": - version "0.0.9" - resolved "https://registry.yarnpkg.com/chainsaw/-/chainsaw-0.0.9.tgz#11a05102d1c4c785b6d0415d336d5a3a1612913e" - dependencies: - traverse ">=0.3.0 <0.4" - -chalk@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.4.0.tgz#5199a3ddcd0c1efe23bc08c1b027b06176e0c64f" - dependencies: - ansi-styles "~1.0.0" - has-color "~0.1.0" - strip-ansi "~0.1.0" - -chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" - dependencies: - ansi-styles "^2.2.1" - escape-string-regexp "^1.0.2" - has-ansi "^2.0.0" - strip-ansi "^3.0.0" - supports-color "^2.0.0" - -chokidar@^1.4.2: - version "1.6.1" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.6.1.tgz#2f4447ab5e96e50fb3d789fd90d4c72e0e4c70c2" - dependencies: - anymatch "^1.3.0" - async-each "^1.0.0" - glob-parent "^2.0.0" - inherits "^2.0.1" - is-binary-path "^1.0.0" - is-glob "^2.0.0" - path-is-absolute "^1.0.0" - readdirp "^2.0.0" - optionalDependencies: - fsevents "^1.0.0" - -ci-info@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.0.0.tgz#dc5285f2b4e251821683681c381c3388f46ec534" - -clean-yaml-object@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/clean-yaml-object/-/clean-yaml-object-0.1.0.tgz#63fb110dc2ce1a84dc21f6d9334876d010ae8b68" - -cli-boxes@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" - -cli-cursor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" - dependencies: - restore-cursor "^1.0.1" - -cli-spinners@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-0.1.2.tgz#bb764d88e185fb9e1e6a2a1f19772318f605e31c" - -cli-truncate@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-0.2.1.tgz#9f15cfbb0705005369216c626ac7d05ab90dd574" - dependencies: - slice-ansi "0.0.4" - string-width "^1.0.1" - -co-with-promise@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co-with-promise/-/co-with-promise-4.6.0.tgz#413e7db6f5893a60b942cf492c4bec93db415ab7" - dependencies: - pinkie-promise "^1.0.0" - -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - -combined-stream@^1.0.5, combined-stream@~1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" - dependencies: - delayed-stream "~1.0.0" - -commander@2.9.0, commander@^2.9.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" - dependencies: - graceful-readlink ">= 1.0.0" - -common-path-prefix@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/common-path-prefix/-/common-path-prefix-1.0.0.tgz#cd52f6f0712e0baab97d6f9732874f22f47752c0" - -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - -configstore@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/configstore/-/configstore-2.1.0.tgz#737a3a7036e9886102aa6099e47bb33ab1aba1a1" - dependencies: - dot-prop "^3.0.0" - graceful-fs "^4.1.2" - mkdirp "^0.5.0" - object-assign "^4.0.1" - os-tmpdir "^1.0.0" - osenv "^0.1.0" - uuid "^2.0.1" - write-file-atomic "^1.1.2" - xdg-basedir "^2.0.0" - -console-control-strings@^1.0.0, console-control-strings@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" - -convert-source-map@^1.1.0, convert-source-map@^1.2.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.3.0.tgz#e9f3e9c6e2728efc2676696a70eb382f73106a67" - -core-assert@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/core-assert/-/core-assert-0.2.1.tgz#f85e2cf9bfed28f773cc8b3fa5c5b69bdc02fe3f" - dependencies: - buf-compare "^1.0.0" - is-error "^2.2.0" - -core-js@^2.0.0, core-js@^2.4.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e" - -core-util-is@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - -create-error-class@^3.0.1: - version "3.0.2" - resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" - dependencies: - capture-stack-trace "^1.0.0" - -cross-spawn@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-4.0.2.tgz#7b9247621c23adfdd3856004a823cbe397424d41" - dependencies: - lru-cache "^4.0.1" - which "^1.2.9" - -cryptiles@2.x.x: - version "2.0.5" - resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" - dependencies: - boom "2.x.x" - -currently-unhandled@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" - dependencies: - array-find-index "^1.0.1" - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - dependencies: - assert-plus "^1.0.0" - -date-time@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/date-time/-/date-time-0.1.1.tgz#ed2f6d93d9790ce2fd66d5b5ff3edd5bbcbf3b07" - -debug@2.2.0, debug@^2.1.1, debug@^2.2.0, debug@~2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" - dependencies: - ms "0.7.1" - -decamelize@^1.1.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - -deep-equal@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" - -deep-extend@~0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.1.tgz#efe4113d08085f4e6f9687759810f807469e2253" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - -detect-indent@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" - dependencies: - repeating "^2.0.0" - -diff@1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-1.4.0.tgz#7f28d2eb9ee7b15a97efd89ce63dcfdaa3ccbabf" - -dot-prop@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177" - dependencies: - is-obj "^1.0.0" - -duplexer2@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" - dependencies: - readable-stream "^2.0.2" - -eastasianwidth@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.1.1.tgz#44d656de9da415694467335365fb3147b8572b7c" - -ecc-jsbn@~0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" - dependencies: - jsbn "~0.1.0" - -empower-core@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/empower-core/-/empower-core-0.6.1.tgz#6c187f502fcef7554d57933396aac655483772b1" - dependencies: - call-signature "0.0.2" - core-js "^2.0.0" - -error-ex@^1.2.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.0.tgz#e67b43f3e82c96ea3a584ffee0b9fc3325d802d9" - dependencies: - is-arrayish "^0.2.1" - -escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.4, escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - -espower-location-detector@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/espower-location-detector/-/espower-location-detector-1.0.0.tgz#a17b7ecc59d30e179e2bef73fb4137704cb331b5" - dependencies: - is-url "^1.2.1" - path-is-absolute "^1.0.0" - source-map "^0.5.0" - xtend "^4.0.0" - -espurify@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/espurify/-/espurify-1.6.0.tgz#6cb993582d9422bd6f2d4b258aadb14833f394f0" - dependencies: - core-js "^2.0.0" - -estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1: - version "4.2.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" - -esutils@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" - -exit-hook@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" - -expand-brackets@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" - dependencies: - is-posix-bracket "^0.1.0" - -expand-range@^1.8.1: - version "1.8.2" - resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" - dependencies: - fill-range "^2.1.0" - -extend@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.0.tgz#5a474353b9f3353ddd8176dfd37b91c83a46f1d4" - -extglob@^0.3.1: - version "0.3.2" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" - dependencies: - is-extglob "^1.0.0" - -extsprintf@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550" - -figures@^1.4.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" - dependencies: - escape-string-regexp "^1.0.5" - object-assign "^4.1.0" - -filename-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.0.tgz#996e3e80479b98b9897f15a8a58b3d084e926775" - -fill-range@^2.1.0: - version "2.2.3" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" - dependencies: - is-number "^2.1.0" - isobject "^2.0.0" - randomatic "^1.1.3" - repeat-element "^1.1.2" - repeat-string "^1.5.2" - -filled-array@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/filled-array/-/filled-array-1.1.0.tgz#c3c4f6c663b923459a9aa29912d2d031f1507f84" - -find-cache-dir@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9" - dependencies: - commondir "^1.0.1" - mkdirp "^0.5.1" - pkg-dir "^1.0.0" - -find-up@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" - dependencies: - path-exists "^2.0.0" - pinkie-promise "^2.0.0" - -findit@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/findit/-/findit-0.1.2.tgz#ac7fe600cd6a32a35672836b74cf6f1dde2e11f8" - dependencies: - seq ">=0.1.7" - -fn-name@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/fn-name/-/fn-name-2.0.1.tgz#5214d7537a4d06a4a301c0cc262feb84188002e7" - -for-in@^0.1.5: - version "0.1.6" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-0.1.6.tgz#c9f96e89bfad18a545af5ec3ed352a1d9e5b4dc8" - -for-own@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.4.tgz#0149b41a39088c7515f51ebe1c1386d45f935072" - dependencies: - for-in "^0.1.5" - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - -form-data@~2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.2.tgz#89c3534008b97eada4cbb157d58f6f5df025eae4" - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.5" - mime-types "^2.1.12" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - -fsevents@^1.0.0: - version "1.0.17" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.0.17.tgz#8537f3f12272678765b4fd6528c0f1f66f8f4558" - dependencies: - nan "^2.3.0" - node-pre-gyp "^0.6.29" - -fstream-ignore@~1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" - dependencies: - fstream "^1.0.0" - inherits "2" - minimatch "^3.0.0" - -fstream@^1.0.0, fstream@^1.0.2, fstream@~1.0.10: - version "1.0.10" - resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.10.tgz#604e8a92fe26ffd9f6fae30399d4984e1ab22822" - dependencies: - graceful-fs "^4.1.2" - inherits "~2.0.0" - mkdirp ">=0.5 0" - rimraf "2" - -gauge@~2.7.1: - version "2.7.2" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.2.tgz#15cecc31b02d05345a5d6b0e171cdb3ad2307774" - dependencies: - aproba "^1.0.3" - console-control-strings "^1.0.0" - has-unicode "^2.0.0" - object-assign "^4.1.0" - signal-exit "^3.0.0" - string-width "^1.0.1" - strip-ansi "^3.0.1" - supports-color "^0.2.0" - wide-align "^1.1.0" - -generate-function@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74" - -generate-object-property@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" - dependencies: - is-property "^1.0.0" - -gently@^0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/gently/-/gently-0.8.0.tgz#bc385db99ec1994dd6a44368e0abeb482b192b2c" - -get-port@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/get-port/-/get-port-2.1.0.tgz#8783f9dcebd1eea495a334e1a6a251e78887ab1a" - dependencies: - pinkie-promise "^2.0.0" - -get-stdin@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" - -getpass@^0.1.1: - version "0.1.6" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.6.tgz#283ffd9fc1256840875311c1b60e8c40187110e6" - dependencies: - assert-plus "^1.0.0" - -glob-base@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" - dependencies: - glob-parent "^2.0.0" - is-glob "^2.0.0" - -glob-parent@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" - dependencies: - is-glob "^2.0.0" - -glob@7.0.5, glob@^7.0.3, glob@^7.0.5: - version "7.0.5" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.5.tgz#b4202a69099bbb4d292a7c1b95b6682b67ebdc95" - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.2" - once "^1.3.0" - path-is-absolute "^1.0.0" - -globals@^9.0.0: - version "9.14.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-9.14.0.tgz#8859936af0038741263053b39d0e76ca241e4034" - -globby@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" - dependencies: - array-union "^1.0.1" - glob "^7.0.3" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -got@^5.0.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/got/-/got-5.7.1.tgz#5f81635a61e4a6589f180569ea4e381680a51f35" - dependencies: - create-error-class "^3.0.1" - duplexer2 "^0.1.4" - is-redirect "^1.0.0" - is-retry-allowed "^1.0.0" - is-stream "^1.0.0" - lowercase-keys "^1.0.0" - node-status-codes "^1.0.0" - object-assign "^4.0.1" - parse-json "^2.1.0" - pinkie-promise "^2.0.0" - read-all-stream "^3.0.0" - readable-stream "^2.0.5" - timed-out "^3.0.0" - unzip-response "^1.0.2" - url-parse-lax "^1.0.0" - -graceful-fs@^4.1.11, graceful-fs@^4.1.2: - version "4.1.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" - -"graceful-readlink@>= 1.0.0": - version "1.0.1" - resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" - -growl@1.9.2: - version "1.9.2" - resolved "https://registry.yarnpkg.com/growl/-/growl-1.9.2.tgz#0ea7743715db8d8de2c5ede1775e1b45ac85c02f" - -har-validator@~2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d" - dependencies: - chalk "^1.1.1" - commander "^2.9.0" - is-my-json-valid "^2.12.4" - pinkie-promise "^2.0.0" - -has-ansi@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" - dependencies: - ansi-regex "^2.0.0" - -has-color@~0.1.0: - version "0.1.7" - resolved "https://registry.yarnpkg.com/has-color/-/has-color-0.1.7.tgz#67144a5260c34fc3cca677d041daf52fe7b78b2f" - -has-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" - -has-flag@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" - -has-unicode@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" - -"hashish@>=0.0.2 <0.1", hashish@^0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/hashish/-/hashish-0.0.4.tgz#6d60bc6ffaf711b6afd60e426d077988014e6554" - dependencies: - traverse ">=0.2.4" - -hawk@~3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" - dependencies: - boom "2.x.x" - cryptiles "2.x.x" - hoek "2.x.x" - sntp "1.x.x" - -hoek@2.x.x: - version "2.16.3" - resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" - -home-or-tmp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" - dependencies: - os-homedir "^1.0.0" - os-tmpdir "^1.0.1" - -hosted-git-info@^2.1.4: - version "2.1.5" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.1.5.tgz#0ba81d90da2e25ab34a332e6ec77936e1598118b" - -http-signature@~1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" - dependencies: - assert-plus "^0.2.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -ignore-by-default@^1.0.0, ignore-by-default@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - -indent-string@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" - dependencies: - repeating "^2.0.0" - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@^2.0.1, inherits@~2.0.0, inherits@~2.0.1: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - -ini@~1.3.0: - version "1.3.4" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" - -invariant@^2.2.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" - dependencies: - loose-envify "^1.0.0" - -irregular-plurals@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/irregular-plurals/-/irregular-plurals-1.2.0.tgz#38f299834ba8c00c30be9c554e137269752ff3ac" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - -is-binary-path@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" - dependencies: - binary-extensions "^1.0.0" - -is-buffer@^1.0.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.4.tgz#cfc86ccd5dc5a52fa80489111c6920c457e2d98b" - -is-builtin-module@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" - dependencies: - builtin-modules "^1.0.0" - -is-ci@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.0.10.tgz#f739336b2632365061a9d48270cd56ae3369318e" - dependencies: - ci-info "^1.0.0" - -is-dotfile@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.2.tgz#2c132383f39199f8edc268ca01b9b007d205cc4d" - -is-equal-shallow@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" - dependencies: - is-primitive "^2.0.0" - -is-error@^2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/is-error/-/is-error-2.2.1.tgz#684a96d84076577c98f4cdb40c6d26a5123bf19c" - -is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - -is-extglob@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" - -is-finite@^1.0.0, is-finite@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" - dependencies: - number-is-nan "^1.0.0" - -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - dependencies: - number-is-nan "^1.0.0" - -is-generator-fn@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-1.0.0.tgz#969d49e1bb3329f6bb7f09089be26578b2ddd46a" - -is-glob@^2.0.0, is-glob@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" - dependencies: - is-extglob "^1.0.0" - -is-my-json-valid@^2.12.4: - version "2.15.0" - resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz#936edda3ca3c211fd98f3b2d3e08da43f7b2915b" - dependencies: - generate-function "^2.0.0" - generate-object-property "^1.1.0" - jsonpointer "^4.0.0" - xtend "^4.0.0" - -is-npm@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" - -is-number@^2.0.2, is-number@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" - dependencies: - kind-of "^3.0.2" - -is-obj@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" - -is-observable@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/is-observable/-/is-observable-0.2.0.tgz#b361311d83c6e5d726cabf5e250b0237106f5ae2" - dependencies: - symbol-observable "^0.2.2" - -is-plain-obj@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" - -is-posix-bracket@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" - -is-primitive@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" - -is-promise@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" - -is-property@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" - -is-redirect@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" - -is-retry-allowed@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" - -is-stream@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - -is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - -is-url@^1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/is-url/-/is-url-1.2.2.tgz#498905a593bf47cc2d9e7f738372bbf7696c7f26" - -is-utf8@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" - -isarray@1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - -isexe@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-1.1.2.tgz#36f3e22e60750920f5e7241a476a8c6a42275ad0" - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - dependencies: - isarray "1.0.0" - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - -jodid25519@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/jodid25519/-/jodid25519-1.0.2.tgz#06d4912255093419477d425633606e0e90782967" - dependencies: - jsbn "~0.1.0" - -js-tokens@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-2.0.0.tgz#79903f5563ee778cc1162e6dcf1a0027c97f9cb5" - -js-tokens@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.0.tgz#a2f2a969caae142fb3cd56228358c89366957bd1" - -jsbn@~0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.0.tgz#650987da0dd74f4ebf5a11377a2aa2d273e97dfd" - -jsesc@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" - -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - -json-schema@0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" - -json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - -json3@3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1" - -json5@^0.5.0: - version "0.5.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" - -jsonpointer@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" - -jsprim@^1.2.2: - version "1.3.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.3.1.tgz#2a7256f70412a29ee3670aaca625994c4dcff252" - dependencies: - extsprintf "1.0.2" - json-schema "0.2.3" - verror "1.3.6" - -kind-of@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.1.0.tgz#475d698a5e49ff5e53d14e3e732429dc8bf4cf47" - dependencies: - is-buffer "^1.0.2" - -last-line-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/last-line-stream/-/last-line-stream-1.0.0.tgz#d1b64d69f86ff24af2d04883a2ceee14520a5600" - dependencies: - through2 "^2.0.0" - -latest-version@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-2.0.0.tgz#56f8d6139620847b8017f8f1f4d78e211324168b" - dependencies: - package-json "^2.0.0" - -lazy-req@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/lazy-req/-/lazy-req-1.1.0.tgz#bdaebead30f8d824039ce0ce149d4daa07ba1fac" - -load-json-file@^1.0.0, load-json-file@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - pinkie-promise "^2.0.0" - strip-bom "^2.0.0" - -lodash._baseassign@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz#8c38a099500f215ad09e59f1722fd0c52bfe0a4e" - dependencies: - lodash._basecopy "^3.0.0" - lodash.keys "^3.0.0" - -lodash._basecopy@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36" - -lodash._basecreate@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz#1bc661614daa7fc311b7d03bf16806a0213cf821" - -lodash._getnative@^3.0.0: - version "3.9.1" - resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" - -lodash._isiterateecall@^3.0.0: - version "3.0.9" - resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c" - -lodash.create@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/lodash.create/-/lodash.create-3.1.1.tgz#d7f2849f0dbda7e04682bb8cd72ab022461debe7" - dependencies: - lodash._baseassign "^3.0.0" - lodash._basecreate "^3.0.0" - lodash._isiterateecall "^3.0.0" - -lodash.debounce@^4.0.3: - version "4.0.8" - resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" - -lodash.difference@^4.3.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.difference/-/lodash.difference-4.5.0.tgz#9ccb4e505d486b91651345772885a2df27fd017c" - -lodash.flatten@^4.2.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" - -lodash.isarguments@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" - -lodash.isarray@^3.0.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" - -lodash.isequal@^4.4.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" - -lodash.keys@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" - dependencies: - lodash._getnative "^3.0.0" - lodash.isarguments "^3.0.0" - lodash.isarray "^3.0.0" - -lodash@^4.2.0: - version "4.17.4" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" - -loose-envify@^1.0.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" - dependencies: - js-tokens "^3.0.0" - -loud-rejection@^1.0.0, loud-rejection@^1.2.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" - dependencies: - currently-unhandled "^0.4.1" - signal-exit "^3.0.0" - -lowercase-keys@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306" - -lru-cache@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.0.2.tgz#1d17679c069cda5d040991a09dbc2c0db377e55e" - dependencies: - pseudomap "^1.0.1" - yallist "^2.0.0" - -map-obj@^1.0.0, map-obj@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" - -matcher@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/matcher/-/matcher-0.1.2.tgz#ef20cbde64c24c50cc61af5b83ee0b1b8ff00101" - dependencies: - escape-string-regexp "^1.0.4" - -max-timeout@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/max-timeout/-/max-timeout-1.0.0.tgz#b68f69a2f99e0b476fd4cb23e2059ca750715e1f" - -md5-hex@^1.2.0, md5-hex@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/md5-hex/-/md5-hex-1.3.0.tgz#d2c4afe983c4370662179b8cad145219135046c4" - dependencies: - md5-o-matic "^0.1.1" - -md5-o-matic@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/md5-o-matic/-/md5-o-matic-0.1.1.tgz#822bccd65e117c514fab176b25945d54100a03c3" - -meow@^3.7.0: - version "3.7.0" - resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" - dependencies: - camelcase-keys "^2.0.0" - decamelize "^1.1.2" - loud-rejection "^1.0.0" - map-obj "^1.0.1" - minimist "^1.1.3" - normalize-package-data "^2.3.4" - object-assign "^4.0.1" - read-pkg-up "^1.0.1" - redent "^1.0.0" - trim-newlines "^1.0.0" - -micromatch@^2.1.5: - version "2.3.11" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" - dependencies: - arr-diff "^2.0.0" - array-unique "^0.2.1" - braces "^1.8.2" - expand-brackets "^0.1.4" - extglob "^0.3.1" - filename-regex "^2.0.0" - is-extglob "^1.0.0" - is-glob "^2.0.1" - kind-of "^3.0.2" - normalize-path "^2.0.1" - object.omit "^2.0.0" - parse-glob "^3.0.4" - regex-cache "^0.4.2" - -mime-db@~1.26.0: - version "1.26.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.26.0.tgz#eaffcd0e4fc6935cf8134da246e2e6c35305adff" - -mime-types@^2.1.12, mime-types@~2.1.7: - version "2.1.14" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.14.tgz#f7ef7d97583fcaf3b7d282b6f8b5679dab1e94ee" - dependencies: - mime-db "~1.26.0" - -minimatch@^3.0.0, minimatch@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774" - dependencies: - brace-expansion "^1.0.0" - -minimist@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" - -minimist@^1.1.3, minimist@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" - -mkdirp@0.5.1, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" - dependencies: - minimist "0.0.8" - -mocha@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-3.2.0.tgz#7dc4f45e5088075171a68896814e6ae9eb7a85e3" - dependencies: - browser-stdout "1.3.0" - commander "2.9.0" - debug "2.2.0" - diff "1.4.0" - escape-string-regexp "1.0.5" - glob "7.0.5" - growl "1.9.2" - json3 "3.3.2" - lodash.create "3.1.1" - mkdirp "0.5.1" - supports-color "3.1.2" - -ms@0.7.1, ms@^0.7.1: - version "0.7.1" - resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" - -multimatch@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-2.1.0.tgz#9c7906a22fb4c02919e2f5f75161b4cdbd4b2a2b" - dependencies: - array-differ "^1.0.0" - array-union "^1.0.1" - arrify "^1.0.0" - minimatch "^3.0.0" - -nan@^2.3.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.5.0.tgz#aa8f1e34531d807e9e27755b234b4a6ec0c152a8" - -node-pre-gyp@^0.6.29: - version "0.6.32" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.32.tgz#fc452b376e7319b3d255f5f34853ef6fd8fe1fd5" - dependencies: - mkdirp "~0.5.1" - nopt "~3.0.6" - npmlog "^4.0.1" - rc "~1.1.6" - request "^2.79.0" - rimraf "~2.5.4" - semver "~5.3.0" - tar "~2.2.1" - tar-pack "~3.3.0" - -node-status-codes@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/node-status-codes/-/node-status-codes-1.0.0.tgz#5ae5541d024645d32a58fcddc9ceecea7ae3ac2f" - -nopt@~3.0.6: - version "3.0.6" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" - dependencies: - abbrev "1" - -normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: - version "2.3.5" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.3.5.tgz#8d924f142960e1777e7ffe170543631cc7cb02df" - dependencies: - hosted-git-info "^2.1.4" - is-builtin-module "^1.0.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-path@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.0.1.tgz#47886ac1662760d4261b7d979d241709d3ce3f7a" - -npmlog@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.0.2.tgz#d03950e0e78ce1527ba26d2a7592e9348ac3e75f" - dependencies: - are-we-there-yet "~1.1.2" - console-control-strings "~1.1.0" - gauge "~2.7.1" - set-blocking "~2.0.0" - -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - -oauth-sign@~0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" - -object-assign@^4.0.1, object-assign@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - -object.omit@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" - dependencies: - for-own "^0.1.4" - is-extendable "^0.1.1" - -observable-to-promise@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/observable-to-promise/-/observable-to-promise-0.4.0.tgz#28afe71645308f2d41d71f47ad3fece1a377e52b" - dependencies: - is-observable "^0.2.0" - symbol-observable "^0.2.2" - -once@^1.3.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - dependencies: - wrappy "1" - -once@~1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz#b2e261557ce4c314ec8304f3fa82663e4297ca20" - dependencies: - wrappy "1" - -onetime@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" - -option-chain@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/option-chain/-/option-chain-0.1.1.tgz#e9b811e006f1c0f54802f28295bfc8970f8dcfbd" - dependencies: - object-assign "^4.0.1" - -os-homedir@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" - -os-tmpdir@^1.0.0, os-tmpdir@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - -osenv@^0.1.0: - version "0.1.4" - resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644" - dependencies: - os-homedir "^1.0.0" - os-tmpdir "^1.0.0" - -package-hash@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/package-hash/-/package-hash-1.2.0.tgz#003e56cd57b736a6ed6114cc2b81542672770e44" - dependencies: - md5-hex "^1.3.0" - -package-json@^2.0.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/package-json/-/package-json-2.4.0.tgz#0d15bd67d1cbbddbb2ca222ff2edb86bcb31a8bb" - dependencies: - got "^5.0.0" - registry-auth-token "^3.0.1" - registry-url "^3.0.3" - semver "^5.1.0" - -parse-glob@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" - dependencies: - glob-base "^0.3.0" - is-dotfile "^1.0.0" - is-extglob "^1.0.0" - is-glob "^2.0.0" - -parse-json@^2.1.0, parse-json@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" - dependencies: - error-ex "^1.2.0" - -parse-ms@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/parse-ms/-/parse-ms-0.1.2.tgz#dd3fa25ed6c2efc7bdde12ad9b46c163aa29224e" - -parse-ms@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parse-ms/-/parse-ms-1.0.1.tgz#56346d4749d78f23430ca0c713850aef91aa361d" - -path-exists@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" - dependencies: - pinkie-promise "^2.0.0" - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - -path-type@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" - dependencies: - graceful-fs "^4.1.2" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -pify@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - -pinkie-promise@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-1.0.0.tgz#d1da67f5482563bb7cf57f286ae2822ecfbf3670" - dependencies: - pinkie "^1.0.0" - -pinkie-promise@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" - dependencies: - pinkie "^2.0.0" - -pinkie@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-1.0.0.tgz#5a47f28ba1015d0201bda7bf0f358e47bec8c7e4" - -pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - -pkg-conf@^1.0.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/pkg-conf/-/pkg-conf-1.1.3.tgz#378e56d6fd13e88bfb6f4a25df7a83faabddba5b" - dependencies: - find-up "^1.0.0" - load-json-file "^1.1.0" - object-assign "^4.0.1" - symbol "^0.2.1" - -pkg-dir@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" - dependencies: - find-up "^1.0.0" - -plur@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/plur/-/plur-1.0.0.tgz#db85c6814f5e5e5a3b49efc28d604fec62975156" - -plur@^2.0.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/plur/-/plur-2.1.2.tgz#7482452c1a0f508e3e344eaec312c91c29dc655a" - dependencies: - irregular-plurals "^1.0.0" - -power-assert-context-formatter@^1.0.4: - version "1.1.1" - resolved "https://registry.yarnpkg.com/power-assert-context-formatter/-/power-assert-context-formatter-1.1.1.tgz#edba352d3ed8a603114d667265acce60d689ccdf" - dependencies: - core-js "^2.0.0" - power-assert-context-traversal "^1.1.1" - -power-assert-context-traversal@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/power-assert-context-traversal/-/power-assert-context-traversal-1.1.1.tgz#88cabca0d13b6359f07d3d3e8afa699264577ed9" - dependencies: - core-js "^2.0.0" - estraverse "^4.1.0" - -power-assert-renderer-assertion@^1.0.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/power-assert-renderer-assertion/-/power-assert-renderer-assertion-1.1.1.tgz#cbfc0e77e0086a8f96af3f1d8e67b9ee7e28ce98" - dependencies: - power-assert-renderer-base "^1.1.1" - power-assert-util-string-width "^1.1.1" - -power-assert-renderer-base@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/power-assert-renderer-base/-/power-assert-renderer-base-1.1.1.tgz#96a650c6fd05ee1bc1f66b54ad61442c8b3f63eb" - -power-assert-renderer-diagram@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/power-assert-renderer-diagram/-/power-assert-renderer-diagram-1.1.1.tgz#7e0c82cc08a84b155e51b5ae94f59709778a65fb" - dependencies: - core-js "^2.0.0" - power-assert-renderer-base "^1.1.1" - power-assert-util-string-width "^1.1.1" - stringifier "^1.3.0" - -power-assert-renderer-succinct@^1.0.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/power-assert-renderer-succinct/-/power-assert-renderer-succinct-1.1.1.tgz#c2a468b23822abd6f80e2aba5322347b09df476e" - dependencies: - core-js "^2.0.0" - power-assert-renderer-diagram "^1.1.1" - -power-assert-util-string-width@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/power-assert-util-string-width/-/power-assert-util-string-width-1.1.1.tgz#be659eb7937fdd2e6c9a77268daaf64bd5b7c592" - dependencies: - eastasianwidth "^0.1.1" - -prepend-http@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" - -preserve@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" - -pretty-ms@^0.2.1: - version "0.2.2" - resolved "https://registry.yarnpkg.com/pretty-ms/-/pretty-ms-0.2.2.tgz#da879a682ff33a37011046f13d627f67c73b84f6" - dependencies: - parse-ms "^0.1.0" - -pretty-ms@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/pretty-ms/-/pretty-ms-2.1.0.tgz#4257c256df3fb0b451d6affaab021884126981dc" - dependencies: - is-finite "^1.0.1" - parse-ms "^1.0.0" - plur "^1.0.0" - -private@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/private/-/private-0.1.6.tgz#55c6a976d0f9bafb9924851350fe47b9b5fbb7c1" - -process-nextick-args@~1.0.6: - version "1.0.7" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" - -pseudomap@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" - -punycode@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - -qs@~6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.0.tgz#f403b264f23bc01228c74131b407f18d5ea5d442" - -randomatic@^1.1.3: - version "1.1.6" - resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.6.tgz#110dcabff397e9dcff7c0789ccc0a49adf1ec5bb" - dependencies: - is-number "^2.0.2" - kind-of "^3.0.2" - -rc@^1.0.1, rc@^1.1.6, rc@~1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.1.6.tgz#43651b76b6ae53b5c802f1151fa3fc3b059969c9" - dependencies: - deep-extend "~0.4.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~1.0.4" - -read-all-stream@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/read-all-stream/-/read-all-stream-3.1.0.tgz#35c3e177f2078ef789ee4bfafa4373074eaef4fa" - dependencies: - pinkie-promise "^2.0.0" - readable-stream "^2.0.0" - -read-pkg-up@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" - dependencies: - find-up "^1.0.0" - read-pkg "^1.0.0" - -read-pkg@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" - dependencies: - load-json-file "^1.0.0" - normalize-package-data "^2.3.2" - path-type "^1.0.0" - -readable-stream@^2.0.0, "readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.1.5: - version "2.2.2" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.2.tgz#a9e6fec3c7dda85f8bb1b3ba7028604556fc825e" - dependencies: - buffer-shims "^1.0.0" - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "~1.0.0" - process-nextick-args "~1.0.6" - string_decoder "~0.10.x" - util-deprecate "~1.0.1" - -readable-stream@~2.1.4: - version "2.1.5" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.1.5.tgz#66fa8b720e1438b364681f2ad1a63c618448c9d0" - dependencies: - buffer-shims "^1.0.0" - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "~1.0.0" - process-nextick-args "~1.0.6" - string_decoder "~0.10.x" - util-deprecate "~1.0.1" - -readdirp@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" - dependencies: - graceful-fs "^4.1.2" - minimatch "^3.0.2" - readable-stream "^2.0.2" - set-immediate-shim "^1.0.1" - -redent@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" - dependencies: - indent-string "^2.1.0" - strip-indent "^1.0.1" - -regenerate@^1.2.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.2.tgz#d1941c67bad437e1be76433add5b385f95b19260" - -regenerator-runtime@^0.10.0: - version "0.10.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz#257f41961ce44558b18f7814af48c17559f9faeb" - -regenerator-transform@0.9.8: - version "0.9.8" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.9.8.tgz#0f88bb2bc03932ddb7b6b7312e68078f01026d6c" - dependencies: - babel-runtime "^6.18.0" - babel-types "^6.19.0" - private "^0.1.6" - -regex-cache@^0.4.2: - version "0.4.3" - resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.3.tgz#9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145" - dependencies: - is-equal-shallow "^0.1.3" - is-primitive "^2.0.0" - -regexpu-core@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" - dependencies: - regenerate "^1.2.1" - regjsgen "^0.2.0" - regjsparser "^0.1.4" - -registry-auth-token@^3.0.1: - version "3.1.0" - resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.1.0.tgz#997c08256e0c7999837b90e944db39d8a790276b" - dependencies: - rc "^1.1.6" - -registry-url@^3.0.3: - version "3.1.0" - resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942" - dependencies: - rc "^1.0.1" - -regjsgen@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" - -regjsparser@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" - dependencies: - jsesc "~0.5.0" - -repeat-element@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" - -repeat-string@^1.5.2: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - -repeating@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" - dependencies: - is-finite "^1.0.0" - -request@^2.11.4, request@^2.79.0: - version "2.79.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de" - dependencies: - aws-sign2 "~0.6.0" - aws4 "^1.2.1" - caseless "~0.11.0" - combined-stream "~1.0.5" - extend "~3.0.0" - forever-agent "~0.6.1" - form-data "~2.1.1" - har-validator "~2.0.6" - hawk "~3.1.3" - http-signature "~1.1.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.7" - oauth-sign "~0.8.1" - qs "~6.3.0" - stringstream "~0.0.4" - tough-cookie "~2.3.0" - tunnel-agent "~0.4.1" - uuid "^3.0.0" - -require-precompiled@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/require-precompiled/-/require-precompiled-0.1.0.tgz#5a1b52eb70ebed43eb982e974c85ab59571e56fa" - -resolve-cwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-1.0.0.tgz#4eaeea41ed040d1702457df64a42b2b07d246f9f" - dependencies: - resolve-from "^2.0.0" - -resolve-from@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-2.0.0.tgz#9480ab20e94ffa1d9e80a804c7ea147611966b57" - -restore-cursor@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" - dependencies: - exit-hook "^1.0.0" - onetime "^1.0.0" - -rimraf@2, rimraf@~2.5.1, rimraf@~2.5.4: - version "2.5.4" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04" - dependencies: - glob "^7.0.5" - -semver-diff@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36" - dependencies: - semver "^5.0.3" - -"semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@~5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" - -seq@>=0.1.7: - version "0.3.5" - resolved "https://registry.yarnpkg.com/seq/-/seq-0.3.5.tgz#ae02af3a424793d8ccbf212d69174e0c54dffe38" - dependencies: - chainsaw ">=0.0.7 <0.1" - hashish ">=0.0.2 <0.1" - -set-blocking@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - -set-immediate-shim@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" - -signal-exit@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" - -slash@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" - -slice-ansi@0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" - -slide@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" - -sntp@1.x.x: - version "1.0.9" - resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" - dependencies: - hoek "2.x.x" - -sort-keys@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" - dependencies: - is-plain-obj "^1.0.0" - -source-map-support@^0.4.0, source-map-support@^0.4.2: - version "0.4.9" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.9.tgz#45eaa04f067e049d987b27599ed014a37750aaff" - dependencies: - source-map "^0.5.3" - -source-map@^0.5.0, source-map@^0.5.3: - version "0.5.6" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" - -spdx-correct@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" - dependencies: - spdx-license-ids "^1.0.2" - -spdx-expression-parse@~1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c" - -spdx-license-ids@^1.0.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" - -sshpk@^1.7.0: - version "1.10.2" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.10.2.tgz#d5a804ce22695515638e798dbe23273de070a5fa" - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - dashdash "^1.12.0" - getpass "^0.1.1" - optionalDependencies: - bcrypt-pbkdf "^1.0.0" - ecc-jsbn "~0.1.1" - jodid25519 "^1.0.0" - jsbn "~0.1.0" - tweetnacl "~0.14.0" - -stack-utils@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-0.4.0.tgz#940cb82fccfa84e8ff2f3fdf293fe78016beccd1" - -string-width@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - -string_decoder@~0.10.x: - version "0.10.31" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" - -stringifier@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/stringifier/-/stringifier-1.3.0.tgz#def18342f6933db0f2dbfc9aa02175b448c17959" - dependencies: - core-js "^2.0.0" - traverse "^0.6.6" - type-name "^2.0.1" - -stringstream@~0.0.4: - version "0.0.5" - resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" - -strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - dependencies: - ansi-regex "^2.0.0" - -strip-ansi@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.1.1.tgz#39e8a98d044d150660abe4a6808acf70bb7bc991" - -strip-bom@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" - dependencies: - is-utf8 "^0.2.0" - -strip-indent@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" - dependencies: - get-stdin "^4.0.1" - -strip-json-comments@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz#1e15fbcac97d3ee99bf2d73b4c656b082bbafb91" - -supports-color@3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.1.2.tgz#72a262894d9d408b956ca05ff37b2ed8a6e2a2d5" - dependencies: - has-flag "^1.0.0" - -supports-color@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-0.2.0.tgz#d92de2694eb3f67323973d7ae3d8b55b4c22190a" - -supports-color@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" - -symbol-observable@^0.2.2: - version "0.2.4" - resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-0.2.4.tgz#95a83db26186d6af7e7a18dbd9760a2f86d08f40" - -symbol@^0.2.1: - version "0.2.3" - resolved "https://registry.yarnpkg.com/symbol/-/symbol-0.2.3.tgz#3b9873b8a901e47c6efe21526a3ac372ef28bbc7" - -tar-pack@~3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.3.0.tgz#30931816418f55afc4d21775afdd6720cee45dae" - dependencies: - debug "~2.2.0" - fstream "~1.0.10" - fstream-ignore "~1.0.5" - once "~1.3.3" - readable-stream "~2.1.4" - rimraf "~2.5.1" - tar "~2.2.1" - uid-number "~0.0.6" - -tar@~2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" - dependencies: - block-stream "*" - fstream "^1.0.2" - inherits "2" - -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - -the-argv@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/the-argv/-/the-argv-1.0.0.tgz#0084705005730dd84db755253c931ae398db9522" - -through2@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" - dependencies: - readable-stream "^2.1.5" - xtend "~4.0.1" - -time-require@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/time-require/-/time-require-0.1.2.tgz#f9e12cb370fc2605e11404582ba54ef5ca2b2d98" - dependencies: - chalk "^0.4.0" - date-time "^0.1.1" - pretty-ms "^0.2.1" - text-table "^0.2.0" - -timed-out@^3.0.0: - version "3.1.3" - resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-3.1.3.tgz#95860bfcc5c76c277f8f8326fd0f5b2e20eba217" - -to-fast-properties@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.2.tgz#f3f5c0c3ba7299a7ef99427e44633257ade43320" - -tough-cookie@~2.3.0: - version "2.3.2" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a" - dependencies: - punycode "^1.4.1" - -traverse@>=0.2.4, traverse@^0.6.6: - version "0.6.6" - resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.6.6.tgz#cbdf560fd7b9af632502fed40f918c157ea97137" - -"traverse@>=0.3.0 <0.4": - version "0.3.9" - resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.3.9.tgz#717b8f220cc0bb7b44e40514c22b2e8bbc70d8b9" - -trim-newlines@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" - -tunnel-agent@~0.4.1: - version "0.4.3" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - -type-name@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/type-name/-/type-name-2.0.2.tgz#efe7d4123d8ac52afff7f40c7e4dec5266008fb4" - -uid-number@~0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" - -uid2@0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/uid2/-/uid2-0.0.3.tgz#483126e11774df2f71b8b639dcd799c376162b82" - -unique-temp-dir@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unique-temp-dir/-/unique-temp-dir-1.0.0.tgz#6dce95b2681ca003eebfb304a415f9cbabcc5385" - dependencies: - mkdirp "^0.5.1" - os-tmpdir "^1.0.1" - uid2 "0.0.3" - -unzip-response@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-1.0.2.tgz#b984f0877fc0a89c2c773cc1ef7b5b232b5b06fe" - -update-notifier@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-1.0.3.tgz#8f92c515482bd6831b7c93013e70f87552c7cf5a" - dependencies: - boxen "^0.6.0" - chalk "^1.0.0" - configstore "^2.0.0" - is-npm "^1.0.0" - latest-version "^2.0.0" - lazy-req "^1.1.0" - semver-diff "^2.0.0" - xdg-basedir "^2.0.0" - -url-parse-lax@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" - dependencies: - prepend-http "^1.0.1" - -urun@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/urun/-/urun-0.0.6.tgz#e0fa856980367d86bf146e180bc3890320ab1d2f" - dependencies: - utest "0.0.2" - -utest@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/utest/-/utest-0.0.2.tgz#3862e2975309ea5de0940444a6c6ee0179726a16" - -utest@^0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/utest/-/utest-0.0.8.tgz#fc09451fe697b9008d0c432fe0db439d6cf37914" - -util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - -uuid@^2.0.1: - version "2.0.3" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" - -uuid@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1" - -validate-npm-package-license@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" - dependencies: - spdx-correct "~1.0.0" - spdx-expression-parse "~1.0.0" - -verror@1.3.6: - version "1.3.6" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.3.6.tgz#cff5df12946d297d2baaefaa2689e25be01c005c" - dependencies: - extsprintf "1.0.2" - -which@^1.2.9: - version "1.2.12" - resolved "https://registry.yarnpkg.com/which/-/which-1.2.12.tgz#de67b5e450269f194909ef23ece4ebe416fa1192" - dependencies: - isexe "^1.1.1" - -wide-align@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.0.tgz#40edde802a71fea1f070da3e62dcda2e7add96ad" - dependencies: - string-width "^1.0.1" - -widest-line@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-1.0.0.tgz#0c09c85c2a94683d0d7eaf8ee097d564bf0e105c" - dependencies: - string-width "^1.0.1" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - -write-file-atomic@^1.1.2, write-file-atomic@^1.1.4: - version "1.3.1" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-1.3.1.tgz#7d45ba32316328dd1ec7d90f60ebc0d845bb759a" - dependencies: - graceful-fs "^4.1.11" - imurmurhash "^0.1.4" - slide "^1.1.5" - -write-json-file@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/write-json-file/-/write-json-file-1.2.0.tgz#2d5dfe96abc3c889057c93971aa4005efb548134" - dependencies: - graceful-fs "^4.1.2" - mkdirp "^0.5.1" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - sort-keys "^1.1.1" - write-file-atomic "^1.1.2" - -write-pkg@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/write-pkg/-/write-pkg-1.0.0.tgz#aeb8aa9d4d788e1d893dfb0854968b543a919f57" - dependencies: - write-json-file "^1.1.0" - -xdg-basedir@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-2.0.0.tgz#edbc903cc385fc04523d966a335504b5504d1bd2" - dependencies: - os-homedir "^1.0.0" - -xtend@^4.0.0, xtend@~4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" - -yallist@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.0.0.tgz#306c543835f09ee1a4cb23b7bce9ab341c91cdd4" diff --git a/tests/packagedcode/data/nuget/Castle.Core.nuspec.json.expected b/tests/packagedcode/data/nuget/Castle.Core.nuspec.json.expected index 8a5174739c3..eb095a973b8 100644 --- a/tests/packagedcode/data/nuget/Castle.Core.nuspec.json.expected +++ b/tests/packagedcode/data/nuget/Castle.Core.nuspec.json.expected @@ -40,13 +40,14 @@ "license_expression": "apache-2.0", "declared_license": "http://www.apache.org/licenses/LICENSE-2.0.html", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:nuget/Castle.Core@4.2.1", "repository_homepage_url": "https://www.nuget.org/packages/Castle.Core/4.2.1", "repository_download_url": "https://www.nuget.org/api/v2/package/Castle.Core/4.2.1", - "api_data_url": "https://api.nuget.org/v3/registration3/castle.core/4.2.1.json" + "api_data_url": "https://api.nuget.org/v3/registration3/castle.core/4.2.1.json", + "datasource_id": "nuget_nupsec", + "purl": "pkg:nuget/Castle.Core@4.2.1" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/nuget/EntityFramework.nuspec.json.expected b/tests/packagedcode/data/nuget/EntityFramework.nuspec.json.expected index 03a45e40d7a..2db275ccaf1 100644 --- a/tests/packagedcode/data/nuget/EntityFramework.nuspec.json.expected +++ b/tests/packagedcode/data/nuget/EntityFramework.nuspec.json.expected @@ -40,13 +40,14 @@ "license_expression": "ms-net-library", "declared_license": "http://go.microsoft.com/fwlink/?LinkID=320539", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:nuget/EntityFramework@6.1.3", "repository_homepage_url": "https://www.nuget.org/packages/EntityFramework/6.1.3", "repository_download_url": "https://www.nuget.org/api/v2/package/EntityFramework/6.1.3", - "api_data_url": "https://api.nuget.org/v3/registration3/entityframework/6.1.3.json" + "api_data_url": "https://api.nuget.org/v3/registration3/entityframework/6.1.3.json", + "datasource_id": "nuget_nupsec", + "purl": "pkg:nuget/EntityFramework@6.1.3" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/nuget/Microsoft.AspNet.Mvc.nuspec.json.expected b/tests/packagedcode/data/nuget/Microsoft.AspNet.Mvc.nuspec.json.expected index 3543c2d42c8..422d25431e7 100644 --- a/tests/packagedcode/data/nuget/Microsoft.AspNet.Mvc.nuspec.json.expected +++ b/tests/packagedcode/data/nuget/Microsoft.AspNet.Mvc.nuspec.json.expected @@ -40,13 +40,14 @@ "license_expression": "ms-net-library", "declared_license": "http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:nuget/Microsoft.AspNet.Mvc@6.0.0-beta7", "repository_homepage_url": "https://www.nuget.org/packages/Microsoft.AspNet.Mvc/6.0.0-beta7", "repository_download_url": "https://www.nuget.org/api/v2/package/Microsoft.AspNet.Mvc/6.0.0-beta7", - "api_data_url": "https://api.nuget.org/v3/registration3/microsoft.aspnet.mvc/6.0.0-beta7.json" + "api_data_url": "https://api.nuget.org/v3/registration3/microsoft.aspnet.mvc/6.0.0-beta7.json", + "datasource_id": "nuget_nupsec", + "purl": "pkg:nuget/Microsoft.AspNet.Mvc@6.0.0-beta7" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/nuget/Microsoft.Net.Http.nuspec.json.expected b/tests/packagedcode/data/nuget/Microsoft.Net.Http.nuspec.json.expected index 54b26a8a06d..e146ff270a7 100644 --- a/tests/packagedcode/data/nuget/Microsoft.Net.Http.nuspec.json.expected +++ b/tests/packagedcode/data/nuget/Microsoft.Net.Http.nuspec.json.expected @@ -40,13 +40,14 @@ "license_expression": "ms-net-library-2018-11", "declared_license": "http://go.microsoft.com/fwlink/?LinkId=329770", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:nuget/Microsoft.Net.Http@2.2.29", "repository_homepage_url": "https://www.nuget.org/packages/Microsoft.Net.Http/2.2.29", "repository_download_url": "https://www.nuget.org/api/v2/package/Microsoft.Net.Http/2.2.29", - "api_data_url": "https://api.nuget.org/v3/registration3/microsoft.net.http/2.2.29.json" + "api_data_url": "https://api.nuget.org/v3/registration3/microsoft.net.http/2.2.29.json", + "datasource_id": "nuget_nupsec", + "purl": "pkg:nuget/Microsoft.Net.Http@2.2.29" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/nuget/bootstrap.nuspec.json.expected b/tests/packagedcode/data/nuget/bootstrap.nuspec.json.expected index c5d6b458171..dc4b8e15b39 100644 --- a/tests/packagedcode/data/nuget/bootstrap.nuspec.json.expected +++ b/tests/packagedcode/data/nuget/bootstrap.nuspec.json.expected @@ -40,13 +40,14 @@ "license_expression": "mit", "declared_license": "https://github.com/twbs/bootstrap/blob/master/LICENSE", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:nuget/bootstrap@4.0.0-alpha", "repository_homepage_url": "https://www.nuget.org/packages/bootstrap/4.0.0-alpha", "repository_download_url": "https://www.nuget.org/api/v2/package/bootstrap/4.0.0-alpha", - "api_data_url": "https://api.nuget.org/v3/registration3/bootstrap/4.0.0-alpha.json" + "api_data_url": "https://api.nuget.org/v3/registration3/bootstrap/4.0.0-alpha.json", + "datasource_id": "nuget_nupsec", + "purl": "pkg:nuget/bootstrap@4.0.0-alpha" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/nuget/jQuery.UI.Combined.nuspec.json.expected b/tests/packagedcode/data/nuget/jQuery.UI.Combined.nuspec.json.expected index b99a0e17402..5cca7b21905 100644 --- a/tests/packagedcode/data/nuget/jQuery.UI.Combined.nuspec.json.expected +++ b/tests/packagedcode/data/nuget/jQuery.UI.Combined.nuspec.json.expected @@ -40,13 +40,14 @@ "license_expression": "mit", "declared_license": "http://jquery.org/license", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:nuget/jQuery.UI.Combined@1.11.4", "repository_homepage_url": "https://www.nuget.org/packages/jQuery.UI.Combined/1.11.4", "repository_download_url": "https://www.nuget.org/api/v2/package/jQuery.UI.Combined/1.11.4", - "api_data_url": "https://api.nuget.org/v3/registration3/jquery.ui.combined/1.11.4.json" + "api_data_url": "https://api.nuget.org/v3/registration3/jquery.ui.combined/1.11.4.json", + "datasource_id": "nuget_nupsec", + "purl": "pkg:nuget/jQuery.UI.Combined@1.11.4" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/opam/sample1/output.opam.expected b/tests/packagedcode/data/opam/sample1/output.opam.expected index e3284a8df56..e10b1b9279a 100644 --- a/tests/packagedcode/data/opam/sample1/output.opam.expected +++ b/tests/packagedcode/data/opam/sample1/output.opam.expected @@ -110,8 +110,8 @@ "license_expression": "isc", "declared_license": "ISC", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -205,9 +205,10 @@ "resolved_package": {} } ], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "opam_file", + "purl": null } ] \ No newline at end of file diff --git a/tests/packagedcode/data/opam/sample2/output.opam.expected b/tests/packagedcode/data/opam/sample2/output.opam.expected index fa4266dd7af..183e126eb86 100644 --- a/tests/packagedcode/data/opam/sample2/output.opam.expected +++ b/tests/packagedcode/data/opam/sample2/output.opam.expected @@ -40,8 +40,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -99,9 +99,10 @@ "resolved_package": {} } ], - "purl": "pkg:opam/js_of_ocaml", - "repository_homepage_url": "https://opam.ocaml.org/packages/js_of_ocaml", + "repository_homepage_url": "{https://opam.ocaml.org/packages}/{name}", "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "opam_file", + "purl": "pkg:opam/js_of_ocaml" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/opam/sample3/output.opam.expected b/tests/packagedcode/data/opam/sample3/output.opam.expected index 6d75de13392..e67d16df627 100644 --- a/tests/packagedcode/data/opam/sample3/output.opam.expected +++ b/tests/packagedcode/data/opam/sample3/output.opam.expected @@ -54,8 +54,8 @@ "license_expression": "gpl-3.0", "declared_license": "GPL-3.0-only", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -86,9 +86,10 @@ "resolved_package": {} } ], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "opam_file", + "purl": null } ] \ No newline at end of file diff --git a/tests/packagedcode/data/opam/sample4/output.opam.expected b/tests/packagedcode/data/opam/sample4/output.opam.expected index 59ad749fa98..932506b68f7 100644 --- a/tests/packagedcode/data/opam/sample4/output.opam.expected +++ b/tests/packagedcode/data/opam/sample4/output.opam.expected @@ -47,8 +47,8 @@ "license_expression": "lgpl-3.0 WITH ocaml-lgpl-linking-exception", "declared_license": "LGPL-3.0-only with OCaml-LGPL-linking-exception", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -88,9 +88,10 @@ "resolved_package": {} } ], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "opam_file", + "purl": null } ] \ No newline at end of file diff --git a/tests/packagedcode/data/opam/sample5/output.opam.expected b/tests/packagedcode/data/opam/sample5/output.opam.expected index 8fea1f63cae..b3c02001a90 100644 --- a/tests/packagedcode/data/opam/sample5/output.opam.expected +++ b/tests/packagedcode/data/opam/sample5/output.opam.expected @@ -40,8 +40,8 @@ "license_expression": "mit", "declared_license": "MIT", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -90,9 +90,10 @@ "resolved_package": {} } ], - "purl": "pkg:opam/bap-elf@1.0.0", - "repository_homepage_url": "https://opam.ocaml.org/packages/bap-elf", + "repository_homepage_url": "{https://opam.ocaml.org/packages}/{name}", "repository_download_url": null, - "api_data_url": "https://github.com/ocaml/opam-repository/blob/master/packages/bap-elf/bap-elf.1.0.0/opam" + "api_data_url": "https://github.com/ocaml/opam-repository/blob/master/packages/bap-elf/bap-elf.1.0.0/opam", + "datasource_id": "opam_file", + "purl": "pkg:opam/bap-elf@1.0.0" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/opam/sample6/output.opam.expected b/tests/packagedcode/data/opam/sample6/output.opam.expected index 71d83b7116e..cea7cdb1868 100644 --- a/tests/packagedcode/data/opam/sample6/output.opam.expected +++ b/tests/packagedcode/data/opam/sample6/output.opam.expected @@ -40,8 +40,8 @@ "license_expression": "gpl-2.0", "declared_license": "GPL-2.0", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -54,9 +54,10 @@ "resolved_package": {} } ], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "opam_file", + "purl": null } ] \ No newline at end of file diff --git a/tests/packagedcode/data/opam/sample7/output.opam.expected b/tests/packagedcode/data/opam/sample7/output.opam.expected index 6a5072f2554..56af730bd76 100644 --- a/tests/packagedcode/data/opam/sample7/output.opam.expected +++ b/tests/packagedcode/data/opam/sample7/output.opam.expected @@ -47,8 +47,8 @@ "license_expression": "lgpl-3.0 WITH ocaml-lgpl-linking-exception", "declared_license": "LGPL-3.0-only with OCaml-LGPL-linking-exception", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -88,9 +88,10 @@ "resolved_package": {} } ], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "opam_file", + "purl": null } ] \ No newline at end of file diff --git a/tests/packagedcode/data/opam/sample8/output.opam.expected b/tests/packagedcode/data/opam/sample8/output.opam.expected index 59ad749fa98..932506b68f7 100644 --- a/tests/packagedcode/data/opam/sample8/output.opam.expected +++ b/tests/packagedcode/data/opam/sample8/output.opam.expected @@ -47,8 +47,8 @@ "license_expression": "lgpl-3.0 WITH ocaml-lgpl-linking-exception", "declared_license": "LGPL-3.0-only with OCaml-LGPL-linking-exception", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -88,9 +88,10 @@ "resolved_package": {} } ], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "opam_file", + "purl": null } ] \ No newline at end of file diff --git a/tests/packagedcode/data/phpcomposer/a-timer/composer.json.expected b/tests/packagedcode/data/phpcomposer/a-timer/composer.json.expected index e468be90eb3..6f8b73b369b 100644 --- a/tests/packagedcode/data/phpcomposer/a-timer/composer.json.expected +++ b/tests/packagedcode/data/phpcomposer/a-timer/composer.json.expected @@ -40,8 +40,8 @@ "license_expression": "mit", "declared_license": "MIT", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -72,9 +72,10 @@ "resolved_package": {} } ], - "purl": "pkg:composer/jandreasn/a-timer", "repository_homepage_url": "https://packagist.org/packages/jandreasn/a-timer", "repository_download_url": null, - "api_data_url": "https://packagist.org/p/packages/jandreasn/a-timer.json" + "api_data_url": "https://packagist.org/p/packages/jandreasn/a-timer.json", + "datasource_id": "php_composer_json", + "purl": "pkg:composer/jandreasn/a-timer" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/phpcomposer/composer.lock-expected.json b/tests/packagedcode/data/phpcomposer/composer.lock-expected.json index 31ef36cf4a8..1c66c791f9b 100644 --- a/tests/packagedcode/data/phpcomposer/composer.lock-expected.json +++ b/tests/packagedcode/data/phpcomposer/composer.lock-expected.json @@ -25,8 +25,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -300,10 +300,11 @@ "resolved_package": {} } ], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "php_composer_lock", + "purl": null }, { "type": "composer", @@ -376,8 +377,8 @@ "MIT" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -426,10 +427,11 @@ "resolved_package": {} } ], - "purl": "pkg:composer/doctrine/cache@v1.6.2", "repository_homepage_url": "https://packagist.org/packages/doctrine/cache", "repository_download_url": null, - "api_data_url": "https://packagist.org/p/packages/doctrine/cache.json" + "api_data_url": "https://packagist.org/p/packages/doctrine/cache.json", + "datasource_id": "php_composer_json", + "purl": "pkg:composer/doctrine/cache@v1.6.2" }, { "type": "composer", @@ -474,8 +476,8 @@ "MIT" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -515,10 +517,11 @@ "resolved_package": {} } ], - "purl": "pkg:composer/guzzlehttp/cache-subscriber@0.2.0", "repository_homepage_url": "https://packagist.org/packages/guzzlehttp/cache-subscriber", "repository_download_url": null, - "api_data_url": "https://packagist.org/p/packages/guzzlehttp/cache-subscriber.json" + "api_data_url": "https://packagist.org/p/packages/guzzlehttp/cache-subscriber.json", + "datasource_id": "php_composer_json", + "purl": "pkg:composer/guzzlehttp/cache-subscriber@0.2.0" }, { "type": "composer", @@ -563,8 +566,8 @@ "MIT" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -613,10 +616,11 @@ "resolved_package": {} } ], - "purl": "pkg:composer/guzzlehttp/guzzle@5.3.3", "repository_homepage_url": "https://packagist.org/packages/guzzlehttp/guzzle", "repository_download_url": null, - "api_data_url": "https://packagist.org/p/packages/guzzlehttp/guzzle.json" + "api_data_url": "https://packagist.org/p/packages/guzzlehttp/guzzle.json", + "datasource_id": "php_composer_json", + "purl": "pkg:composer/guzzlehttp/guzzle@5.3.3" }, { "type": "composer", @@ -661,8 +665,8 @@ "MIT" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -720,10 +724,11 @@ "resolved_package": {} } ], - "purl": "pkg:composer/guzzlehttp/ringphp@1.1.1", "repository_homepage_url": "https://packagist.org/packages/guzzlehttp/ringphp", "repository_download_url": null, - "api_data_url": "https://packagist.org/p/packages/guzzlehttp/ringphp.json" + "api_data_url": "https://packagist.org/p/packages/guzzlehttp/ringphp.json", + "datasource_id": "php_composer_json", + "purl": "pkg:composer/guzzlehttp/ringphp@1.1.1" }, { "type": "composer", @@ -768,8 +773,8 @@ "MIT" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -791,10 +796,11 @@ "resolved_package": {} } ], - "purl": "pkg:composer/guzzlehttp/streams@3.0.0", "repository_homepage_url": "https://packagist.org/packages/guzzlehttp/streams", "repository_download_url": null, - "api_data_url": "https://packagist.org/p/packages/guzzlehttp/streams.json" + "api_data_url": "https://packagist.org/p/packages/guzzlehttp/streams.json", + "datasource_id": "php_composer_json", + "purl": "pkg:composer/guzzlehttp/streams@3.0.0" }, { "type": "composer", @@ -846,8 +852,8 @@ "MIT" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -968,10 +974,11 @@ "resolved_package": {} } ], - "purl": "pkg:composer/prestashop/circuit-breaker@v3.0.0", "repository_homepage_url": "https://packagist.org/packages/prestashop/circuit-breaker", "repository_download_url": null, - "api_data_url": "https://packagist.org/p/packages/prestashop/circuit-breaker.json" + "api_data_url": "https://packagist.org/p/packages/prestashop/circuit-breaker.json", + "datasource_id": "php_composer_json", + "purl": "pkg:composer/prestashop/circuit-breaker@v3.0.0" }, { "type": "composer", @@ -1016,8 +1023,8 @@ "MIT" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -1039,10 +1046,11 @@ "resolved_package": {} } ], - "purl": "pkg:composer/react/promise@v2.7.1", "repository_homepage_url": "https://packagist.org/packages/react/promise", "repository_download_url": null, - "api_data_url": "https://packagist.org/p/packages/react/promise.json" + "api_data_url": "https://packagist.org/p/packages/react/promise.json", + "datasource_id": "php_composer_json", + "purl": "pkg:composer/react/promise@v2.7.1" }, { "type": "composer", @@ -1101,8 +1109,8 @@ "MIT" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -1115,10 +1123,11 @@ "resolved_package": {} } ], - "purl": "pkg:composer/symfony/css-selector@v3.4.31", "repository_homepage_url": "https://packagist.org/packages/symfony/css-selector", "repository_download_url": null, - "api_data_url": "https://packagist.org/p/packages/symfony/css-selector.json" + "api_data_url": "https://packagist.org/p/packages/symfony/css-selector.json", + "datasource_id": "php_composer_json", + "purl": "pkg:composer/symfony/css-selector@v3.4.31" }, { "type": "composer", @@ -1177,8 +1186,8 @@ "MIT" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -1209,10 +1218,11 @@ "resolved_package": {} } ], - "purl": "pkg:composer/composer/semver@1.5.0", "repository_homepage_url": "https://packagist.org/packages/composer/semver", "repository_download_url": null, - "api_data_url": "https://packagist.org/p/packages/composer/semver.json" + "api_data_url": "https://packagist.org/p/packages/composer/semver.json", + "datasource_id": "php_composer_json", + "purl": "pkg:composer/composer/semver@1.5.0" }, { "type": "composer", @@ -1257,8 +1267,8 @@ "MIT" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -1289,10 +1299,11 @@ "resolved_package": {} } ], - "purl": "pkg:composer/composer/xdebug-handler@1.3.3", "repository_homepage_url": "https://packagist.org/packages/composer/xdebug-handler", "repository_download_url": null, - "api_data_url": "https://packagist.org/p/packages/composer/xdebug-handler.json" + "api_data_url": "https://packagist.org/p/packages/composer/xdebug-handler.json", + "datasource_id": "php_composer_json", + "purl": "pkg:composer/composer/xdebug-handler@1.3.3" }, { "type": "composer", @@ -1365,8 +1376,8 @@ "MIT" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -1406,10 +1417,11 @@ "resolved_package": {} } ], - "purl": "pkg:composer/doctrine/annotations@v1.4.0", "repository_homepage_url": "https://packagist.org/packages/doctrine/annotations", "repository_download_url": null, - "api_data_url": "https://packagist.org/p/packages/doctrine/annotations.json" + "api_data_url": "https://packagist.org/p/packages/doctrine/annotations.json", + "datasource_id": "php_composer_json", + "purl": "pkg:composer/doctrine/annotations@v1.4.0" }, { "type": "composer", @@ -1468,8 +1480,8 @@ "MIT" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -1491,10 +1503,11 @@ "resolved_package": {} } ], - "purl": "pkg:composer/doctrine/lexer@1.0.2", "repository_homepage_url": "https://packagist.org/packages/doctrine/lexer", "repository_download_url": null, - "api_data_url": "https://packagist.org/p/packages/doctrine/lexer.json" + "api_data_url": "https://packagist.org/p/packages/doctrine/lexer.json", + "datasource_id": "php_composer_json", + "purl": "pkg:composer/doctrine/lexer@1.0.2" }, { "type": "composer", @@ -1546,8 +1559,8 @@ "MIT" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -1839,10 +1852,11 @@ "resolved_package": {} } ], - "purl": "pkg:composer/friendsofphp/php-cs-fixer@v2.15.3", "repository_homepage_url": "https://packagist.org/packages/friendsofphp/php-cs-fixer", "repository_download_url": null, - "api_data_url": "https://packagist.org/p/packages/friendsofphp/php-cs-fixer.json" + "api_data_url": "https://packagist.org/p/packages/friendsofphp/php-cs-fixer.json", + "datasource_id": "php_composer_json", + "purl": "pkg:composer/friendsofphp/php-cs-fixer@v2.15.3" }, { "type": "composer", @@ -1887,8 +1901,8 @@ "MIT" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -1919,10 +1933,11 @@ "resolved_package": {} } ], - "purl": "pkg:composer/paragonie/random_compat@v2.0.18", "repository_homepage_url": "https://packagist.org/packages/paragonie/random_compat", "repository_download_url": null, - "api_data_url": "https://packagist.org/p/packages/paragonie/random_compat.json" + "api_data_url": "https://packagist.org/p/packages/paragonie/random_compat.json", + "datasource_id": "php_composer_json", + "purl": "pkg:composer/paragonie/random_compat@v2.0.18" }, { "type": "composer", @@ -1981,8 +1996,8 @@ "BSD-3-Clause" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -2013,10 +2028,11 @@ "resolved_package": {} } ], - "purl": "pkg:composer/php-cs-fixer/diff@v1.3.0", "repository_homepage_url": "https://packagist.org/packages/php-cs-fixer/diff", "repository_download_url": null, - "api_data_url": "https://packagist.org/p/packages/php-cs-fixer/diff.json" + "api_data_url": "https://packagist.org/p/packages/php-cs-fixer/diff.json", + "datasource_id": "php_composer_json", + "purl": "pkg:composer/php-cs-fixer/diff@v1.3.0" }, { "type": "composer", @@ -2054,8 +2070,8 @@ "MIT" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -2104,10 +2120,11 @@ "resolved_package": {} } ], - "purl": "pkg:composer/prestashop/php-coding-standards@dev-master", "repository_homepage_url": "https://packagist.org/packages/prestashop/php-coding-standards", "repository_download_url": null, - "api_data_url": "https://packagist.org/p/packages/prestashop/php-coding-standards.json" + "api_data_url": "https://packagist.org/p/packages/prestashop/php-coding-standards.json", + "datasource_id": "php_composer_json", + "purl": "pkg:composer/prestashop/php-coding-standards@dev-master" }, { "type": "composer", @@ -2152,8 +2169,8 @@ "MIT" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -2166,10 +2183,11 @@ "resolved_package": {} } ], - "purl": "pkg:composer/psr/log@1.1.0", "repository_homepage_url": "https://packagist.org/packages/psr/log", "repository_download_url": null, - "api_data_url": "https://packagist.org/p/packages/psr/log.json" + "api_data_url": "https://packagist.org/p/packages/psr/log.json", + "datasource_id": "php_composer_json", + "purl": "pkg:composer/psr/log@1.1.0" }, { "type": "composer", @@ -2214,8 +2232,8 @@ "BSD-3-Clause" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -2264,10 +2282,11 @@ "resolved_package": {} } ], - "purl": "pkg:composer/squizlabs/php_codesniffer@3.4.2", "repository_homepage_url": "https://packagist.org/packages/squizlabs/php_codesniffer", "repository_download_url": null, - "api_data_url": "https://packagist.org/p/packages/squizlabs/php_codesniffer.json" + "api_data_url": "https://packagist.org/p/packages/squizlabs/php_codesniffer.json", + "datasource_id": "php_composer_json", + "purl": "pkg:composer/squizlabs/php_codesniffer@3.4.2" }, { "type": "composer", @@ -2319,8 +2338,8 @@ "MIT" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -2468,10 +2487,11 @@ "resolved_package": {} } ], - "purl": "pkg:composer/symfony/console@v3.4.31", "repository_homepage_url": "https://packagist.org/packages/symfony/console", "repository_download_url": null, - "api_data_url": "https://packagist.org/p/packages/symfony/console.json" + "api_data_url": "https://packagist.org/p/packages/symfony/console.json", + "datasource_id": "php_composer_json", + "purl": "pkg:composer/symfony/console@v3.4.31" }, { "type": "composer", @@ -2523,8 +2543,8 @@ "MIT" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -2564,10 +2584,11 @@ "resolved_package": {} } ], - "purl": "pkg:composer/symfony/debug@v3.4.31", "repository_homepage_url": "https://packagist.org/packages/symfony/debug", "repository_download_url": null, - "api_data_url": "https://packagist.org/p/packages/symfony/debug.json" + "api_data_url": "https://packagist.org/p/packages/symfony/debug.json", + "datasource_id": "php_composer_json", + "purl": "pkg:composer/symfony/debug@v3.4.31" }, { "type": "composer", @@ -2619,8 +2640,8 @@ "MIT" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -2705,10 +2726,11 @@ "resolved_package": {} } ], - "purl": "pkg:composer/symfony/event-dispatcher@v3.4.31", "repository_homepage_url": "https://packagist.org/packages/symfony/event-dispatcher", "repository_download_url": null, - "api_data_url": "https://packagist.org/p/packages/symfony/event-dispatcher.json" + "api_data_url": "https://packagist.org/p/packages/symfony/event-dispatcher.json", + "datasource_id": "php_composer_json", + "purl": "pkg:composer/symfony/event-dispatcher@v3.4.31" }, { "type": "composer", @@ -2760,8 +2782,8 @@ "MIT" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -2783,10 +2805,11 @@ "resolved_package": {} } ], - "purl": "pkg:composer/symfony/filesystem@v3.4.31", "repository_homepage_url": "https://packagist.org/packages/symfony/filesystem", "repository_download_url": null, - "api_data_url": "https://packagist.org/p/packages/symfony/filesystem.json" + "api_data_url": "https://packagist.org/p/packages/symfony/filesystem.json", + "datasource_id": "php_composer_json", + "purl": "pkg:composer/symfony/filesystem@v3.4.31" }, { "type": "composer", @@ -2838,8 +2861,8 @@ "MIT" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -2852,10 +2875,11 @@ "resolved_package": {} } ], - "purl": "pkg:composer/symfony/finder@v3.4.31", "repository_homepage_url": "https://packagist.org/packages/symfony/finder", "repository_download_url": null, - "api_data_url": "https://packagist.org/p/packages/symfony/finder.json" + "api_data_url": "https://packagist.org/p/packages/symfony/finder.json", + "datasource_id": "php_composer_json", + "purl": "pkg:composer/symfony/finder@v3.4.31" }, { "type": "composer", @@ -2907,8 +2931,8 @@ "MIT" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -2921,10 +2945,11 @@ "resolved_package": {} } ], - "purl": "pkg:composer/symfony/options-resolver@v3.4.31", "repository_homepage_url": "https://packagist.org/packages/symfony/options-resolver", "repository_download_url": null, - "api_data_url": "https://packagist.org/p/packages/symfony/options-resolver.json" + "api_data_url": "https://packagist.org/p/packages/symfony/options-resolver.json", + "datasource_id": "php_composer_json", + "purl": "pkg:composer/symfony/options-resolver@v3.4.31" }, { "type": "composer", @@ -2976,8 +3001,8 @@ "MIT" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -2999,10 +3024,11 @@ "resolved_package": {} } ], - "purl": "pkg:composer/symfony/polyfill-ctype@v1.12.0", "repository_homepage_url": "https://packagist.org/packages/symfony/polyfill-ctype", "repository_download_url": null, - "api_data_url": "https://packagist.org/p/packages/symfony/polyfill-ctype.json" + "api_data_url": "https://packagist.org/p/packages/symfony/polyfill-ctype.json", + "datasource_id": "php_composer_json", + "purl": "pkg:composer/symfony/polyfill-ctype@v1.12.0" }, { "type": "composer", @@ -3054,8 +3080,8 @@ "MIT" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -3077,10 +3103,11 @@ "resolved_package": {} } ], - "purl": "pkg:composer/symfony/polyfill-mbstring@v1.12.0", "repository_homepage_url": "https://packagist.org/packages/symfony/polyfill-mbstring", "repository_download_url": null, - "api_data_url": "https://packagist.org/p/packages/symfony/polyfill-mbstring.json" + "api_data_url": "https://packagist.org/p/packages/symfony/polyfill-mbstring.json", + "datasource_id": "php_composer_json", + "purl": "pkg:composer/symfony/polyfill-mbstring@v1.12.0" }, { "type": "composer", @@ -3132,8 +3159,8 @@ "MIT" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -3155,10 +3182,11 @@ "resolved_package": {} } ], - "purl": "pkg:composer/symfony/polyfill-php70@v1.12.0", "repository_homepage_url": "https://packagist.org/packages/symfony/polyfill-php70", "repository_download_url": null, - "api_data_url": "https://packagist.org/p/packages/symfony/polyfill-php70.json" + "api_data_url": "https://packagist.org/p/packages/symfony/polyfill-php70.json", + "datasource_id": "php_composer_json", + "purl": "pkg:composer/symfony/polyfill-php70@v1.12.0" }, { "type": "composer", @@ -3210,8 +3238,8 @@ "MIT" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -3224,10 +3252,11 @@ "resolved_package": {} } ], - "purl": "pkg:composer/symfony/polyfill-php72@v1.12.0", "repository_homepage_url": "https://packagist.org/packages/symfony/polyfill-php72", "repository_download_url": null, - "api_data_url": "https://packagist.org/p/packages/symfony/polyfill-php72.json" + "api_data_url": "https://packagist.org/p/packages/symfony/polyfill-php72.json", + "datasource_id": "php_composer_json", + "purl": "pkg:composer/symfony/polyfill-php72@v1.12.0" }, { "type": "composer", @@ -3279,8 +3308,8 @@ "MIT" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -3293,10 +3322,11 @@ "resolved_package": {} } ], - "purl": "pkg:composer/symfony/process@v3.4.31", "repository_homepage_url": "https://packagist.org/packages/symfony/process", "repository_download_url": null, - "api_data_url": "https://packagist.org/p/packages/symfony/process.json" + "api_data_url": "https://packagist.org/p/packages/symfony/process.json", + "datasource_id": "php_composer_json", + "purl": "pkg:composer/symfony/process@v3.4.31" }, { "type": "composer", @@ -3348,8 +3378,8 @@ "MIT" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -3362,9 +3392,10 @@ "resolved_package": {} } ], - "purl": "pkg:composer/symfony/stopwatch@v3.4.31", "repository_homepage_url": "https://packagist.org/packages/symfony/stopwatch", "repository_download_url": null, - "api_data_url": "https://packagist.org/p/packages/symfony/stopwatch.json" + "api_data_url": "https://packagist.org/p/packages/symfony/stopwatch.json", + "datasource_id": "php_composer_json", + "purl": "pkg:composer/symfony/stopwatch@v3.4.31" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/phpcomposer/fake/composer.json.expected b/tests/packagedcode/data/phpcomposer/fake/composer.json.expected index e0c682e41c5..ce40e128285 100644 --- a/tests/packagedcode/data/phpcomposer/fake/composer.json.expected +++ b/tests/packagedcode/data/phpcomposer/fake/composer.json.expected @@ -40,8 +40,8 @@ "license_expression": "lgpl-2.1 OR gpl-3.0-plus", "declared_license": "(LGPL-2.1-only or GPL-3.0-or-later)", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -72,9 +72,10 @@ "resolved_package": {} } ], - "purl": "pkg:composer/fake/fake", "repository_homepage_url": "https://packagist.org/packages/fake/fake", "repository_download_url": null, - "api_data_url": "https://packagist.org/p/packages/fake/fake.json" + "api_data_url": "https://packagist.org/p/packages/fake/fake.json", + "datasource_id": "php_composer_json", + "purl": "pkg:composer/fake/fake" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/phpcomposer/fake2/composer.json.expected b/tests/packagedcode/data/phpcomposer/fake2/composer.json.expected index 3bce37bb569..616e2eaf9ab 100644 --- a/tests/packagedcode/data/phpcomposer/fake2/composer.json.expected +++ b/tests/packagedcode/data/phpcomposer/fake2/composer.json.expected @@ -37,14 +37,14 @@ "code_view_url": null, "vcs_url": null, "copyright": null, - "license_expression": "lgpl-2.1 OR gpl-3.0-plus", + "license_expression": "lgpl-2.1 AND gpl-3.0-plus", "declared_license": [ "LGPL-2.1-only", "GPL-3.0-or-later" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -75,9 +75,10 @@ "resolved_package": {} } ], - "purl": "pkg:composer/fake/fake", "repository_homepage_url": "https://packagist.org/packages/fake/fake", "repository_download_url": null, - "api_data_url": "https://packagist.org/p/packages/fake/fake.json" + "api_data_url": "https://packagist.org/p/packages/fake/fake.json", + "datasource_id": "php_composer_json", + "purl": "pkg:composer/fake/fake" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/phpcomposer/framework/composer.json.expected b/tests/packagedcode/data/phpcomposer/framework/composer.json.expected index 6df6aacab66..2a219f34598 100644 --- a/tests/packagedcode/data/phpcomposer/framework/composer.json.expected +++ b/tests/packagedcode/data/phpcomposer/framework/composer.json.expected @@ -40,8 +40,8 @@ "license_expression": "mit", "declared_license": "MIT", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -1305,9 +1305,10 @@ "resolved_package": {} } ], - "purl": "pkg:composer/narrowspark/framework", "repository_homepage_url": "https://packagist.org/packages/narrowspark/framework", "repository_download_url": null, - "api_data_url": "https://packagist.org/p/packages/narrowspark/framework.json" + "api_data_url": "https://packagist.org/p/packages/narrowspark/framework.json", + "datasource_id": "php_composer_json", + "purl": "pkg:composer/narrowspark/framework" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/phpcomposer/modern/composer.json.expected b/tests/packagedcode/data/phpcomposer/modern/composer.json.expected index 338cea04b5d..beb4f9fcfd7 100644 --- a/tests/packagedcode/data/phpcomposer/modern/composer.json.expected +++ b/tests/packagedcode/data/phpcomposer/modern/composer.json.expected @@ -22,11 +22,11 @@ "code_view_url": null, "vcs_url": null, "copyright": null, - "license_expression": "proprietary", + "license_expression": "unknown", "declared_license": "proprietary", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -309,9 +309,10 @@ "resolved_package": {} } ], - "purl": "pkg:composer/integration-hub", "repository_homepage_url": "https://packagist.org/packages/integration-hub", "repository_download_url": null, - "api_data_url": "https://packagist.org/p/packages/integration-hub.json" + "api_data_url": "https://packagist.org/p/packages/integration-hub.json", + "datasource_id": "php_composer_json", + "purl": "pkg:composer/integration-hub" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/phpcomposer/slim/composer.json.expected b/tests/packagedcode/data/phpcomposer/slim/composer.json.expected index d11f1eb873b..72615557722 100644 --- a/tests/packagedcode/data/phpcomposer/slim/composer.json.expected +++ b/tests/packagedcode/data/phpcomposer/slim/composer.json.expected @@ -61,8 +61,8 @@ "license_expression": "mit", "declared_license": "MIT", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -138,9 +138,10 @@ "resolved_package": {} } ], - "purl": "pkg:composer/slim/slim", "repository_homepage_url": "https://packagist.org/packages/slim/slim", "repository_download_url": null, - "api_data_url": "https://packagist.org/p/packages/slim/slim.json" + "api_data_url": "https://packagist.org/p/packages/slim/slim.json", + "datasource_id": "php_composer_json", + "purl": "pkg:composer/slim/slim" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/plugin/about-package-expected.json b/tests/packagedcode/data/plugin/about-package-expected.json index 1bcedee5103..f3c1017969b 100644 --- a/tests/packagedcode/data/plugin/about-package-expected.json +++ b/tests/packagedcode/data/plugin/about-package-expected.json @@ -16,13 +16,131 @@ "warnings": [], "extra_data": { "spdx_license_list_version": "3.16", - "files_count": 2 + "files_count": 3 } } ], "dependencies": [], - "packages": [], + "packages": [ + { + "type": "about", + "namespace": null, + "name": "apipkg", + "version": "1.4", + "qualifiers": {}, + "subpath": null, + "primary_language": null, + "description": null, + "release_date": null, + "parties": [ + { + "type": "person", + "role": "owner", + "name": "Holger Krekel", + "email": null, + "url": null + } + ], + "keywords": [], + "homepage_url": "https://bitbucket.org/hpk42/apipkg", + "download_url": "https://pypi.python.org/packages/94/72/fd4f2e46ce7b0d388191c819ef691c8195fab09602bbf1a2f92aa5351444/apipkg-1.4-py2.py3-none-any.whl#md5=5644eb6aff3f19e13430251a820e987f", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": "Copyright (c) 2009 holger krekel", + "license_expression": "mit", + "declared_license": "mit", + "notice_text": null, + "source_packages": [], + "extra_data": {}, + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "package_uid": "pkg:about/apipkg@1.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "apipkg.ABOUT" + ], + "datasource_ids": [ + "about_file" + ], + "purl": "pkg:about/apipkg@1.4" + }, + { + "type": "about", + "namespace": null, + "name": "appdirs", + "version": "1.4.3", + "qualifiers": {}, + "subpath": null, + "primary_language": null, + "description": null, + "release_date": null, + "parties": [ + { + "type": "person", + "role": "owner", + "name": "ActiveState", + "email": null, + "url": null + } + ], + "keywords": [], + "homepage_url": "https://pypi.python.org/pypi/appdirs", + "download_url": "https://pypi.python.org/packages/56/eb/810e700ed1349edde4cbdc1b2a21e28cdf115f9faf263f6bbf8447c1abf3/appdirs-1.4.3-py2.py3-none-any.whl#md5=9ed4b51c9611775c3078b3831072e153", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": "Copyright (c) 2010 ActiveState Software Inc.", + "license_expression": "mit", + "declared_license": "mit", + "notice_text": null, + "source_packages": [], + "extra_data": { + "missing_file_references": [ + { + "path": "appdirs-1.4.3-py2.py3-none-any.whl", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + }, + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "package_uid": "pkg:about/appdirs@1.4.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "appdirs.ABOUT" + ], + "datasource_ids": [ + "about_file" + ], + "purl": "pkg:about/appdirs@1.4.3" + } + ], "files": [ + { + "path": "apipkg-1.4-py2.py3-none-any.whl", + "type": "file", + "package_data": [], + "for_packages": [ + "pkg:about/apipkg@1.4?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, { "path": "apipkg.ABOUT", "type": "file", @@ -61,19 +179,30 @@ "license_expression": "mit", "declared_license": "mit", "notice_text": null, - "contains_source_code": null, "source_packages": [], - "extra_data": { - "about_resource": "apipkg-1.4-py2.py3-none-any.whl" - }, + "file_references": [ + { + "path": "apipkg-1.4-py2.py3-none-any.whl", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ], + "extra_data": {}, "dependencies": [], - "purl": "pkg:about/apipkg@1.4", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "about_file", + "purl": "pkg:about/apipkg@1.4" } ], - "for_packages": [], + "for_packages": [ + "pkg:about/apipkg@1.4?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { @@ -114,19 +243,30 @@ "license_expression": "mit", "declared_license": "mit", "notice_text": null, - "contains_source_code": null, "source_packages": [], - "extra_data": { - "about_resource": "appdirs-1.4.3-py2.py3-none-any.whl" - }, + "file_references": [ + { + "path": "appdirs-1.4.3-py2.py3-none-any.whl", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ], + "extra_data": {}, "dependencies": [], - "purl": "pkg:about/appdirs@1.4.3", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "about_file", + "purl": "pkg:about/appdirs@1.4.3" } ], - "for_packages": [], + "for_packages": [ + "pkg:about/appdirs@1.4.3?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] } ] diff --git a/tests/packagedcode/data/plugin/bower-package-expected.json b/tests/packagedcode/data/plugin/bower-package-expected.json index bece5f96116..f6b4868cd64 100644 --- a/tests/packagedcode/data/plugin/bower-package-expected.json +++ b/tests/packagedcode/data/plugin/bower-package-expected.json @@ -29,9 +29,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:bower/get-size", - "for_package": "pkg:bower/blue-leaf", - "lockfile": "bower.json" + "dependency_uid": "pkg:bower/get-size?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:bower/blue-leaf?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "bower.json", + "datasource_id": "bower_json" }, { "purl": "pkg:bower/eventEmitter", @@ -41,9 +42,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:bower/eventEmitter", - "for_package": "pkg:bower/blue-leaf", - "lockfile": "bower.json" + "dependency_uid": "pkg:bower/eventEmitter?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:bower/blue-leaf?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "bower.json", + "datasource_id": "bower_json" }, { "purl": "pkg:bower/qunit", @@ -53,9 +55,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:bower/qunit", - "for_package": "pkg:bower/blue-leaf", - "lockfile": "bower.json" + "dependency_uid": "pkg:bower/qunit?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:bower/blue-leaf?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "bower.json", + "datasource_id": "bower_json" } ], "packages": [ @@ -99,20 +102,19 @@ "MIT" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, - "package_uuid": "pkg:bower/blue-leaf", - "package_data_files": [ + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "package_uid": "pkg:bower/blue-leaf?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "bower.json" ], - "files": [ - "bower.json" + "datasource_ids": [ + "bower_json" ], - "purl": "pkg:bower/blue-leaf", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null + "purl": "pkg:bower/blue-leaf" } ], "files": [ @@ -155,13 +157,13 @@ "code_view_url": null, "vcs_url": null, "copyright": null, - "license_expression": "mit", + "license_expression": null, "declared_license": [ "MIT" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -192,14 +194,15 @@ "resolved_package": {} } ], - "purl": "pkg:bower/blue-leaf", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "bower_json", + "purl": "pkg:bower/blue-leaf" } ], "for_packages": [ - "pkg:bower/blue-leaf" + "pkg:bower/blue-leaf?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] } diff --git a/tests/packagedcode/data/plugin/cargo-package-expected.json b/tests/packagedcode/data/plugin/cargo-package-expected.json index b85bdcc32f2..659295d726f 100644 --- a/tests/packagedcode/data/plugin/cargo-package-expected.json +++ b/tests/packagedcode/data/plugin/cargo-package-expected.json @@ -42,7 +42,7 @@ } ], "keywords": [], - "homepage_url": null, + "homepage_url": "https://clap.rs/", "download_url": null, "size": null, "sha1": null, @@ -51,25 +51,24 @@ "sha512": null, "bug_tracking_url": null, "code_view_url": null, - "vcs_url": null, + "vcs_url": "https://github.com/clap-rs/clap", "copyright": null, "license_expression": "mit", "declared_license": "MIT", "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, - "package_uuid": "pkg:cargo/clap@2.32.0", - "package_data_files": [ + "repository_homepage_url": "https://crates.io/crates/clap", + "repository_download_url": "https://crates.io/api/v1/crates/clap/2.32.0/download", + "api_data_url": "https://crates.io/api/v1/crates/clap", + "package_uid": "pkg:cargo/clap@2.32.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "Cargo.toml" ], - "files": [ - "Cargo.toml" + "datasource_ids": [ + "cargo_toml" ], - "purl": "pkg:cargo/clap@2.32.0", - "repository_homepage_url": "https://crates.io/crates/clap", - "repository_download_url": "https://crates.io/api/v1/crates/clap/2.32.0/download", - "api_data_url": "https://crates.io/api/v1/crates/clap" + "purl": "pkg:cargo/clap@2.32.0" } ], "files": [ @@ -97,7 +96,7 @@ } ], "keywords": [], - "homepage_url": null, + "homepage_url": "https://clap.rs/", "download_url": null, "size": null, "sha1": null, @@ -106,23 +105,24 @@ "sha512": null, "bug_tracking_url": null, "code_view_url": null, - "vcs_url": null, + "vcs_url": "https://github.com/clap-rs/clap", "copyright": null, - "license_expression": "mit", + "license_expression": null, "declared_license": "MIT", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:cargo/clap@2.32.0", "repository_homepage_url": "https://crates.io/crates/clap", "repository_download_url": "https://crates.io/api/v1/crates/clap/2.32.0/download", - "api_data_url": "https://crates.io/api/v1/crates/clap" + "api_data_url": "https://crates.io/api/v1/crates/clap", + "datasource_id": "cargo_toml", + "purl": "pkg:cargo/clap@2.32.0" } ], "for_packages": [ - "pkg:cargo/clap@2.32.0" + "pkg:cargo/clap@2.32.0?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] } diff --git a/tests/packagedcode/data/plugin/chef-package-expected.json b/tests/packagedcode/data/plugin/chef-package-expected.json index 47e9eb651a2..d3a6dfbc131 100644 --- a/tests/packagedcode/data/plugin/chef-package-expected.json +++ b/tests/packagedcode/data/plugin/chef-package-expected.json @@ -23,27 +23,29 @@ "dependencies": [ { "purl": "pkg:chef/nodejs", - "extracted_requirement": ">= 0.0.0", + "extracted_requirement": null, "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:chef/nodejs", - "for_package": "pkg:chef/301@0.1.0", - "lockfile": "metadata.json" + "dependency_uid": "pkg:chef/nodejs?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:chef/301@0.1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "metadata.rb", + "datasource_id": "chef_cookbook_metadata_rb" }, { "purl": "pkg:chef/nodejs", - "extracted_requirement": null, + "extracted_requirement": ">= 0.0.0", "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:chef/nodejs", - "for_package": "pkg:chef/301@0.1.0", - "lockfile": "metadata.rb" + "dependency_uid": "pkg:chef/nodejs?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:chef/301@0.1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "metadata.json", + "datasource_id": "chef_cookbook_metadata_json" } ], "packages": [ @@ -81,22 +83,19 @@ "license_expression": "mit", "declared_license": "MIT", "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, - "package_uuid": "pkg:chef/301@0.1.0", - "package_data_files": [ - "metadata.json", + "repository_homepage_url": "https://supermarket.chef.io/cookbooks/301/versions/0.1.0/", + "repository_download_url": "https://supermarket.chef.io/cookbooks/301/versions/0.1.0/download", + "api_data_url": "https://supermarket.chef.io/api/v1/cookbooks/301/versions/0.1.0", + "package_uid": "pkg:chef/301@0.1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "metadata.rb" ], - "files": [ - "metadata.json", - "metadata.rb" + "datasource_ids": [ + "chef_cookbook_metadata_rb" ], - "purl": "pkg:chef/301@0.1.0", - "repository_homepage_url": null, - "repository_download_url": "https://supermarket.chef.io/cookbooks/301/versions/0.1.0/download", - "api_data_url": "https://supermarket.chef.io/api/v1/cookbooks/301/versions/0.1.0" + "purl": "pkg:chef/301@0.1.0" } ], "files": [ @@ -138,8 +137,8 @@ "license_expression": "mit", "declared_license": "MIT", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -152,14 +151,15 @@ "resolved_package": {} } ], - "purl": "pkg:chef/301@0.1.0", - "repository_homepage_url": null, + "repository_homepage_url": "https://supermarket.chef.io/cookbooks/301/versions/0.1.0/", "repository_download_url": "https://supermarket.chef.io/cookbooks/301/versions/0.1.0/download", - "api_data_url": "https://supermarket.chef.io/api/v1/cookbooks/301/versions/0.1.0" + "api_data_url": "https://supermarket.chef.io/api/v1/cookbooks/301/versions/0.1.0", + "datasource_id": "chef_cookbook_metadata_json", + "purl": "pkg:chef/301@0.1.0" } ], "for_packages": [ - "pkg:chef/301@0.1.0" + "pkg:chef/301@0.1.0?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -201,8 +201,8 @@ "license_expression": "mit", "declared_license": "MIT", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -215,14 +215,15 @@ "resolved_package": {} } ], - "purl": "pkg:chef/301@0.1.0", - "repository_homepage_url": null, + "repository_homepage_url": "https://supermarket.chef.io/cookbooks/301/versions/0.1.0/", "repository_download_url": "https://supermarket.chef.io/cookbooks/301/versions/0.1.0/download", - "api_data_url": "https://supermarket.chef.io/api/v1/cookbooks/301/versions/0.1.0" + "api_data_url": "https://supermarket.chef.io/api/v1/cookbooks/301/versions/0.1.0", + "datasource_id": "chef_cookbook_metadata_rb", + "purl": "pkg:chef/301@0.1.0" } ], "for_packages": [ - "pkg:chef/301@0.1.0" + "pkg:chef/301@0.1.0?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] } diff --git a/tests/packagedcode/data/plugin/com-package-expected.json b/tests/packagedcode/data/plugin/com-package-expected.json index a2f51d3ffbd..692ee7b656e 100644 --- a/tests/packagedcode/data/plugin/com-package-expected.json +++ b/tests/packagedcode/data/plugin/com-package-expected.json @@ -21,61 +21,7 @@ } ], "dependencies": [], - "packages": [ - { - "type": "winexe", - "namespace": null, - "name": "Microsoft\u00ae Windows\u00ae Operating System", - "version": "10.0.17763.1", - "qualifiers": {}, - "subpath": null, - "primary_language": null, - "description": "Change CodePage Utility", - "release_date": null, - "parties": [ - { - "type": "organization", - "role": "author", - "name": "Microsoft Corporation", - "email": null, - "url": null - } - ], - "keywords": [], - "homepage_url": null, - "download_url": null, - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": "\u00a9 Microsoft Corporation. All rights reserved.", - "license_expression": "unknown", - "declared_license": { - "LegalCopyright": "\u00a9 Microsoft Corporation. All rights reserved.", - "LegalTrademarks": "", - "License": null - }, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "package_uuid": "pkg:winexe/Microsoft%C2%AE%20Windows%C2%AE%20Operating%20System@10.0.17763.1", - "package_data_files": [ - "chcp.com" - ], - "files": [ - "chcp.com" - ], - "purl": "pkg:winexe/Microsoft%C2%AE%20Windows%C2%AE%20Operating%20System@10.0.17763.1", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null - } - ], + "packages": [], "files": [ { "path": "chcp.com", @@ -112,26 +58,25 @@ "code_view_url": null, "vcs_url": null, "copyright": "\u00a9 Microsoft Corporation. All rights reserved.", - "license_expression": "unknown", + "license_expression": "unknown AND unknown", "declared_license": { "LegalCopyright": "\u00a9 Microsoft Corporation. All rights reserved.", "LegalTrademarks": "", "License": null }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:winexe/Microsoft%C2%AE%20Windows%C2%AE%20Operating%20System@10.0.17763.1", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "windows_executable", + "purl": "pkg:winexe/Microsoft%C2%AE%20Windows%C2%AE%20Operating%20System@10.0.17763.1" } ], - "for_packages": [ - "pkg:winexe/Microsoft%C2%AE%20Windows%C2%AE%20Operating%20System@10.0.17763.1" - ], + "for_packages": [], "scan_errors": [] } ] diff --git a/tests/packagedcode/data/plugin/conda-package-expected.json b/tests/packagedcode/data/plugin/conda-package-expected.json index 8f0d82ca1e6..6fcca02be98 100644 --- a/tests/packagedcode/data/plugin/conda-package-expected.json +++ b/tests/packagedcode/data/plugin/conda-package-expected.json @@ -20,28 +20,232 @@ } } ], - "dependencies": [], - "packages": [], + "dependencies": [ + { + "purl": "pkg:conda/zlib", + "extracted_requirement": "1.2.8 3", + "scope": "build", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:conda/zlib?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:conda/requests-kerberos@0.8.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "info/recipe.tar-extract/recipe/meta.yaml", + "datasource_id": "conda_meta_yaml" + }, + { + "purl": "pkg:conda/setuptools", + "extracted_requirement": "27.2.0 py35_0", + "scope": "build", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:conda/setuptools?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:conda/requests-kerberos@0.8.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "info/recipe.tar-extract/recipe/meta.yaml", + "datasource_id": "conda_meta_yaml" + }, + { + "purl": "pkg:conda/sqlite", + "extracted_requirement": "3.13.0 0", + "scope": "build", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:conda/sqlite?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:conda/requests-kerberos@0.8.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "info/recipe.tar-extract/recipe/meta.yaml", + "datasource_id": "conda_meta_yaml" + }, + { + "purl": "pkg:conda/openssl", + "extracted_requirement": "1.0.2k 1", + "scope": "build", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:conda/openssl?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:conda/requests-kerberos@0.8.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "info/recipe.tar-extract/recipe/meta.yaml", + "datasource_id": "conda_meta_yaml" + }, + { + "purl": "pkg:conda/xz", + "extracted_requirement": "5.2.2 1", + "scope": "build", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:conda/xz?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:conda/requests-kerberos@0.8.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "info/recipe.tar-extract/recipe/meta.yaml", + "datasource_id": "conda_meta_yaml" + }, + { + "purl": "pkg:conda/krb5", + "extracted_requirement": "1.13.2 0", + "scope": "build", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:conda/krb5?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:conda/requests-kerberos@0.8.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "info/recipe.tar-extract/recipe/meta.yaml", + "datasource_id": "conda_meta_yaml" + }, + { + "purl": "pkg:conda/pykerberos", + "extracted_requirement": "1.1.10 py35_0", + "scope": "build", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:conda/pykerberos?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:conda/requests-kerberos@0.8.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "info/recipe.tar-extract/recipe/meta.yaml", + "datasource_id": "conda_meta_yaml" + }, + { + "purl": "pkg:conda/python", + "extracted_requirement": "3.5.3 1", + "scope": "build", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:conda/python?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:conda/requests-kerberos@0.8.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "info/recipe.tar-extract/recipe/meta.yaml", + "datasource_id": "conda_meta_yaml" + }, + { + "purl": "pkg:conda/requests", + "extracted_requirement": "2.13.0 py35_0", + "scope": "build", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:conda/requests?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:conda/requests-kerberos@0.8.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "info/recipe.tar-extract/recipe/meta.yaml", + "datasource_id": "conda_meta_yaml" + }, + { + "purl": "pkg:conda/python", + "extracted_requirement": "", + "scope": "run", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:conda/python?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:conda/requests-kerberos@0.8.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "info/recipe.tar-extract/recipe/meta.yaml", + "datasource_id": "conda_meta_yaml" + }, + { + "purl": "pkg:conda/requests", + "extracted_requirement": ">=1.1.0", + "scope": "run", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:conda/requests?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:conda/requests-kerberos@0.8.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "info/recipe.tar-extract/recipe/meta.yaml", + "datasource_id": "conda_meta_yaml" + }, + { + "purl": "pkg:conda/pykerberos", + "extracted_requirement": ">=1.1.8,<2.0.0", + "scope": "run", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:conda/pykerberos?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:conda/requests-kerberos@0.8.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "info/recipe.tar-extract/recipe/meta.yaml", + "datasource_id": "conda_meta_yaml" + } + ], + "packages": [ + { + "type": "conda", + "namespace": null, + "name": "requests-kerberos", + "version": "0.8.0", + "qualifiers": {}, + "subpath": null, + "primary_language": null, + "description": "Kerberos authentication handler for python-requests", + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": "https://github.com/requests/requests-kerberos", + "download_url": "https://pypi.python.org/packages/source/r/requests-kerberos/requests-kerberos-0.8.0.tar.gz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": "unknown", + "declared_license": "Other", + "notice_text": null, + "source_packages": [], + "extra_data": {}, + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "package_uid": "pkg:conda/requests-kerberos@0.8.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "info/recipe.tar-extract/recipe/meta.yaml" + ], + "datasource_ids": [ + "conda_meta_yaml" + ], + "purl": "pkg:conda/requests-kerberos@0.8.0" + } + ], "files": [ { "path": "info", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:conda/requests-kerberos@0.8.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { "path": "info/recipe.tar-extract", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:conda/requests-kerberos@0.8.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { "path": "info/recipe.tar-extract/recipe", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:conda/requests-kerberos@0.8.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { @@ -74,14 +278,95 @@ "license_expression": "unknown", "declared_license": "Other", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ + { + "purl": "pkg:conda/zlib", + "extracted_requirement": "1.2.8 3", + "scope": "build", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:conda/setuptools", + "extracted_requirement": "27.2.0 py35_0", + "scope": "build", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:conda/sqlite", + "extracted_requirement": "3.13.0 0", + "scope": "build", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:conda/openssl", + "extracted_requirement": "1.0.2k 1", + "scope": "build", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:conda/xz", + "extracted_requirement": "5.2.2 1", + "scope": "build", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:conda/krb5", + "extracted_requirement": "1.13.2 0", + "scope": "build", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:conda/pykerberos", + "extracted_requirement": "1.1.10 py35_0", + "scope": "build", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:conda/python", + "extracted_requirement": "3.5.3 1", + "scope": "build", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:conda/requests", + "extracted_requirement": "2.13.0 py35_0", + "scope": "build", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, { "purl": "pkg:conda/python", - "extracted_requirement": null, - "scope": "dependencies", + "extracted_requirement": "", + "scope": "run", "is_runtime": true, "is_optional": false, "is_resolved": false, @@ -90,7 +375,7 @@ { "purl": "pkg:conda/requests", "extracted_requirement": ">=1.1.0", - "scope": "dependencies", + "scope": "run", "is_runtime": true, "is_optional": false, "is_resolved": false, @@ -99,20 +384,23 @@ { "purl": "pkg:conda/pykerberos", "extracted_requirement": ">=1.1.8,<2.0.0", - "scope": "dependencies", + "scope": "run", "is_runtime": true, "is_optional": false, "is_resolved": false, "resolved_package": {} } ], - "purl": "pkg:conda/requests-kerberos@0.8.0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "conda_meta_yaml", + "purl": "pkg:conda/requests-kerberos@0.8.0" } ], - "for_packages": [], + "for_packages": [ + "pkg:conda/requests-kerberos@0.8.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] } ] diff --git a/tests/packagedcode/data/plugin/cran-package-expected.json b/tests/packagedcode/data/plugin/cran-package-expected.json index 32b2e118d32..7aa8dced302 100644 --- a/tests/packagedcode/data/plugin/cran-package-expected.json +++ b/tests/packagedcode/data/plugin/cran-package-expected.json @@ -29,9 +29,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:cran/R", - "for_package": "pkg:cran/codetools@0.2-16", - "lockfile": "DESCRIPTION" + "dependency_uid": "pkg:cran/R?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cran/codetools@0.2-16?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "DESCRIPTION", + "datasource_id": "cran_description" } ], "packages": [ @@ -76,20 +77,19 @@ "license_expression": "gpl-1.0-plus", "declared_license": "GPL", "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, - "package_uuid": "pkg:cran/codetools@0.2-16", - "package_data_files": [ + "repository_homepage_url": "https://cran.r-project.org/package=codetools", + "repository_download_url": null, + "api_data_url": null, + "package_uid": "pkg:cran/codetools@0.2-16?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "DESCRIPTION" ], - "files": [ - "DESCRIPTION" + "datasource_ids": [ + "cran_description" ], - "purl": "pkg:cran/codetools@0.2-16", - "repository_homepage_url": "https://cran.r-project.org/package=codetools", - "repository_download_url": null, - "api_data_url": null + "purl": "pkg:cran/codetools@0.2-16" } ], "files": [ @@ -138,8 +138,8 @@ "license_expression": "gpl-1.0-plus", "declared_license": "GPL", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -152,14 +152,15 @@ "resolved_package": {} } ], - "purl": "pkg:cran/codetools@0.2-16", "repository_homepage_url": "https://cran.r-project.org/package=codetools", "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "cran_description", + "purl": "pkg:cran/codetools@0.2-16" } ], "for_packages": [ - "pkg:cran/codetools@0.2-16" + "pkg:cran/codetools@0.2-16?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] } diff --git a/tests/packagedcode/data/plugin/freebsd-package-expected.json b/tests/packagedcode/data/plugin/freebsd-package-expected.json index 08281f1df70..2a4bc1e2f8a 100644 --- a/tests/packagedcode/data/plugin/freebsd-package-expected.json +++ b/tests/packagedcode/data/plugin/freebsd-package-expected.json @@ -66,20 +66,19 @@ "licenselogic": "single" }, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, - "package_uuid": "pkg:freebsd/dmidecode@2.12?arch=freebsd:10:x86:64&origin=sysutils/dmidecode", - "package_data_files": [ + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "package_uid": "pkg:freebsd/dmidecode@2.12?arch=freebsd:10:x86:64&origin=sysutils/dmidecode&uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "+COMPACT_MANIFEST" ], - "files": [ - "+COMPACT_MANIFEST" + "datasource_ids": [ + "freebsd_compact_manifest" ], - "purl": "pkg:freebsd/dmidecode@2.12?arch=freebsd:10:x86:64&origin=sysutils/dmidecode", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null + "purl": "pkg:freebsd/dmidecode@2.12?arch=freebsd:10:x86:64&origin=sysutils/dmidecode" } ], "files": [ @@ -131,18 +130,19 @@ "licenselogic": "single" }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:freebsd/dmidecode@2.12?arch=freebsd:10:x86:64&origin=sysutils/dmidecode", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "freebsd_compact_manifest", + "purl": "pkg:freebsd/dmidecode@2.12?arch=freebsd:10:x86:64&origin=sysutils/dmidecode" } ], "for_packages": [ - "pkg:freebsd/dmidecode@2.12?arch=freebsd:10:x86:64&origin=sysutils/dmidecode" + "pkg:freebsd/dmidecode@2.12?arch=freebsd:10:x86:64&origin=sysutils/dmidecode&uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] } diff --git a/tests/packagedcode/data/plugin/haxe-package-expected.json b/tests/packagedcode/data/plugin/haxe-package-expected.json index 6500729d5ef..8b6daa136c3 100644 --- a/tests/packagedcode/data/plugin/haxe-package-expected.json +++ b/tests/packagedcode/data/plugin/haxe-package-expected.json @@ -61,20 +61,19 @@ "license_expression": "mit", "declared_license": "MIT", "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, - "package_uuid": "pkg:haxe/hxsocketio@0.1.0", - "package_data_files": [ + "repository_homepage_url": "https://lib.haxe.org/p/hxsocketio", + "repository_download_url": "https://lib.haxe.org/p/hxsocketio/0.1.0/download/", + "api_data_url": null, + "package_uid": "pkg:haxe/hxsocketio@0.1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "haxelib.json" ], - "files": [ - "haxelib.json" + "datasource_ids": [ + "haxelib_json" ], - "purl": "pkg:haxe/hxsocketio@0.1.0", - "repository_homepage_url": "https://lib.haxe.org/p/hxsocketio", - "repository_download_url": "https://lib.haxe.org/p/hxsocketio/0.1.0/download/", - "api_data_url": null + "purl": "pkg:haxe/hxsocketio@0.1.0" } ], "files": [ @@ -121,18 +120,19 @@ "license_expression": "mit", "declared_license": "MIT", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:haxe/hxsocketio@0.1.0", "repository_homepage_url": "https://lib.haxe.org/p/hxsocketio", "repository_download_url": "https://lib.haxe.org/p/hxsocketio/0.1.0/download/", - "api_data_url": null + "api_data_url": null, + "datasource_id": "haxelib_json", + "purl": "pkg:haxe/hxsocketio@0.1.0" } ], "for_packages": [ - "pkg:haxe/hxsocketio@0.1.0" + "pkg:haxe/hxsocketio@0.1.0?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] } diff --git a/tests/packagedcode/data/plugin/help.txt b/tests/packagedcode/data/plugin/help.txt index ddeca209099..a604e7c30f4 100644 --- a/tests/packagedcode/data/plugin/help.txt +++ b/tests/packagedcode/data/plugin/help.txt @@ -1,411 +1,819 @@ -------------------------------------------- -Package: METADATA.bzl - class: packagedcode.build:MetadataBzl - file_patterns: METADATA.bzl - --------------------------------------------- -Package: about - class: packagedcode.about:Aboutfile - file_patterns: *.ABOUT - extensions: .ABOUT - --------------------------------------------- -Package: android - class: packagedcode.models:AndroidApp - extensions: .apk - filetypes: zip archive - --------------------------------------------- -Package: android-lib - class: packagedcode.models:AndroidLibrary - extensions: .aar - filetypes: zip archive - --------------------------------------------- -Package: autotools - class: packagedcode.build:AutotoolsPackage - file_patterns: configure, configure.ac - --------------------------------------------- -Package: axis2 - class: packagedcode.models:Axis2Mar - file_patterns: META-INF/module.xml - extensions: .mar - filetypes: java archive , zip archive - --------------------------------------------- -Package: bazel - class: packagedcode.build:BazelPackage - file_patterns: BUILD - --------------------------------------------- -Package: bower - class: packagedcode.bower:BowerJson - file_patterns: bower.json, .bower.json - extensions: .json - --------------------------------------------- -Package: buck - class: packagedcode.build:BuckPackage - file_patterns: BUCK - --------------------------------------------- -Package: build.gradle - class: packagedcode.build_gradle:BuildGradle - file_patterns: build.gradle - extensions: .gradle - --------------------------------------------- -Package: cab - class: packagedcode.models:CabPackage - extensions: .cab - filetypes: microsoft cabinet - --------------------------------------------- -Package: cargo - class: packagedcode.cargo:CargoToml - file_patterns: Cargo.toml - extensions: .toml - --------------------------------------------- -Package: cargo - class: packagedcode.cargo:CargoLock - file_patterns: Cargo.lock - extensions: .lock - --------------------------------------------- -Package: chef - class: packagedcode.chef:MetadataJson - file_patterns: metadata.json - extensions: .json - filetypes: .tgz - --------------------------------------------- -Package: chef - class: packagedcode.chef:Metadatarb - file_patterns: metadata.rb - extensions: .rb - filetypes: .tgz - --------------------------------------------- -Package: chrome - class: packagedcode.models:ChromeExtension - extensions: .crx - filetypes: data - --------------------------------------------- -Package: composer - class: packagedcode.phpcomposer:ComposerJson - file_patterns: composer.json - extensions: .json - --------------------------------------------- -Package: composer - class: packagedcode.phpcomposer:ComposerLock - file_patterns: composer.lock - extensions: .lock - --------------------------------------------- -Package: conda - class: packagedcode.conda:Condayml - file_patterns: meta.yaml, META.yml - extensions: .yml, .yaml - --------------------------------------------- -Package: cpan - class: packagedcode.models:CpanModule - file_patterns: *.pod, *.pm, MANIFEST, Makefile.PL, META.yml, META.json, *.meta, dist.ini - extensions: .tar.gz - --------------------------------------------- -Package: cran - class: packagedcode.cran:DescriptionFile - file_patterns: DESCRIPTION - --------------------------------------------- -Package: deb - class: packagedcode.debian:DebianPackage - file_patterns: *.control - extensions: .deb - filetypes: debian binary package - --------------------------------------------- -Package: dmg - class: packagedcode.models:AppleDmgPackage - extensions: .dmg, .sparseimage - filetypes: zlib compressed - --------------------------------------------- -Package: ear - class: packagedcode.models:JavaEar - file_patterns: META-INF/application.xml, META-INF/ejb-jar.xml - extensions: .ear - filetypes: java archive , zip archive - --------------------------------------------- -Package: freebsd - class: packagedcode.freebsd:CompactManifest - file_patterns: +COMPACT_MANIFEST - --------------------------------------------- -Package: gem - class: packagedcode.rubygems:GemArchive - file_patterns: *.gem - extensions: .gem - filetypes: .tar, tar archive - --------------------------------------------- -Package: gem - class: packagedcode.rubygems:GemArchiveExtracted - file_patterns: metadata.gz-extract - extensions: .gz-extract - filetypes: .tar, tar archive - --------------------------------------------- -Package: gem - class: packagedcode.rubygems:GemSpec - file_patterns: *.gemspec - extensions: .gemspec - filetypes: .tar, tar archive - --------------------------------------------- -Package: gem - class: packagedcode.rubygems:GemfileLock - file_patterns: Gemfile.lock - extensions: .lock - filetypes: .tar, tar archive - --------------------------------------------- -Package: golang - class: packagedcode.golang:GoMod - file_patterns: go.mod - extensions: .mod - --------------------------------------------- -Package: golang - class: packagedcode.golang:GoSum - file_patterns: go.sum - extensions: .sum - --------------------------------------------- -Package: haxe - class: packagedcode.haxe:HaxelibJson - file_patterns: haxelib.json - extensions: .json - --------------------------------------------- -Package: installshield - class: packagedcode.models:InstallShieldPackage - extensions: .exe - filetypes: installshield - --------------------------------------------- -Package: ios - class: packagedcode.models:IOSApp - extensions: .ipa - filetypes: zip archive - --------------------------------------------- -Package: iso - class: packagedcode.models:IsoImagePackage - extensions: .iso, .udf, .img - filetypes: iso 9660 cd-rom, high sierra cd-rom - --------------------------------------------- -Package: ivy - class: packagedcode.jar_manifest:IvyJar - file_patterns: ivy.xml - filetypes: java archive , zip archive - --------------------------------------------- -Package: jar - class: packagedcode.models:JavaJar - file_patterns: META-INF/MANIFEST.MF - extensions: .jar - filetypes: java archive , zip archive - --------------------------------------------- -Package: jar - class: packagedcode.jar_manifest:JavaManifest - file_patterns: META-INF/MANIFEST.MF - extensions: .jar, .war, .ear - filetypes: java archive , zip archive - --------------------------------------------- -Package: jboss - class: packagedcode.models:JBossSar - file_patterns: META-INF/jboss-service.xml - extensions: .sar - filetypes: java archive , zip archive - --------------------------------------------- -Package: maven - class: packagedcode.maven:PomXml - file_patterns: *.pom, pom.xml - extensions: .pom - --------------------------------------------- -Package: meteor - class: packagedcode.models:MeteorPackage - file_patterns: package.js - --------------------------------------------- -Package: mozilla - class: packagedcode.models:MozillaExtension - extensions: .xpi - filetypes: zip archive - --------------------------------------------- -Package: msi - class: packagedcode.msi:MsiInstallerPackage - extensions: .msi - filetypes: msi installer - --------------------------------------------- -Package: npm - class: packagedcode.npm:PackageJson - file_patterns: package.json - extensions: .tgz - --------------------------------------------- -Package: npm - class: packagedcode.npm:PackageLockJson - file_patterns: npm-shrinkwrap.json, package-lock.json - extensions: .tgz - --------------------------------------------- -Package: npm - class: packagedcode.npm:YarnLockJson - file_patterns: yarn.lock - extensions: .tgz - --------------------------------------------- -Package: nsis - class: packagedcode.models:NSISInstallerPackage - extensions: .exe - filetypes: nullsoft installer - --------------------------------------------- -Package: nuget - class: packagedcode.nuget:Nuspec - file_patterns: *.nuspec - extensions: .nuspec - filetypes: zip archive, microsoft ooxml - --------------------------------------------- -Package: opam - class: packagedcode.opam:OpamFile - file_patterns: *opam - extensions: .opam - --------------------------------------------- -Package: pods - class: packagedcode.cocoapods:Podspec - file_patterns: *.podspec - extensions: .podspec - --------------------------------------------- -Package: pods - class: packagedcode.cocoapods:PodfileLock - file_patterns: *podfile.lock - extensions: .lock - --------------------------------------------- -Package: pods - class: packagedcode.cocoapods:PodspecJson - file_patterns: *.podspec.json - extensions: .json - --------------------------------------------- -Package: pubspec - class: packagedcode.pubspec:PubspecYaml - file_patterns: *pubspec.yaml - extensions: .yaml - --------------------------------------------- -Package: pubspec - class: packagedcode.pubspec:PubspecLock - file_patterns: *pubspec.lock - extensions: .lock - --------------------------------------------- -Package: pypi - class: packagedcode.pypi:MetadataFile - file_patterns: PKG-INFO, METADATA - --------------------------------------------- -Package: pypi - class: packagedcode.pypi:BinaryDistArchive - file_patterns: *.whl, *.egg - extensions: .whl, .egg - --------------------------------------------- -Package: pypi - class: packagedcode.pypi:SourceDistArchive - file_patterns: *.tar.gz, *.tar.bz2, *.zip - extensions: .tar.gz, .tar.bz2, .zip - --------------------------------------------- -Package: pypi - class: packagedcode.pypi:SetupPy - file_patterns: setup.py - extensions: .py - --------------------------------------------- -Package: pypi - class: packagedcode.pypi:DependencyFile - file_patterns: Pipfile, conda.yml, setup.cfg, tox.ini - --------------------------------------------- -Package: pypi - class: packagedcode.pypi:PipfileLock - file_patterns: Pipfile.lock - extensions: .lock - --------------------------------------------- -Package: pypi - class: packagedcode.pypi:RequirementsFile - file_patterns: *requirement*.txt, *requirement*.pip, *requirement*.in, requires.txt, requirements/*.txt, requirements/*.pip, requirements/*.in - --------------------------------------------- -Package: readme - class: packagedcode.readme:ReadmeManifest - file_patterns: README.android, README.chromium, README.facebook, README.google, README.thirdparty - --------------------------------------------- -Package: rpm - class: packagedcode.rpm:RpmManifest - file_patterns: *.spec - extensions: .rpm, .srpm, .mvl, .vip - filetypes: rpm - --------------------------------------------- -Package: shar - class: packagedcode.models:SharPackage - extensions: .sha, .shar, .bin - filetypes: posix shell script - --------------------------------------------- -Package: squashfs - class: packagedcode.models:SquashfsPackage - filetypes: squashfs - --------------------------------------------- -Package: war - class: packagedcode.models:JavaWar - file_patterns: WEB-INF/web.xml - extensions: .war - filetypes: java archive , zip archive - --------------------------------------------- -Package: windows-update - class: packagedcode.windows:MicrosoftUpdateManifest - extensions: .mum - filetypes: xml 1.0 document - --------------------------------------------- -Package: winexe - class: packagedcode.win_pe:WindowsExecutable - extensions: .exe, .dll, .mui, .mun, .com, .winmd, .sys, .tlb, .exe_*, .dll_*, .mui_*, .mun_*, .com_*, .winmd_*, .sys_*, .tlb_* - filetypes: pe32, for ms windows - +Package type: None + datasource_id: java_jar + documentation URL: https://en.wikipedia.org/wiki/JAR_(file_format) + primary language: None + description: JAR Java Archive + path_patterns: '*.jar' +-------------------------------------------- +Package type: about + datasource_id: about_file + documentation URL: https://aboutcode-toolkit.readthedocs.io/en/latest/specification.html + primary language: None + description: AboutCode ABOUT file + path_patterns: '*.ABOUT' +-------------------------------------------- +Package type: alpine + datasource_id: alpine_apk_archive + documentation URL: https://wiki.alpinelinux.org/wiki/Alpine_package_format + primary language: None + description: Alpine Linux .apk package archive + path_patterns: '*.apk' +-------------------------------------------- +Package type: alpine + datasource_id: alpine_apkbuild + documentation URL: https://wiki.alpinelinux.org/wiki/APKBUILD_Reference + primary language: None + description: Alpine Linux APKBUILD package script + path_patterns: '*APKBUILD' +-------------------------------------------- +Package type: alpine + datasource_id: alpine_installed_db + documentation URL: None + primary language: None + description: Alpine Linux installed package database + path_patterns: '*lib/apk/db/installed' +-------------------------------------------- +Package type: android + datasource_id: android_apk + documentation URL: https://en.wikipedia.org/wiki/Apk_(file_format) + primary language: Java + description: Android application package + path_patterns: '*.apk' +-------------------------------------------- +Package type: android_lib + datasource_id: android_aar_library + documentation URL: https://developer.android.com/studio/projects/android-library + primary language: Java + description: Android library archive + path_patterns: '*.aar' +-------------------------------------------- +Package type: autotools + datasource_id: autotools_configure + documentation URL: https://www.gnu.org/software/automake/ + primary language: None + description: Autotools configure script + path_patterns: '*/configure', '*/configure.ac' +-------------------------------------------- +Package type: axis2 + datasource_id: axis2_mar + documentation URL: https://axis.apache.org/axis2/java/core/docs/modules.html + primary language: Java + description: Apache Axis2 module archive + path_patterns: '*.mar' +-------------------------------------------- +Package type: axis2 + datasource_id: axis2_module_xml + documentation URL: https://axis.apache.org/axis2/java/core/docs/modules.html + primary language: Java + description: Apache Axis2 module.xml + path_patterns: '*/meta-inf/module.xml' +-------------------------------------------- +Package type: bazel + datasource_id: bazel_build + documentation URL: https://bazel.build/ + primary language: None + description: Bazel BUILD + path_patterns: '*/BUILD' +-------------------------------------------- +Package type: bower + datasource_id: bower_json + documentation URL: https://bower.io + primary language: JavaScript + description: Bower package + path_patterns: '*/bower.json', '*/.bower.json' +-------------------------------------------- +Package type: buck + datasource_id: buck_file + documentation URL: https://buck.build/ + primary language: None + description: Buck file + path_patterns: '*/BUCK' +-------------------------------------------- +Package type: buck + datasource_id: buck_metadata + documentation URL: https://buck.build/ + primary language: None + description: Buck metadata file + path_patterns: '*/METADATA.bzl' +-------------------------------------------- +Package type: cab + datasource_id: microsoft_cabinet + documentation URL: https://docs.microsoft.com/en-us/windows/win32/msi/cabinet-files + primary language: C + description: Microsoft cabinet archive + path_patterns: '*.cab' +-------------------------------------------- +Package type: cargo + datasource_id: cargo_lock + documentation URL: https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html + primary language: Rust + description: Rust Cargo.lock dependencies lockfile + path_patterns: '*/Cargo.lock', '*/cargo.lock' +-------------------------------------------- +Package type: cargo + datasource_id: cargo_toml + documentation URL: https://doc.rust-lang.org/cargo/reference/manifest.html + primary language: Rust + description: Rust Cargo.toml package manifest + path_patterns: '*/Cargo.toml', '*/cargo.toml' +-------------------------------------------- +Package type: chef + datasource_id: chef_cookbook_metadata_json + documentation URL: https://docs.chef.io/config_rb_metadata/ + primary language: Ruby + description: Chef cookbook metadata.json + path_patterns: '*/metadata.json' +-------------------------------------------- +Package type: chef + datasource_id: chef_cookbook_metadata_rb + documentation URL: https://docs.chef.io/config_rb_metadata/ + primary language: Ruby + description: Chef cookbook metadata.rb + path_patterns: '*/metadata.rb' +-------------------------------------------- +Package type: chrome + datasource_id: chrome_crx + documentation URL: https://chrome.google.com/extensions + primary language: JavaScript + description: Chrome extension + path_patterns: '*.crx' +-------------------------------------------- +Package type: composer + datasource_id: php_composer_json + documentation URL: https://getcomposer.org/doc/04-schema.md + primary language: PHP + description: PHP composer manifest + path_patterns: '*composer.json' +-------------------------------------------- +Package type: composer + datasource_id: php_composer_lock + documentation URL: https://getcomposer.org/doc/01-basic-usage.md#commit-your-composer-lock-file-to-version-control + primary language: PHP + description: PHP composer lockfile + path_patterns: '*composer.lock' +-------------------------------------------- +Package type: conda + datasource_id: conda_meta_yaml + documentation URL: https://docs.conda.io/ + primary language: None + description: Conda meta.yml manifest + path_patterns: '*/meta.yaml' +-------------------------------------------- +Package type: cpan + datasource_id: cpan_dist_ini + documentation URL: https://metacpan.org/pod/Dist::Zilla::Tutorial + primary language: Perl + description: CPAN Perl dist.ini + path_patterns: '*/dist.ini' +-------------------------------------------- +Package type: cpan + datasource_id: cpan_makefile + documentation URL: https://www.perlmonks.org/?node_id=128077 + primary language: Perl + description: CPAN Perl Makefile.PL + path_patterns: '*/Makefile.PL' +-------------------------------------------- +Package type: cpan + datasource_id: cpan_manifest + documentation URL: https://metacpan.org/pod/Module::Manifest + primary language: Perl + description: CPAN Perl module MANIFEST + path_patterns: '*/MANIFEST' +-------------------------------------------- +Package type: cpan + datasource_id: cpan_meta_json + documentation URL: https://metacpan.org/pod/Parse::CPAN::Meta + primary language: Perl + description: CPAN Perl META.json + path_patterns: '*/META.json' +-------------------------------------------- +Package type: cpan + datasource_id: cpan_meta_yml + documentation URL: https://metacpan.org/pod/CPAN::Meta::YAML + primary language: Perl + description: CPAN Perl META.yml + path_patterns: '*/META.yml' +-------------------------------------------- +Package type: cran + datasource_id: cran_description + documentation URL: https://r-pkgs.org/description.html + primary language: R + description: CRAN package DESCRIPTION + path_patterns: '*/DESCRIPTION' +-------------------------------------------- +Package type: deb + datasource_id: debian_control_extracted_deb + documentation URL: https://www.debian.org/doc/debian-policy/ch-controlfields.html + primary language: None + description: Debian control file - extracted layout + path_patterns: '*/control.tar.gz-extract/control' +-------------------------------------------- +Package type: deb + datasource_id: debian_control_in_source + documentation URL: https://www.debian.org/doc/debian-policy/ch-controlfields.html + primary language: None + description: Debian control file - source layout + path_patterns: '*/debian/control' +-------------------------------------------- +Package type: deb + datasource_id: debian_copyright_in_package + documentation URL: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ + primary language: None + description: Debian machine readable file in source + path_patterns: '*usr/share/doc/*/copyright' +-------------------------------------------- +Package type: deb + datasource_id: debian_copyright_in_source + documentation URL: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ + primary language: None + description: Debian machine readable file in source + path_patterns: '*/debian/copyright' +-------------------------------------------- +Package type: deb + datasource_id: debian_deb + documentation URL: https://manpages.debian.org/unstable/dpkg-dev/deb.5.en.html + primary language: None + description: Debian binary package archive + path_patterns: '*.deb' +-------------------------------------------- +Package type: deb + datasource_id: debian_distroless_installed_db + documentation URL: https://www.debian.org/doc/debian-policy/ch-controlfields.html + primary language: None + description: Debian distroless installed database + path_patterns: '*var/lib/dpkg/status.d/*' +-------------------------------------------- +Package type: deb + datasource_id: debian_installed_files_list + documentation URL: None + primary language: None + description: Debian installed file paths list + path_patterns: '*var/lib/dpkg/info/*.list' +-------------------------------------------- +Package type: deb + datasource_id: debian_installed_md5sums + documentation URL: https://www.debian.org/doc/manuals/debian-handbook/sect.package-meta-information.en.html#sect.configuration-scripts + primary language: None + description: Debian installed file MD5 and paths list + path_patterns: '*var/lib/dpkg/info/*.md5sums' +-------------------------------------------- +Package type: deb + datasource_id: debian_installed_status_db + documentation URL: https://www.debian.org/doc/debian-policy/ch-controlfields.html + primary language: None + description: Debian installed packages database + path_patterns: '*var/lib/dpkg/status' +-------------------------------------------- +Package type: deb + datasource_id: debian_md5sums_in_extracted_deb + documentation URL: https://www.debian.org/doc/manuals/debian-handbook/sect.package-meta-information.en.html#sect.configuration-scripts + primary language: None + description: Debian file MD5 and paths list in .deb archive + path_patterns: '*/control.tar.gz-extract/md5sums', '*/control.tar.xz-extract/md5sums' +-------------------------------------------- +Package type: deb + datasource_id: debian_original_source_tarball + documentation URL: https://manpages.debian.org/unstable/dpkg-dev/deb.5.en.html + primary language: None + description: Debian package original source archive + path_patterns: '*.orig.tar.xz', '*.orig.tar.gz' +-------------------------------------------- +Package type: deb + datasource_id: debian_source_control_dsc + documentation URL: https://wiki.debian.org/dsc + primary language: None + description: Debian source control file + path_patterns: '*.dsc' +-------------------------------------------- +Package type: deb + datasource_id: debian_source_metadata_tarball + documentation URL: https://manpages.debian.org/unstable/dpkg-dev/deb.5.en.html + primary language: None + description: Debian source package metadata archive + path_patterns: '*.debian.tar.xz', '*.debian.tar.gz' +-------------------------------------------- +Package type: dmg + datasource_id: apple_dmg + documentation URL: + primary language: None + description: + path_patterns: '*.dmg', '*.sparseimage' +-------------------------------------------- +Package type: ear + datasource_id: java_ear_application_xml + documentation URL: https://en.wikipedia.org/wiki/EAR_(file_format) + primary language: Java + description: Java EAR application.xml + path_patterns: '*/META-INF/application.xml' +-------------------------------------------- +Package type: ear + datasource_id: java_ear_archive + documentation URL: https://en.wikipedia.org/wiki/EAR_(file_format) + primary language: Java + description: Java EAR Enterprise application archive + path_patterns: '*.ear' +-------------------------------------------- +Package type: freebsd + datasource_id: freebsd_compact_manifest + documentation URL: https://www.freebsd.org/cgi/man.cgi?pkg-create(8)#MANIFEST_FILE_DETAILS + primary language: None + description: FreeBSD compact package manifest + path_patterns: '*/+COMPACT_MANIFEST' +-------------------------------------------- +Package type: gem + datasource_id: gem_archive + documentation URL: https://web.archive.org/web/20220326093616/https://piotrmurach.com/articles/looking-inside-a-ruby-gem/ + primary language: Ruby + description: RubyGems gem package archive + path_patterns: '*.gem' +-------------------------------------------- +Package type: gem + datasource_id: gem_archive_extracted + documentation URL: https://web.archive.org/web/20220326093616/https://piotrmurach.com/articles/looking-inside-a-ruby-gem/ + primary language: Ruby + description: RubyGems gem package extracted archive + path_patterns: '*/metadata.gz-extract' +-------------------------------------------- +Package type: gem + datasource_id: gem_gemspec_installed_specifications + documentation URL: https://guides.rubygems.org/specification-reference/ + primary language: Ruby + description: RubyGems gemspec manifest - installed vendor/bundle/specifications layout + path_patterns: '*/specifications/*.gemspec' +-------------------------------------------- +Package type: gem + datasource_id: gemfile + documentation URL: https://bundler.io/man/gemfile.5.html + primary language: Ruby + description: RubyGems Bundler Gemfile + path_patterns: '*/Gemfile', '*/*.gemfile', '*/Gemfile-*' +-------------------------------------------- +Package type: gem + datasource_id: gemfile_extracted + documentation URL: https://bundler.io/man/gemfile.5.html + primary language: Ruby + description: RubyGems Bundler Gemfile - extracted layout + path_patterns: '*/data.gz-extract/Gemfile' +-------------------------------------------- +Package type: gem + datasource_id: gemfile_lock + documentation URL: https://bundler.io/man/gemfile.5.html + primary language: Ruby + description: RubyGems Bundler Gemfile.lock + path_patterns: '*/Gemfile.lock' +-------------------------------------------- +Package type: gem + datasource_id: gemfile_lock_extracted + documentation URL: https://bundler.io/man/gemfile.5.html + primary language: Ruby + description: RubyGems Bundler Gemfile.lock - extracted layout + path_patterns: '*/data.gz-extract/Gemfile.lock' +-------------------------------------------- +Package type: gem + datasource_id: gemspec + documentation URL: https://guides.rubygems.org/specification-reference/ + primary language: Ruby + description: RubyGems gemspec manifest + path_patterns: '*.gemspec' +-------------------------------------------- +Package type: gem + datasource_id: gemspec_extracted + documentation URL: https://guides.rubygems.org/specification-reference/ + primary language: Ruby + description: RubyGems gemspec manifest - extracted data layout + path_patterns: '*/data.gz-extract/*.gemspec' +-------------------------------------------- +Package type: golang + datasource_id: go_mod + documentation URL: https://go.dev/ref/mod + primary language: Go + description: Go modules file + path_patterns: '*/go.mod' +-------------------------------------------- +Package type: golang + datasource_id: go_sum + documentation URL: https://go.dev/ref/mod#go-sum-files + primary language: Go + description: Go module cheksums file + path_patterns: '*/go.sum' +-------------------------------------------- +Package type: golang + datasource_id: godeps + documentation URL: https://github.com/tools/godep + primary language: Go + description: Go Godeps + path_patterns: '*/Godeps.json' +-------------------------------------------- +Package type: haxe + datasource_id: haxelib_json + documentation URL: https://lib.haxe.org/documentation/creating-a-haxelib-package/ + primary language: Haxe + description: Haxe haxelib.json metadata file + path_patterns: '*/haxelib.json' +-------------------------------------------- +Package type: installshield + datasource_id: installshield_installer + documentation URL: https://www.revenera.com/install/products/installshield + primary language: None + description: InstallShield installer + path_patterns: '*.exe' +-------------------------------------------- +Package type: ios + datasource_id: ios_ipa + documentation URL: https://en.wikipedia.org/wiki/.ipa + primary language: Objective-C + description: iOS package archive + path_patterns: '*.ipa' +-------------------------------------------- +Package type: iso + datasource_id: iso_disk_image + documentation URL: https://en.wikipedia.org/wiki/ISO_9660 + primary language: None + description: ISO disk image + path_patterns: '*.iso', '*.udf', '*.img' +-------------------------------------------- +Package type: ivy + datasource_id: ant_ivy_xml + documentation URL: https://ant.apache.org/ivy/history/latest-milestone/ivyfile.html + primary language: Java + description: Ant IVY dependency file + path_patterns: '*/ivy.xml' +-------------------------------------------- +Package type: jar + datasource_id: java_jar_manifest + documentation URL: https://docs.oracle.com/javase/tutorial/deployment/jar/manifestindex.html + primary language: Java + description: Java JAR MANIFEST.MF + path_patterns: '*/META-INF/MANIFEST.MF' +-------------------------------------------- +Package type: jboss-service + datasource_id: jboss_sar + documentation URL: https://docs.jboss.org/jbossas/docs/Server_Configuration_Guide/4/html/ch02s01.html + primary language: Java + description: JBOSS service archive + path_patterns: '*.sar' +-------------------------------------------- +Package type: jboss-service + datasource_id: jboss_service_xml + documentation URL: https://docs.jboss.org/jbossas/docs/Server_Configuration_Guide/4/html/ch02s01.html + primary language: Java + description: JBOSS service.xml + path_patterns: '*/meta-inf/jboss-service.xml' +-------------------------------------------- +Package type: linux-distro + datasource_id: etc_os_release + documentation URL: https://www.freedesktop.org/software/systemd/man/os-release.html + primary language: None + description: Linux OS release metadata file + path_patterns: '*etc/os-release', '*usr/lib/os-release' +-------------------------------------------- +Package type: maven + datasource_id: build_gradle + documentation URL: None + primary language: None + description: Gradle build script + path_patterns: '*/build.gradle', 'build.gradle.kts' +-------------------------------------------- +Package type: maven + datasource_id: maven_pom + documentation URL: https://maven.apache.org/pom.html + primary language: Java + description: Apache Maven pom + path_patterns: '*.pom', '*pom.xml' +-------------------------------------------- +Package type: maven + datasource_id: maven_pom_properties + documentation URL: https://maven.apache.org/pom.html + primary language: Java + description: Apache Maven pom properties file + path_patterns: '*/pom.properties' +-------------------------------------------- +Package type: meteor + datasource_id: meteor_package + documentation URL: https://docs.meteor.com/api/packagejs.html + primary language: JavaScript + description: Meteor package.js + path_patterns: '*/package.js' +-------------------------------------------- +Package type: mozilla + datasource_id: mozilla_xpi + documentation URL: https://en.wikipedia.org/wiki/XPInstall + primary language: JavaScript + description: Mozilla XPI extension + path_patterns: '*.xpi' +-------------------------------------------- +Package type: msi + datasource_id: msi_installer + documentation URL: https://docs.microsoft.com/en-us/windows/win32/msi/windows-installer-portal + primary language: None + description: Microsoft MSI installer + path_patterns: '*.msi' +-------------------------------------------- +Package type: npm + datasource_id: npm_package_json + documentation URL: https://docs.npmjs.com/cli/v8/configuring-npm/package-json + primary language: JavaScript + description: npm package.json + path_patterns: '*/package.json' +-------------------------------------------- +Package type: npm + datasource_id: npm_package_lock_json + documentation URL: https://docs.npmjs.com/cli/v8/configuring-npm/package-lock-json + primary language: JavaScript + description: npm package-lock.json lockfile + path_patterns: '*/package-lock.json', '*/.package-lock.json' +-------------------------------------------- +Package type: npm + datasource_id: npm_shrinkwrap_json + documentation URL: https://docs.npmjs.com/cli/v8/configuring-npm/npm-shrinkwrap-json + primary language: JavaScript + description: npm shrinkwrap.json lockfile + path_patterns: '*/npm-shrinkwrap.json' +-------------------------------------------- +Package type: npm + datasource_id: yarn_lock_v1 + documentation URL: https://classic.yarnpkg.com/lang/en/docs/yarn-lock/ + primary language: JavaScript + description: yarn.lock lockfile v1 format + path_patterns: '*/yarn.lock' +-------------------------------------------- +Package type: npm + datasource_id: yarn_lock_v2 + documentation URL: https://classic.yarnpkg.com/lang/en/docs/yarn-lock/ + primary language: JavaScript + description: yarn.lock lockfile v2 format + path_patterns: '*/yarn.lock' +-------------------------------------------- +Package type: nsis + datasource_id: nsis_installer + documentation URL: https://nsis.sourceforge.io/Main_Page + primary language: None + description: NSIS installer + path_patterns: '*.exe' +-------------------------------------------- +Package type: nuget + datasource_id: nuget_nupkg + documentation URL: https://en.wikipedia.org/wiki/Open_Packaging_Conventions + primary language: None + description: NuGet nupkg package archive + path_patterns: '*.nupkg' +-------------------------------------------- +Package type: nuget + datasource_id: nuget_nupsec + documentation URL: https://docs.microsoft.com/en-us/nuget/reference/nuspec + primary language: None + description: NuGet nuspec package manifest + path_patterns: '*.nuspec' +-------------------------------------------- +Package type: opam + datasource_id: opam_file + documentation URL: https://opam.ocaml.org/doc/Manual.html#Common-file-format + primary language: Ocaml + description: Ocaml Opam file + path_patterns: '*opam' +-------------------------------------------- +Package type: pods + datasource_id: cocoapods_podfile + documentation URL: https://guides.cocoapods.org/using/the-podfile.html + primary language: Objective-C + description: Cocoapods Podfile + path_patterns: '*Podfile' +-------------------------------------------- +Package type: pods + datasource_id: cocoapods_podfile_lock + documentation URL: https://guides.cocoapods.org/using/the-podfile.html + primary language: Objective-C + description: Cocoapods Podfile.lock + path_patterns: '*Podfile.lock' +-------------------------------------------- +Package type: pods + datasource_id: cocoapods_podspec + documentation URL: https://guides.cocoapods.org/syntax/podspec.html + primary language: Objective-C + description: Cocoapods .podspec + path_patterns: '*.podspec' +-------------------------------------------- +Package type: pods + datasource_id: cocoapods_podspec_json + documentation URL: https://guides.cocoapods.org/syntax/podspec.html + primary language: Objective-C + description: Cocoapods .podspec.json + path_patterns: '*.podspec.json' +-------------------------------------------- +Package type: pubspec + datasource_id: pubspec_lock + documentation URL: https://web.archive.org/web/20220330081004/https://gpalma.pt/blog/what-is-the-pubspec-lock/ + primary language: dart + description: Dart pubspec lockfile + path_patterns: '*pubspec.lock' +-------------------------------------------- +Package type: pubspec + datasource_id: pubspec_yaml + documentation URL: https://dart.dev/tools/pub/pubspec + primary language: dart + description: Dart pubspec manifest + path_patterns: '*pubspec.yaml' +-------------------------------------------- +Package type: pypi + datasource_id: conda_yaml + documentation URL: https://docs.conda.io/ + primary language: Python + description: Conda yaml manifest + path_patterns: '*conda.yaml', '*conda.yml' +-------------------------------------------- +Package type: pypi + datasource_id: pip_requirements + documentation URL: https://pip.pypa.io/en/latest/reference/requirements-file-format/ + primary language: Python + description: pip requirements file + path_patterns: '*requirement*.txt', '*requirement*.pip', '*requirement*.in', '*requires.txt', '*requirements/*.txt', '*requirements/*.pip', '*requirements/*.in', '*reqs.txt' +-------------------------------------------- +Package type: pypi + datasource_id: pipfile + documentation URL: https://github.com/pypa/pipfile + primary language: Python + description: Pipfile + path_patterns: '*Pipfile' +-------------------------------------------- +Package type: pypi + datasource_id: pipfile_lock + documentation URL: https://github.com/pypa/pipfile + primary language: Python + description: Pipfile.lock + path_patterns: '*Pipfile.lock' +-------------------------------------------- +Package type: pypi + datasource_id: pypi_editable_egg_pkginfo + documentation URL: https://peps.python.org/pep-0376/ + primary language: Python + description: PyPI editable local installation PKG-INFO + path_patterns: '*.egg-info/PKG-INFO' +-------------------------------------------- +Package type: pypi + datasource_id: pypi_egg + documentation URL: https://web.archive.org/web/20210604075235/http://peak.telecommunity.com/DevCenter/PythonEggs + primary language: Python + description: PyPI egg + path_patterns: '*.egg' +-------------------------------------------- +Package type: pypi + datasource_id: pypi_egg_pkginfo + documentation URL: https://peps.python.org/pep-0376/ + primary language: Python + description: PyPI extracted egg PKG-INFO + path_patterns: '*/EGG-INFO/PKG-INFO' +-------------------------------------------- +Package type: pypi + datasource_id: pypi_pyproject_toml + documentation URL: https://peps.python.org/pep-0621/ + primary language: Python + description: Python pyproject.toml + path_patterns: '*pyproject.toml' +-------------------------------------------- +Package type: pypi + datasource_id: pypi_sdist + documentation URL: https://peps.python.org/pep-0643/ + primary language: Python + description: Python source distribution + path_patterns: '*.tar.gz', '*.tar.bz2', '*.zip' +-------------------------------------------- +Package type: pypi + datasource_id: pypi_sdist_pkginfo + documentation URL: https://peps.python.org/pep-0314/ + primary language: Python + description: PyPI extracted sdist PKG-INFO + path_patterns: '*/PKG-INFO' +-------------------------------------------- +Package type: pypi + datasource_id: pypi_setup_cfg + documentation URL: https://peps.python.org/pep-0390/ + primary language: Python + description: Python setup.cfg + path_patterns: '*setup.cfg' +-------------------------------------------- +Package type: pypi + datasource_id: pypi_setup_py + documentation URL: https://docs.python.org/3/distutils/setupscript.html + primary language: Python + description: Python setup.py + path_patterns: '*setup.py' +-------------------------------------------- +Package type: pypi + datasource_id: pypi_wheel + documentation URL: https://peps.python.org/pep-0427/ + primary language: Python + description: PyPI wheel + path_patterns: '*.whl' +-------------------------------------------- +Package type: pypi + datasource_id: pypi_wheel_metadata + documentation URL: https://packaging.python.org/en/latest/specifications/core-metadata/ + primary language: Python + description: PyPI installed wheel METADATA + path_patterns: '*.dist-info/METADATA' +-------------------------------------------- +Package type: readme + datasource_id: readme + documentation URL: None + primary language: None + description: None + path_patterns: '*/README.android', '*/README.chromium', '*/README.facebook', '*/README.google', '*/README.thirdparty' +-------------------------------------------- +Package type: rpm + datasource_id: rpm_archive + documentation URL: https://en.wikipedia.org/wiki/RPM_Package_Manager + primary language: None + description: RPM package archive + path_patterns: '*.rpm', '*.src.rpm', '*.srpm', '*.mvl', '*.vip' +-------------------------------------------- +Package type: rpm + datasource_id: rpm_installed_database_bdb + documentation URL: https://man7.org/linux/man-pages/man8/rpmdb.8.html + primary language: None + description: RPM installed package BDB database + path_patterns: '*var/lib/rpm/Packages' +-------------------------------------------- +Package type: rpm + datasource_id: rpm_installed_database_ndb + documentation URL: https://fedoraproject.org/wiki/Changes/NewRpmDBFormat + primary language: None + description: RPM installed package NDB database + path_patterns: '*usr/lib/sysimage/rpm/Packages.db' +-------------------------------------------- +Package type: rpm + datasource_id: rpm_installed_database_sqlite + documentation URL: https://fedoraproject.org/wiki/Changes/Sqlite_Rpmdb + primary language: None + description: RPM installed package SQLite database + path_patterns: '*var/lib/rpm/rpmdb.sqlite' +-------------------------------------------- +Package type: rpm + datasource_id: rpm_spefile + documentation URL: https://en.wikipedia.org/wiki/RPM_Package_Manager + primary language: None + description: RPM specfile + path_patterns: '*.spec' +-------------------------------------------- +Package type: shar + datasource_id: shar_shell_archive + documentation URL: https://en.wikipedia.org/wiki/Shar + primary language: None + description: shell archive + path_patterns: '*.shar' +-------------------------------------------- +Package type: squashfs + datasource_id: squashfs_disk_image + documentation URL: https://en.wikipedia.org/wiki/SquashFS + primary language: None + description: Squashfs disk image + path_patterns: +-------------------------------------------- +Package type: war + datasource_id: java_war_archive + documentation URL: https://en.wikipedia.org/wiki/WAR_(file_format) + primary language: Java + description: Java Web Application Archive + path_patterns: '*.war' +-------------------------------------------- +Package type: war + datasource_id: java_war_web_xml + documentation URL: https://en.wikipedia.org/wiki/WAR_(file_format) + primary language: Java + description: Java WAR web/xml + path_patterns: '*/WEB-INF/web.xml' +-------------------------------------------- +Package type: windows-program + datasource_id: win_reg_installed_programs_docker_file_software + documentation URL: https://en.wikipedia.org/wiki/Windows_Registry + primary language: None + description: Windows Registry Installed Program - Docker SOFTWARE + path_patterns: '*/Files/Windows/System32/config/SOFTWARE' +-------------------------------------------- +Package type: windows-program + datasource_id: win_reg_installed_programs_docker_software_delta + documentation URL: https://en.wikipedia.org/wiki/Windows_Registry + primary language: None + description: Windows Registry Installed Program - Docker Software Delta + path_patterns: '*/Hives/Software_Delta' +-------------------------------------------- +Package type: windows-program + datasource_id: win_reg_installed_programs_docker_utility_software + documentation URL: https://en.wikipedia.org/wiki/Windows_Registry + primary language: None + description: Windows Registry Installed Program - Docker UtilityVM SOFTWARE + path_patterns: '*/UtilityVM/Files/Windows/System32/config/SOFTWARE' +-------------------------------------------- +Package type: windows-update + datasource_id: microsoft_update_manifest_mum + documentation URL: None + primary language: None + description: Microsoft Update Manifest .mum file + path_patterns: '*.mum' +-------------------------------------------- +Package type: winexe + datasource_id: windows_executable + documentation URL: https://en.wikipedia.org/wiki/Portable_Executable + primary language: None + description: Windows Portable Executable metadata + path_patterns: '*.exe', '*.dll', '*.mui', '*.mun', '*.com', '*.winmd', '*.sys', '*.tlb', '*.exe_*', '*.dll_*', '*.mui_*', '*.mun_*', '*.com_*', '*.winmd_*', '*.sys_*', '*.tlb_*', '*.ocx' diff --git a/tests/packagedcode/data/plugin/maven-package-expected.json b/tests/packagedcode/data/plugin/maven-package-expected.json index d94573911ba..8725358673d 100644 --- a/tests/packagedcode/data/plugin/maven-package-expected.json +++ b/tests/packagedcode/data/plugin/maven-package-expected.json @@ -29,9 +29,10 @@ "is_optional": true, "is_resolved": null, "resolved_package": {}, - "dependency_uuid": "pkg:maven/commons-logging/commons-logging-api", - "for_package": "pkg:maven/org.apache.activemq/activemq-camel@5.4.2", - "lockfile": "activemq-camel/activemq-camel-pom.xml" + "dependency_uid": "pkg:maven/commons-logging/commons-logging-api?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.apache.activemq/activemq-camel@5.4.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "activemq-camel/activemq-camel-pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.apache.camel/camel-jms", @@ -41,9 +42,10 @@ "is_optional": true, "is_resolved": null, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.apache.camel/camel-jms", - "for_package": "pkg:maven/org.apache.activemq/activemq-camel@5.4.2", - "lockfile": "activemq-camel/activemq-camel-pom.xml" + "dependency_uid": "pkg:maven/org.apache.camel/camel-jms?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.apache.activemq/activemq-camel@5.4.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "activemq-camel/activemq-camel-pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.apache.activemq/activemq-core", @@ -53,9 +55,10 @@ "is_optional": true, "is_resolved": null, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.apache.activemq/activemq-core", - "for_package": "pkg:maven/org.apache.activemq/activemq-camel@5.4.2", - "lockfile": "activemq-camel/activemq-camel-pom.xml" + "dependency_uid": "pkg:maven/org.apache.activemq/activemq-core?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.apache.activemq/activemq-camel@5.4.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "activemq-camel/activemq-camel-pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.apache.activemq/activemq-pool", @@ -65,9 +68,10 @@ "is_optional": true, "is_resolved": null, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.apache.activemq/activemq-pool", - "for_package": "pkg:maven/org.apache.activemq/activemq-camel@5.4.2", - "lockfile": "activemq-camel/activemq-camel-pom.xml" + "dependency_uid": "pkg:maven/org.apache.activemq/activemq-pool?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.apache.activemq/activemq-camel@5.4.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "activemq-camel/activemq-camel-pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.apache.geronimo.specs/geronimo-annotation_1.0_spec", @@ -77,9 +81,10 @@ "is_optional": true, "is_resolved": null, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.apache.geronimo.specs/geronimo-annotation_1.0_spec", - "for_package": "pkg:maven/org.apache.activemq/activemq-camel@5.4.2", - "lockfile": "activemq-camel/activemq-camel-pom.xml" + "dependency_uid": "pkg:maven/org.apache.geronimo.specs/geronimo-annotation_1.0_spec?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.apache.activemq/activemq-camel@5.4.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "activemq-camel/activemq-camel-pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.apache.activemq/activemq-core", @@ -89,9 +94,10 @@ "is_optional": true, "is_resolved": null, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.apache.activemq/activemq-core", - "for_package": "pkg:maven/org.apache.activemq/activemq-camel@5.4.2", - "lockfile": "activemq-camel/activemq-camel-pom.xml" + "dependency_uid": "pkg:maven/org.apache.activemq/activemq-core?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.apache.activemq/activemq-camel@5.4.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "activemq-camel/activemq-camel-pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.apache.camel/camel-core", @@ -101,9 +107,10 @@ "is_optional": true, "is_resolved": null, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.apache.camel/camel-core", - "for_package": "pkg:maven/org.apache.activemq/activemq-camel@5.4.2", - "lockfile": "activemq-camel/activemq-camel-pom.xml" + "dependency_uid": "pkg:maven/org.apache.camel/camel-core?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.apache.activemq/activemq-camel@5.4.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "activemq-camel/activemq-camel-pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.apache.camel/camel-spring", @@ -113,9 +120,10 @@ "is_optional": true, "is_resolved": null, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.apache.camel/camel-spring", - "for_package": "pkg:maven/org.apache.activemq/activemq-camel@5.4.2", - "lockfile": "activemq-camel/activemq-camel-pom.xml" + "dependency_uid": "pkg:maven/org.apache.camel/camel-spring?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.apache.activemq/activemq-camel@5.4.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "activemq-camel/activemq-camel-pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.springframework/spring-test", @@ -125,9 +133,10 @@ "is_optional": true, "is_resolved": null, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.springframework/spring-test", - "for_package": "pkg:maven/org.apache.activemq/activemq-camel@5.4.2", - "lockfile": "activemq-camel/activemq-camel-pom.xml" + "dependency_uid": "pkg:maven/org.springframework/spring-test?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.apache.activemq/activemq-camel@5.4.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "activemq-camel/activemq-camel-pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/junit/junit", @@ -137,9 +146,10 @@ "is_optional": true, "is_resolved": null, "resolved_package": {}, - "dependency_uuid": "pkg:maven/junit/junit", - "for_package": "pkg:maven/org.apache.activemq/activemq-camel@5.4.2", - "lockfile": "activemq-camel/activemq-camel-pom.xml" + "dependency_uid": "pkg:maven/junit/junit?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.apache.activemq/activemq-camel@5.4.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "activemq-camel/activemq-camel-pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.hamcrest/hamcrest-all", @@ -149,9 +159,10 @@ "is_optional": true, "is_resolved": null, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.hamcrest/hamcrest-all", - "for_package": "pkg:maven/org.apache.activemq/activemq-camel@5.4.2", - "lockfile": "activemq-camel/activemq-camel-pom.xml" + "dependency_uid": "pkg:maven/org.hamcrest/hamcrest-all?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.apache.activemq/activemq-camel@5.4.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "activemq-camel/activemq-camel-pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.apache.ant/ant@1.7.0", @@ -161,9 +172,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.apache.ant/ant@1.7.0", - "for_package": "pkg:maven/org.apache.ant/ant-jai@1.7.0", - "lockfile": "ant-jai-1.7.0/ant-jai-1.7.0.pom" + "dependency_uid": "pkg:maven/org.apache.ant/ant@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "ant-jai-1.7.0/ant-jai-1.7.0.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/javax.media/jai-core@1.1.2_01", @@ -173,9 +185,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/javax.media/jai-core@1.1.2_01", - "for_package": "pkg:maven/org.apache.ant/ant-jai@1.7.0", - "lockfile": "ant-jai-1.7.0/ant-jai-1.7.0.pom" + "dependency_uid": "pkg:maven/javax.media/jai-core@1.1.2_01?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "ant-jai-1.7.0/ant-jai-1.7.0.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/jai/jai-codec@1.1.2.1", @@ -185,9 +198,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/jai/jai-codec@1.1.2.1", - "for_package": "pkg:maven/org.apache.ant/ant-jai@1.7.0", - "lockfile": "ant-jai-1.7.0/ant-jai-1.7.0.pom" + "dependency_uid": "pkg:maven/jai/jai-codec@1.1.2.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "ant-jai-1.7.0/ant-jai-1.7.0.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.apache.ant/ant@1.7.0", @@ -197,9 +211,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.apache.ant/ant@1.7.0", - "for_package": "pkg:maven/org.apache.ant/ant-jsch@1.7.0", - "lockfile": "ant-jsch-1.7.0/ant-jsch-1.7.0.pom" + "dependency_uid": "pkg:maven/org.apache.ant/ant@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "ant-jsch-1.7.0/ant-jsch-1.7.0.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/com.jcraft/jsch@0.1.29", @@ -209,9 +224,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/com.jcraft/jsch@0.1.29", - "for_package": "pkg:maven/org.apache.ant/ant-jsch@1.7.0", - "lockfile": "ant-jsch-1.7.0/ant-jsch-1.7.0.pom" + "dependency_uid": "pkg:maven/com.jcraft/jsch@0.1.29?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "ant-jsch-1.7.0/ant-jsch-1.7.0.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/servletapi/servletapi@2.3", @@ -221,9 +237,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/servletapi/servletapi@2.3", - "for_package": "pkg:maven/commons-fileupload/commons-fileupload@1.0", - "lockfile": "commons-fileupload-1.0/commons-fileupload-1.0.pom" + "dependency_uid": "pkg:maven/servletapi/servletapi@2.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "commons-fileupload-1.0/commons-fileupload-1.0.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/junit/junit@3.8.1", @@ -233,9 +250,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/junit/junit@3.8.1", - "for_package": "pkg:maven/commons-fileupload/commons-fileupload@1.0", - "lockfile": "commons-fileupload-1.0/commons-fileupload-1.0.pom" + "dependency_uid": "pkg:maven/junit/junit@3.8.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "commons-fileupload-1.0/commons-fileupload-1.0.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/commons-beanutils/commons-beanutils@1.7.0", @@ -245,9 +263,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/commons-beanutils/commons-beanutils@1.7.0", - "for_package": "pkg:maven/commons-validator/commons-validator@1.2.0", - "lockfile": "commons-validator-1.2.0/commons-validator-1.2.0.pom" + "dependency_uid": "pkg:maven/commons-beanutils/commons-beanutils@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "commons-validator-1.2.0/commons-validator-1.2.0.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/commons-digester/commons-digester@1.6", @@ -257,9 +276,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/commons-digester/commons-digester@1.6", - "for_package": "pkg:maven/commons-validator/commons-validator@1.2.0", - "lockfile": "commons-validator-1.2.0/commons-validator-1.2.0.pom" + "dependency_uid": "pkg:maven/commons-digester/commons-digester@1.6?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "commons-validator-1.2.0/commons-validator-1.2.0.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/commons-logging/commons-logging@1.0.4", @@ -269,9 +289,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/commons-logging/commons-logging@1.0.4", - "for_package": "pkg:maven/commons-validator/commons-validator@1.2.0", - "lockfile": "commons-validator-1.2.0/commons-validator-1.2.0.pom" + "dependency_uid": "pkg:maven/commons-logging/commons-logging@1.0.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "commons-validator-1.2.0/commons-validator-1.2.0.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/oro/oro@2.0.8", @@ -281,9 +302,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/oro/oro@2.0.8", - "for_package": "pkg:maven/commons-validator/commons-validator@1.2.0", - "lockfile": "commons-validator-1.2.0/commons-validator-1.2.0.pom" + "dependency_uid": "pkg:maven/oro/oro@2.0.8?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "commons-validator-1.2.0/commons-validator-1.2.0.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/xml-apis/xml-apis@2.0.2", @@ -293,9 +315,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/xml-apis/xml-apis@2.0.2", - "for_package": "pkg:maven/commons-validator/commons-validator@1.2.0", - "lockfile": "commons-validator-1.2.0/commons-validator-1.2.0.pom" + "dependency_uid": "pkg:maven/xml-apis/xml-apis@2.0.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "commons-validator-1.2.0/commons-validator-1.2.0.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/junit/junit@3.8.1", @@ -305,9 +328,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/junit/junit@3.8.1", - "for_package": "pkg:maven/commons-validator/commons-validator@1.2.0", - "lockfile": "commons-validator-1.2.0/commons-validator-1.2.0.pom" + "dependency_uid": "pkg:maven/junit/junit@3.8.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "commons-validator-1.2.0/commons-validator-1.2.0.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/log4j/log4j@1.2.8", @@ -317,9 +341,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/log4j/log4j@1.2.8", - "for_package": "pkg:maven/easyconf/easyconf@0.9.0", - "lockfile": "easyconf-0.9.0/easyconf-0.9.0.pom" + "dependency_uid": "pkg:maven/log4j/log4j@1.2.8?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "easyconf-0.9.0/easyconf-0.9.0.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/servletapi/servletapi@2.3", @@ -329,9 +354,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/servletapi/servletapi@2.3", - "for_package": "pkg:maven/easyconf/easyconf@0.9.0", - "lockfile": "easyconf-0.9.0/easyconf-0.9.0.pom" + "dependency_uid": "pkg:maven/servletapi/servletapi@2.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "easyconf-0.9.0/easyconf-0.9.0.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/struts/struts@1.1", @@ -341,9 +367,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/struts/struts@1.1", - "for_package": "pkg:maven/easyconf/easyconf@0.9.0", - "lockfile": "easyconf-0.9.0/easyconf-0.9.0.pom" + "dependency_uid": "pkg:maven/struts/struts@1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "easyconf-0.9.0/easyconf-0.9.0.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/commons-configuration/commons-configuration@1.1", @@ -353,9 +380,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/commons-configuration/commons-configuration@1.1", - "for_package": "pkg:maven/easyconf/easyconf@0.9.0", - "lockfile": "easyconf-0.9.0/easyconf-0.9.0.pom" + "dependency_uid": "pkg:maven/commons-configuration/commons-configuration@1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "easyconf-0.9.0/easyconf-0.9.0.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/commons-collections/commons-collections@3.1", @@ -365,9 +393,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/commons-collections/commons-collections@3.1", - "for_package": "pkg:maven/easyconf/easyconf@0.9.0", - "lockfile": "easyconf-0.9.0/easyconf-0.9.0.pom" + "dependency_uid": "pkg:maven/commons-collections/commons-collections@3.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "easyconf-0.9.0/easyconf-0.9.0.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/commons-lang/commons-lang@2.0", @@ -377,9 +406,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/commons-lang/commons-lang@2.0", - "for_package": "pkg:maven/easyconf/easyconf@0.9.0", - "lockfile": "easyconf-0.9.0/easyconf-0.9.0.pom" + "dependency_uid": "pkg:maven/commons-lang/commons-lang@2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "easyconf-0.9.0/easyconf-0.9.0.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/dom4j/dom4j@1.4", @@ -389,9 +419,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/dom4j/dom4j@1.4", - "for_package": "pkg:maven/easyconf/easyconf@0.9.0", - "lockfile": "easyconf-0.9.0/easyconf-0.9.0.pom" + "dependency_uid": "pkg:maven/dom4j/dom4j@1.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "easyconf-0.9.0/easyconf-0.9.0.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/commons-logging/commons-logging@1.0.4", @@ -401,9 +432,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/commons-logging/commons-logging@1.0.4", - "for_package": "pkg:maven/easyconf/easyconf@0.9.0", - "lockfile": "easyconf-0.9.0/easyconf-0.9.0.pom" + "dependency_uid": "pkg:maven/commons-logging/commons-logging@1.0.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "easyconf-0.9.0/easyconf-0.9.0.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/commons-digester/commons-digester@1.6", @@ -413,9 +445,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/commons-digester/commons-digester@1.6", - "for_package": "pkg:maven/easyconf/easyconf@0.9.0", - "lockfile": "easyconf-0.9.0/easyconf-0.9.0.pom" + "dependency_uid": "pkg:maven/commons-digester/commons-digester@1.6?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "easyconf-0.9.0/easyconf-0.9.0.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/xerces/xerces@2.2.1", @@ -425,9 +458,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/xerces/xerces@2.2.1", - "for_package": "pkg:maven/easyconf/easyconf@0.9.0", - "lockfile": "easyconf-0.9.0/easyconf-0.9.0.pom" + "dependency_uid": "pkg:maven/xerces/xerces@2.2.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "easyconf-0.9.0/easyconf-0.9.0.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/xml-apis/xml-apis@2.0.2", @@ -437,9 +471,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/xml-apis/xml-apis@2.0.2", - "for_package": "pkg:maven/easyconf/easyconf@0.9.0", - "lockfile": "easyconf-0.9.0/easyconf-0.9.0.pom" + "dependency_uid": "pkg:maven/xml-apis/xml-apis@2.0.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "easyconf-0.9.0/easyconf-0.9.0.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/xdoclet/xdoclet@1.2.1", @@ -449,9 +484,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/xdoclet/xdoclet@1.2.1", - "for_package": "pkg:maven/easyconf/easyconf@0.9.0", - "lockfile": "easyconf-0.9.0/easyconf-0.9.0.pom" + "dependency_uid": "pkg:maven/xdoclet/xdoclet@1.2.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "easyconf-0.9.0/easyconf-0.9.0.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/junit/junit@3.8.1", @@ -461,9 +497,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/junit/junit@3.8.1", - "for_package": "pkg:maven/easyconf/easyconf@0.9.0", - "lockfile": "easyconf-0.9.0/easyconf-0.9.0.pom" + "dependency_uid": "pkg:maven/junit/junit@3.8.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "easyconf-0.9.0/easyconf-0.9.0.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/commons-beanutils/commons-beanutils-core@1.7.0", @@ -473,9 +510,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/commons-beanutils/commons-beanutils-core@1.7.0", - "for_package": "pkg:maven/easyconf/easyconf@0.9.0", - "lockfile": "easyconf-0.9.0/easyconf-0.9.0.pom" + "dependency_uid": "pkg:maven/commons-beanutils/commons-beanutils-core@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "easyconf-0.9.0/easyconf-0.9.0.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/commons-beanutils/commons-beanutils-bean-collections@1.7.0", @@ -485,9 +523,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/commons-beanutils/commons-beanutils-bean-collections@1.7.0", - "for_package": "pkg:maven/easyconf/easyconf@0.9.0", - "lockfile": "easyconf-0.9.0/easyconf-0.9.0.pom" + "dependency_uid": "pkg:maven/commons-beanutils/commons-beanutils-bean-collections@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "easyconf-0.9.0/easyconf-0.9.0.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/xdoclet/xdoclet-web-module@1.2.1", @@ -497,9 +536,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/xdoclet/xdoclet-web-module@1.2.1", - "for_package": "pkg:maven/easyconf/easyconf@0.9.0", - "lockfile": "easyconf-0.9.0/easyconf-0.9.0.pom" + "dependency_uid": "pkg:maven/xdoclet/xdoclet-web-module@1.2.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "easyconf-0.9.0/easyconf-0.9.0.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/mx4j/mx4j-jmx@2.1.1", @@ -509,9 +549,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/mx4j/mx4j-jmx@2.1.1", - "for_package": "pkg:maven/easyconf/easyconf@0.9.0", - "lockfile": "easyconf-0.9.0/easyconf-0.9.0.pom" + "dependency_uid": "pkg:maven/mx4j/mx4j-jmx@2.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "easyconf-0.9.0/easyconf-0.9.0.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/mx4j/mx4j-impl@2.1.1", @@ -521,9 +562,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/mx4j/mx4j-impl@2.1.1", - "for_package": "pkg:maven/easyconf/easyconf@0.9.0", - "lockfile": "easyconf-0.9.0/easyconf-0.9.0.pom" + "dependency_uid": "pkg:maven/mx4j/mx4j-impl@2.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "easyconf-0.9.0/easyconf-0.9.0.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.apache.maven/maven-artifact@2.0.4", @@ -533,9 +575,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.apache.maven/maven-artifact@2.0.4", - "for_package": "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1", - "lockfile": "findbugs-maven-plugin-1.1.1/findbugs-maven-plugin-1.1.1.pom" + "dependency_uid": "pkg:maven/org.apache.maven/maven-artifact@2.0.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "findbugs-maven-plugin-1.1.1/findbugs-maven-plugin-1.1.1.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.apache.maven.reporting/maven-reporting-impl@2.0.4", @@ -545,9 +588,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.apache.maven.reporting/maven-reporting-impl@2.0.4", - "for_package": "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1", - "lockfile": "findbugs-maven-plugin-1.1.1/findbugs-maven-plugin-1.1.1.pom" + "dependency_uid": "pkg:maven/org.apache.maven.reporting/maven-reporting-impl@2.0.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "findbugs-maven-plugin-1.1.1/findbugs-maven-plugin-1.1.1.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.apache.maven.reporting/maven-reporting-api@2.0.4", @@ -557,9 +601,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.apache.maven.reporting/maven-reporting-api@2.0.4", - "for_package": "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1", - "lockfile": "findbugs-maven-plugin-1.1.1/findbugs-maven-plugin-1.1.1.pom" + "dependency_uid": "pkg:maven/org.apache.maven.reporting/maven-reporting-api@2.0.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "findbugs-maven-plugin-1.1.1/findbugs-maven-plugin-1.1.1.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.apache.maven.doxia/doxia-core@1.0-alpha-8", @@ -569,9 +614,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.apache.maven.doxia/doxia-core@1.0-alpha-8", - "for_package": "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1", - "lockfile": "findbugs-maven-plugin-1.1.1/findbugs-maven-plugin-1.1.1.pom" + "dependency_uid": "pkg:maven/org.apache.maven.doxia/doxia-core@1.0-alpha-8?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "findbugs-maven-plugin-1.1.1/findbugs-maven-plugin-1.1.1.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/net.sourceforge.findbugs/findbugs@1.2.0", @@ -581,9 +627,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/net.sourceforge.findbugs/findbugs@1.2.0", - "for_package": "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1", - "lockfile": "findbugs-maven-plugin-1.1.1/findbugs-maven-plugin-1.1.1.pom" + "dependency_uid": "pkg:maven/net.sourceforge.findbugs/findbugs@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "findbugs-maven-plugin-1.1.1/findbugs-maven-plugin-1.1.1.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/info.flex-mojos/testing-support", @@ -593,9 +640,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:maven/info.flex-mojos/testing-support", - "for_package": "pkg:maven/com.adobe.ac.samples.lcds/flex_app@1.0-SNAPSHOT", - "lockfile": "fna2_pom/fna2_pom.xml" + "dependency_uid": "pkg:maven/info.flex-mojos/testing-support?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/com.adobe.ac.samples.lcds/flex_app@1.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "fna2_pom/fna2_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/com.adobe.flexunit/flexunit", @@ -605,9 +653,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:maven/com.adobe.flexunit/flexunit", - "for_package": "pkg:maven/com.adobe.ac.samples.lcds/flex_app@1.0-SNAPSHOT", - "lockfile": "fna2_pom/fna2_pom.xml" + "dependency_uid": "pkg:maven/com.adobe.flexunit/flexunit?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/com.adobe.ac.samples.lcds/flex_app@1.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "fna2_pom/fna2_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/com.adobe.flexunit/flexunit-optional", @@ -617,9 +666,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:maven/com.adobe.flexunit/flexunit-optional", - "for_package": "pkg:maven/com.adobe.ac.samples.lcds/flex_app@1.0-SNAPSHOT", - "lockfile": "fna2_pom/fna2_pom.xml" + "dependency_uid": "pkg:maven/com.adobe.flexunit/flexunit-optional?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/com.adobe.ac.samples.lcds/flex_app@1.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "fna2_pom/fna2_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/com.adobe.ac.samples.lcds/blazeds_service_config@1.0-SNAPSHOT", @@ -629,9 +679,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/com.adobe.ac.samples.lcds/blazeds_service_config@1.0-SNAPSHOT", - "for_package": "pkg:maven/com.adobe.ac.samples.lcds/flex_app@1.0-SNAPSHOT", - "lockfile": "fna2_pom/fna2_pom.xml" + "dependency_uid": "pkg:maven/com.adobe.ac.samples.lcds/blazeds_service_config@1.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/com.adobe.ac.samples.lcds/flex_app@1.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "fna2_pom/fna2_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/com.adobe.ac.samples.lcds/flex_remoted_objects@1.0-SNAPSHOT", @@ -641,9 +692,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/com.adobe.ac.samples.lcds/flex_remoted_objects@1.0-SNAPSHOT", - "for_package": "pkg:maven/com.adobe.ac.samples.lcds/flex_app@1.0-SNAPSHOT", - "lockfile": "fna2_pom/fna2_pom.xml" + "dependency_uid": "pkg:maven/com.adobe.ac.samples.lcds/flex_remoted_objects@1.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/com.adobe.ac.samples.lcds/flex_app@1.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "fna2_pom/fna2_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/com.adobe.flex/compiler", @@ -653,9 +705,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:maven/com.adobe.flex/compiler", - "for_package": "pkg:maven/com.adobe.ac.samples.lcds/flex_app@1.0-SNAPSHOT", - "lockfile": "fna2_pom/fna2_pom.xml" + "dependency_uid": "pkg:maven/com.adobe.flex/compiler?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/com.adobe.ac.samples.lcds/flex_app@1.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "fna2_pom/fna2_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/com.adobe.flex.framework/flex-framework", @@ -665,9 +718,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:maven/com.adobe.flex.framework/flex-framework", - "for_package": "pkg:maven/com.adobe.ac.samples.lcds/flex_app@1.0-SNAPSHOT", - "lockfile": "fna2_pom/fna2_pom.xml" + "dependency_uid": "pkg:maven/com.adobe.flex.framework/flex-framework?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/com.adobe.ac.samples.lcds/flex_app@1.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "fna2_pom/fna2_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/com.adobe.cairngorm/cairngorm", @@ -677,9 +731,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:maven/com.adobe.cairngorm/cairngorm", - "for_package": "pkg:maven/com.adobe.ac.samples.lcds/flex_app@1.0-SNAPSHOT", - "lockfile": "fna2_pom/fna2_pom.xml" + "dependency_uid": "pkg:maven/com.adobe.cairngorm/cairngorm?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/com.adobe.ac.samples.lcds/flex_app@1.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "fna2_pom/fna2_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/com.adobe.cairngorm/cairngorm-enterprise", @@ -689,9 +744,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:maven/com.adobe.cairngorm/cairngorm-enterprise", - "for_package": "pkg:maven/com.adobe.ac.samples.lcds/flex_app@1.0-SNAPSHOT", - "lockfile": "fna2_pom/fna2_pom.xml" + "dependency_uid": "pkg:maven/com.adobe.cairngorm/cairngorm-enterprise?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/com.adobe.ac.samples.lcds/flex_app@1.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "fna2_pom/fna2_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/com.adobe.lcds/fds", @@ -701,9 +757,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:maven/com.adobe.lcds/fds", - "for_package": "pkg:maven/com.adobe.ac.samples.lcds/flex_app@1.0-SNAPSHOT", - "lockfile": "fna2_pom/fna2_pom.xml" + "dependency_uid": "pkg:maven/com.adobe.lcds/fds?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/com.adobe.ac.samples.lcds/flex_app@1.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "fna2_pom/fna2_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/com.adobe.ac.samples.bash/bash_blazeds_service_config@1.0", @@ -713,9 +770,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/com.adobe.ac.samples.bash/bash_blazeds_service_config@1.0", - "for_package": "pkg:maven/com.adobe.ac.samples.bash/bash_flex_app@1.0", - "lockfile": "fna_pom_project/fna_pom_project.xml" + "dependency_uid": "pkg:maven/com.adobe.ac.samples.bash/bash_blazeds_service_config@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/com.adobe.ac.samples.bash/bash_flex_app@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "fna_pom_project/fna_pom_project.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/com.adobe.ac.samples.bash/bash_flex_remoted_objects@1.0", @@ -725,9 +783,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/com.adobe.ac.samples.bash/bash_flex_remoted_objects@1.0", - "for_package": "pkg:maven/com.adobe.ac.samples.bash/bash_flex_app@1.0", - "lockfile": "fna_pom_project/fna_pom_project.xml" + "dependency_uid": "pkg:maven/com.adobe.ac.samples.bash/bash_flex_remoted_objects@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/com.adobe.ac.samples.bash/bash_flex_app@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "fna_pom_project/fna_pom_project.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/com.adobe.flex/compiler", @@ -737,9 +796,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:maven/com.adobe.flex/compiler", - "for_package": "pkg:maven/com.adobe.ac.samples.bash/bash_flex_app@1.0", - "lockfile": "fna_pom_project/fna_pom_project.xml" + "dependency_uid": "pkg:maven/com.adobe.flex/compiler?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/com.adobe.ac.samples.bash/bash_flex_app@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "fna_pom_project/fna_pom_project.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/com.adobe.flex.framework/flex-framework", @@ -749,9 +809,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:maven/com.adobe.flex.framework/flex-framework", - "for_package": "pkg:maven/com.adobe.ac.samples.bash/bash_flex_app@1.0", - "lockfile": "fna_pom_project/fna_pom_project.xml" + "dependency_uid": "pkg:maven/com.adobe.flex.framework/flex-framework?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/com.adobe.ac.samples.bash/bash_flex_app@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "fna_pom_project/fna_pom_project.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/com.adobe.cairngorm/cairngorm", @@ -761,9 +822,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:maven/com.adobe.cairngorm/cairngorm", - "for_package": "pkg:maven/com.adobe.ac.samples.bash/bash_flex_app@1.0", - "lockfile": "fna_pom_project/fna_pom_project.xml" + "dependency_uid": "pkg:maven/com.adobe.cairngorm/cairngorm?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/com.adobe.ac.samples.bash/bash_flex_app@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "fna_pom_project/fna_pom_project.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/com.adobe.flexunit/flexunit", @@ -773,9 +835,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:maven/com.adobe.flexunit/flexunit", - "for_package": "pkg:maven/com.adobe.ac.samples.bash/bash_flex_app@1.0", - "lockfile": "fna_pom_project/fna_pom_project.xml" + "dependency_uid": "pkg:maven/com.adobe.flexunit/flexunit?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/com.adobe.ac.samples.bash/bash_flex_app@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "fna_pom_project/fna_pom_project.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/info.flex-mojos/testing-support", @@ -785,9 +848,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:maven/info.flex-mojos/testing-support", - "for_package": "pkg:maven/com.adobe.ac.samples.bash/bash_flex_app@1.0", - "lockfile": "fna_pom_project/fna_pom_project.xml" + "dependency_uid": "pkg:maven/info.flex-mojos/testing-support?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/com.adobe.ac.samples.bash/bash_flex_app@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "fna_pom_project/fna_pom_project.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/com.myco.foo/common-dependencies@1.1", @@ -797,9 +861,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/com.myco.foo/common-dependencies@1.1", - "for_package": "pkg:maven/com.myco.foo.bar.baz/baz-bar-parent@1.0", - "lockfile": "foo-pom/foo-pom.xml" + "dependency_uid": "pkg:maven/com.myco.foo/common-dependencies@1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/com.myco.foo.bar.baz/baz-bar-parent@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "foo-pom/foo-pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.springframework.boot/spring-boot-dependencies@1.4.2.RELEASE", @@ -809,9 +874,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.springframework.boot/spring-boot-dependencies@1.4.2.RELEASE", - "for_package": "pkg:maven/com.myco.foo.bar.baz/baz-bar-parent@1.0", - "lockfile": "foo-pom/foo-pom.xml" + "dependency_uid": "pkg:maven/org.springframework.boot/spring-boot-dependencies@1.4.2.RELEASE?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/com.myco.foo.bar.baz/baz-bar-parent@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "foo-pom/foo-pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.springframework.cloud/spring-cloud-dependencies@Camden.SR5", @@ -821,9 +887,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.springframework.cloud/spring-cloud-dependencies@Camden.SR5", - "for_package": "pkg:maven/com.myco.foo.bar.baz/baz-bar-parent@1.0", - "lockfile": "foo-pom/foo-pom.xml" + "dependency_uid": "pkg:maven/org.springframework.cloud/spring-cloud-dependencies@Camden.SR5?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/com.myco.foo.bar.baz/baz-bar-parent@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "foo-pom/foo-pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/com.myco.foo.bar.baz/baz-bar@1.0", @@ -833,9 +900,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/com.myco.foo.bar.baz/baz-bar@1.0", - "for_package": "pkg:maven/com.myco.foo.bar.baz/baz-bar-parent@1.0", - "lockfile": "foo-pom/foo-pom.xml" + "dependency_uid": "pkg:maven/com.myco.foo.bar.baz/baz-bar@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/com.myco.foo.bar.baz/baz-bar-parent@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "foo-pom/foo-pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/com.myco.foo/common-dependencies@1.1", @@ -845,9 +913,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/com.myco.foo/common-dependencies@1.1", - "for_package": "pkg:maven/com.myco.foo.bar.baz/baz-bar-parent@1.0", - "lockfile": "foo-pom/foo-pom.xml" + "dependency_uid": "pkg:maven/com.myco.foo/common-dependencies@1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/com.myco.foo.bar.baz/baz-bar-parent@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "foo-pom/foo-pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.springframework.boot/spring-boot-dependencies@1.4.2.RELEASE", @@ -857,9 +926,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.springframework.boot/spring-boot-dependencies@1.4.2.RELEASE", - "for_package": "pkg:maven/com.myco.foo.bar.baz/baz-bar-parent@1.0", - "lockfile": "foo-pom/foo-pom.xml" + "dependency_uid": "pkg:maven/org.springframework.boot/spring-boot-dependencies@1.4.2.RELEASE?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/com.myco.foo.bar.baz/baz-bar-parent@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "foo-pom/foo-pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.springframework.boot/spring-boot-starter@1.4.2.RELEASE", @@ -869,9 +939,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.springframework.boot/spring-boot-starter@1.4.2.RELEASE", - "for_package": "pkg:maven/com.myco.foo.bar.baz/baz-bar-parent@1.0", - "lockfile": "foo-pom/foo-pom.xml" + "dependency_uid": "pkg:maven/org.springframework.boot/spring-boot-starter@1.4.2.RELEASE?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/com.myco.foo.bar.baz/baz-bar-parent@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "foo-pom/foo-pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.springframework.cloud/spring-cloud-dependencies@Camden.SR5", @@ -881,9 +952,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.springframework.cloud/spring-cloud-dependencies@Camden.SR5", - "for_package": "pkg:maven/com.myco.foo.bar.baz/baz-bar-parent@1.0", - "lockfile": "foo-pom/foo-pom.xml" + "dependency_uid": "pkg:maven/org.springframework.cloud/spring-cloud-dependencies@Camden.SR5?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/com.myco.foo.bar.baz/baz-bar-parent@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "foo-pom/foo-pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.apache.axis/axis@1.4", @@ -893,9 +965,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.apache.axis/axis@1.4", - "for_package": "pkg:maven/org.apache.geronimo.bundles/axis@1.4_1-SNAPSHOT", - "lockfile": "gero_pom/gero_pom.xml" + "dependency_uid": "pkg:maven/org.apache.axis/axis@1.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.apache.geronimo.bundles/axis@1.4_1-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "gero_pom/gero_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/com.idega.block.platform/com.idega.core", @@ -905,9 +978,10 @@ "is_optional": true, "is_resolved": null, "resolved_package": {}, - "dependency_uuid": "pkg:maven/com.idega.block.platform/com.idega.core", - "for_package": "pkg:maven/com.idega.block.addon/com.idega.block.contract@4.1.3-SNAPSHOT", - "lockfile": "idega_pom/idega_pom.xml" + "dependency_uid": "pkg:maven/com.idega.block.platform/com.idega.core?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/com.idega.block.addon/com.idega.block.contract@4.1.3-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "idega_pom/idega_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/com.idega.block.platform/com.idega.block.media", @@ -917,9 +991,10 @@ "is_optional": true, "is_resolved": null, "resolved_package": {}, - "dependency_uuid": "pkg:maven/com.idega.block.platform/com.idega.block.media", - "for_package": "pkg:maven/com.idega.block.addon/com.idega.block.contract@4.1.3-SNAPSHOT", - "lockfile": "idega_pom/idega_pom.xml" + "dependency_uid": "pkg:maven/com.idega.block.platform/com.idega.block.media?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/com.idega.block.addon/com.idega.block.contract@4.1.3-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "idega_pom/idega_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/itextpdf/itext-paulo", @@ -929,9 +1004,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:maven/itextpdf/itext-paulo", - "for_package": "pkg:maven/com.idega.block.addon/com.idega.block.contract@4.1.3-SNAPSHOT", - "lockfile": "idega_pom/idega_pom.xml" + "dependency_uid": "pkg:maven/itextpdf/itext-paulo?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/com.idega.block.addon/com.idega.block.contract@4.1.3-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "idega_pom/idega_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/itext/itext-xml", @@ -941,9 +1017,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:maven/itext/itext-xml", - "for_package": "pkg:maven/com.idega.block.addon/com.idega.block.contract@4.1.3-SNAPSHOT", - "lockfile": "idega_pom/idega_pom.xml" + "dependency_uid": "pkg:maven/itext/itext-xml?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/com.idega.block.addon/com.idega.block.contract@4.1.3-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "idega_pom/idega_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/relaxngDatatype/relaxngDatatype@20020414", @@ -953,9 +1030,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/relaxngDatatype/relaxngDatatype@20020414", - "for_package": "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4", - "lockfile": "jrecordbind-2.3.4/jrecordbind-2.3.4.pom" + "dependency_uid": "pkg:maven/relaxngDatatype/relaxngDatatype@20020414?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "jrecordbind-2.3.4/jrecordbind-2.3.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/com.sun.xml.bind/jaxb-impl@2.1.11", @@ -965,9 +1043,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/com.sun.xml.bind/jaxb-impl@2.1.11", - "for_package": "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4", - "lockfile": "jrecordbind-2.3.4/jrecordbind-2.3.4.pom" + "dependency_uid": "pkg:maven/com.sun.xml.bind/jaxb-impl@2.1.11?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "jrecordbind-2.3.4/jrecordbind-2.3.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/com.sun.xml.bind/jaxb-xjc@2.1.11", @@ -977,9 +1056,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/com.sun.xml.bind/jaxb-xjc@2.1.11", - "for_package": "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4", - "lockfile": "jrecordbind-2.3.4/jrecordbind-2.3.4.pom" + "dependency_uid": "pkg:maven/com.sun.xml.bind/jaxb-xjc@2.1.11?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "jrecordbind-2.3.4/jrecordbind-2.3.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/com.sun.xsom/xsom@20081112", @@ -989,9 +1069,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/com.sun.xsom/xsom@20081112", - "for_package": "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4", - "lockfile": "jrecordbind-2.3.4/jrecordbind-2.3.4.pom" + "dependency_uid": "pkg:maven/com.sun.xsom/xsom@20081112?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "jrecordbind-2.3.4/jrecordbind-2.3.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/javax.mail/mail@1.4", @@ -1001,9 +1082,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/javax.mail/mail@1.4", - "for_package": "pkg:maven/log4j/log4j@1.2.15", - "lockfile": "log4j/log4j-pom.xml" + "dependency_uid": "pkg:maven/javax.mail/mail@1.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/log4j/log4j@1.2.15?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "log4j/log4j-pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/javax.jms/jms@1.1", @@ -1013,9 +1095,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/javax.jms/jms@1.1", - "for_package": "pkg:maven/log4j/log4j@1.2.15", - "lockfile": "log4j/log4j-pom.xml" + "dependency_uid": "pkg:maven/javax.jms/jms@1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/log4j/log4j@1.2.15?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "log4j/log4j-pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/com.sun.jdmk/jmxtools@1.2.1", @@ -1025,9 +1108,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/com.sun.jdmk/jmxtools@1.2.1", - "for_package": "pkg:maven/log4j/log4j@1.2.15", - "lockfile": "log4j/log4j-pom.xml" + "dependency_uid": "pkg:maven/com.sun.jdmk/jmxtools@1.2.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/log4j/log4j@1.2.15?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "log4j/log4j-pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/com.sun.jmx/jmxri@1.2.1", @@ -1037,9 +1121,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/com.sun.jmx/jmxri@1.2.1", - "for_package": "pkg:maven/log4j/log4j@1.2.15", - "lockfile": "log4j/log4j-pom.xml" + "dependency_uid": "pkg:maven/com.sun.jmx/jmxri@1.2.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/log4j/log4j@1.2.15?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "log4j/log4j-pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/oro/oro@2.0.8", @@ -1049,9 +1134,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/oro/oro@2.0.8", - "for_package": "pkg:maven/log4j/log4j@1.2.15", - "lockfile": "log4j/log4j-pom.xml" + "dependency_uid": "pkg:maven/oro/oro@2.0.8?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/log4j/log4j@1.2.15?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "log4j/log4j-pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/junit/junit@3.8.1", @@ -1061,9 +1147,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/junit/junit@3.8.1", - "for_package": "pkg:maven/log4j/log4j@1.2.15", - "lockfile": "log4j/log4j-pom.xml" + "dependency_uid": "pkg:maven/junit/junit@3.8.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/log4j/log4j@1.2.15?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "log4j/log4j-pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/ch.qos.logback/logback-core", @@ -1073,9 +1160,10 @@ "is_optional": true, "is_resolved": null, "resolved_package": {}, - "dependency_uuid": "pkg:maven/ch.qos.logback/logback-core", - "for_package": "pkg:maven/ch.qos.logback/logback-access@0.2.5", - "lockfile": "logback-access/logback-access.pom" + "dependency_uid": "pkg:maven/ch.qos.logback/logback-core?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "logback-access/logback-access.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/tomcat/catalina", @@ -1085,9 +1173,10 @@ "is_optional": true, "is_resolved": null, "resolved_package": {}, - "dependency_uuid": "pkg:maven/tomcat/catalina", - "for_package": "pkg:maven/ch.qos.logback/logback-access@0.2.5", - "lockfile": "logback-access/logback-access.pom" + "dependency_uid": "pkg:maven/tomcat/catalina?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "logback-access/logback-access.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.mortbay.jetty/jetty", @@ -1097,9 +1186,10 @@ "is_optional": true, "is_resolved": null, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.mortbay.jetty/jetty", - "for_package": "pkg:maven/ch.qos.logback/logback-access@0.2.5", - "lockfile": "logback-access/logback-access.pom" + "dependency_uid": "pkg:maven/org.mortbay.jetty/jetty?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "logback-access/logback-access.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/com.caucho/resin", @@ -1109,9 +1199,10 @@ "is_optional": true, "is_resolved": null, "resolved_package": {}, - "dependency_uuid": "pkg:maven/com.caucho/resin", - "for_package": "pkg:maven/ch.qos.logback/logback-access@0.2.5", - "lockfile": "logback-access/logback-access.pom" + "dependency_uid": "pkg:maven/com.caucho/resin?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "logback-access/logback-access.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.mortbay.jetty/servlet-api-2.5", @@ -1121,9 +1212,10 @@ "is_optional": true, "is_resolved": null, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.mortbay.jetty/servlet-api-2.5", - "for_package": "pkg:maven/ch.qos.logback/logback-access@0.2.5", - "lockfile": "logback-access/logback-access.pom" + "dependency_uid": "pkg:maven/org.mortbay.jetty/servlet-api-2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "logback-access/logback-access.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.codehaus.plexus/plexus-container-default@1.0-alpha-7", @@ -1133,9 +1225,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.codehaus.plexus/plexus-container-default@1.0-alpha-7", - "for_package": "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4", - "lockfile": "plexus-interactivity-api-1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom" + "dependency_uid": "pkg:maven/org.codehaus.plexus/plexus-container-default@1.0-alpha-7?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "plexus-interactivity-api-1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/classworlds/classworlds@1.1-alpha-2", @@ -1145,9 +1238,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/classworlds/classworlds@1.1-alpha-2", - "for_package": "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4", - "lockfile": "plexus-interactivity-api-1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom" + "dependency_uid": "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "plexus-interactivity-api-1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/plexus/plexus-utils@1.0.2", @@ -1157,9 +1251,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/plexus/plexus-utils@1.0.2", - "for_package": "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4", - "lockfile": "plexus-interactivity-api-1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom" + "dependency_uid": "pkg:maven/plexus/plexus-utils@1.0.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "plexus-interactivity-api-1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/junit/junit@3.8.1", @@ -1169,9 +1264,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/junit/junit@3.8.1", - "for_package": "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4", - "lockfile": "plexus-interactivity-api-1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom" + "dependency_uid": "pkg:maven/junit/junit@3.8.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "plexus-interactivity-api-1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.apache.axis/axis@1.4", @@ -1181,9 +1277,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.apache.axis/axis@1.4", - "for_package": "pkg:maven/org.apache.geronimo.bundles/axis@1.4_1-SNAPSHOT", - "lockfile": "proper-pom/proper_pom.xml" + "dependency_uid": "pkg:maven/org.apache.axis/axis@1.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.apache.geronimo.bundles/axis@1.4_1-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "proper-pom/proper_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.apache.ant/ant@1.7.0", @@ -1193,9 +1290,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.apache.ant/ant@1.7.0", - "for_package": "pkg:maven/org.modeler/modeler@0.1", - "lockfile": "rel_pom/rel_pom.xml" + "dependency_uid": "pkg:maven/org.apache.ant/ant@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.modeler/modeler@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "rel_pom/rel_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/commons-lang/commons-lang@2.0", @@ -1205,9 +1303,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/commons-lang/commons-lang@2.0", - "for_package": "pkg:maven/org.modeler/modeler@0.1", - "lockfile": "rel_pom/rel_pom.xml" + "dependency_uid": "pkg:maven/commons-lang/commons-lang@2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.modeler/modeler@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "rel_pom/rel_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/commons-digester/commons-digester@2.0", @@ -1217,9 +1316,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/commons-digester/commons-digester@2.0", - "for_package": "pkg:maven/org.modeler/modeler@0.1", - "lockfile": "rel_pom/rel_pom.xml" + "dependency_uid": "pkg:maven/commons-digester/commons-digester@2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.modeler/modeler@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "rel_pom/rel_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/dom4j/dom4j@1.6.1", @@ -1229,9 +1329,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/dom4j/dom4j@1.6.1", - "for_package": "pkg:maven/org.modeler/modeler@0.1", - "lockfile": "rel_pom/rel_pom.xml" + "dependency_uid": "pkg:maven/dom4j/dom4j@1.6.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.modeler/modeler@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "rel_pom/rel_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.hibernate/hibernate-annotations@3.4.0.GA", @@ -1241,9 +1342,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.hibernate/hibernate-annotations@3.4.0.GA", - "for_package": "pkg:maven/org.modeler/modeler@0.1", - "lockfile": "rel_pom/rel_pom.xml" + "dependency_uid": "pkg:maven/org.hibernate/hibernate-annotations@3.4.0.GA?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.modeler/modeler@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "rel_pom/rel_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.hibernate/hibernate-entitymanager@3.4.0.GA", @@ -1253,9 +1355,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.hibernate/hibernate-entitymanager@3.4.0.GA", - "for_package": "pkg:maven/org.modeler/modeler@0.1", - "lockfile": "rel_pom/rel_pom.xml" + "dependency_uid": "pkg:maven/org.hibernate/hibernate-entitymanager@3.4.0.GA?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.modeler/modeler@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "rel_pom/rel_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.hibernate/ejb3-persistence@3.3.2.Beta1", @@ -1265,9 +1368,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.hibernate/ejb3-persistence@3.3.2.Beta1", - "for_package": "pkg:maven/org.modeler/modeler@0.1", - "lockfile": "rel_pom/rel_pom.xml" + "dependency_uid": "pkg:maven/org.hibernate/ejb3-persistence@3.3.2.Beta1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.modeler/modeler@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "rel_pom/rel_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.slf4j/slf4j-jcl@1.4.2", @@ -1277,9 +1381,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.slf4j/slf4j-jcl@1.4.2", - "for_package": "pkg:maven/org.modeler/modeler@0.1", - "lockfile": "rel_pom/rel_pom.xml" + "dependency_uid": "pkg:maven/org.slf4j/slf4j-jcl@1.4.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.modeler/modeler@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "rel_pom/rel_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/postgresql/postgresql@8.3-603.jdbc4", @@ -1289,9 +1394,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/postgresql/postgresql@8.3-603.jdbc4", - "for_package": "pkg:maven/org.modeler/modeler@0.1", - "lockfile": "rel_pom/rel_pom.xml" + "dependency_uid": "pkg:maven/postgresql/postgresql@8.3-603.jdbc4?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.modeler/modeler@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "rel_pom/rel_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.jboss.seam/jboss-seam@2.2.0.GA", @@ -1301,9 +1407,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.jboss.seam/jboss-seam@2.2.0.GA", - "for_package": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT", - "lockfile": "sea_pom/sea_pom.xml" + "dependency_uid": "pkg:maven/org.jboss.seam/jboss-seam@2.2.0.GA?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "sea_pom/sea_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.jboss.seam/jboss-seam-ioc@2.2.0.GA", @@ -1313,9 +1420,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.jboss.seam/jboss-seam-ioc@2.2.0.GA", - "for_package": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT", - "lockfile": "sea_pom/sea_pom.xml" + "dependency_uid": "pkg:maven/org.jboss.seam/jboss-seam-ioc@2.2.0.GA?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "sea_pom/sea_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.jboss.seam/jboss-seam-mail@2.2.0.GA", @@ -1325,9 +1433,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.jboss.seam/jboss-seam-mail@2.2.0.GA", - "for_package": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT", - "lockfile": "sea_pom/sea_pom.xml" + "dependency_uid": "pkg:maven/org.jboss.seam/jboss-seam-mail@2.2.0.GA?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "sea_pom/sea_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.jboss.seam/jboss-seam-pdf@2.2.0.GA", @@ -1337,9 +1446,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.jboss.seam/jboss-seam-pdf@2.2.0.GA", - "for_package": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT", - "lockfile": "sea_pom/sea_pom.xml" + "dependency_uid": "pkg:maven/org.jboss.seam/jboss-seam-pdf@2.2.0.GA?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "sea_pom/sea_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.jboss.seam/jboss-seam-remoting@2.2.0.GA", @@ -1349,9 +1459,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.jboss.seam/jboss-seam-remoting@2.2.0.GA", - "for_package": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT", - "lockfile": "sea_pom/sea_pom.xml" + "dependency_uid": "pkg:maven/org.jboss.seam/jboss-seam-remoting@2.2.0.GA?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "sea_pom/sea_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.jboss.seam/jboss-seam-resteasy@2.2.0.GA", @@ -1361,9 +1472,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.jboss.seam/jboss-seam-resteasy@2.2.0.GA", - "for_package": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT", - "lockfile": "sea_pom/sea_pom.xml" + "dependency_uid": "pkg:maven/org.jboss.seam/jboss-seam-resteasy@2.2.0.GA?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "sea_pom/sea_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.jboss.seam/jboss-seam-ui@2.2.0.GA", @@ -1373,9 +1485,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.jboss.seam/jboss-seam-ui@2.2.0.GA", - "for_package": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT", - "lockfile": "sea_pom/sea_pom.xml" + "dependency_uid": "pkg:maven/org.jboss.seam/jboss-seam-ui@2.2.0.GA?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "sea_pom/sea_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.jboss.seam/jboss-seam-debug@2.2.0.GA", @@ -1385,9 +1498,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.jboss.seam/jboss-seam-debug@2.2.0.GA", - "for_package": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT", - "lockfile": "sea_pom/sea_pom.xml" + "dependency_uid": "pkg:maven/org.jboss.seam/jboss-seam-debug@2.2.0.GA?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "sea_pom/sea_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.jboss.seam/jboss-seam-excel@2.2.0.GA", @@ -1397,9 +1511,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.jboss.seam/jboss-seam-excel@2.2.0.GA", - "for_package": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT", - "lockfile": "sea_pom/sea_pom.xml" + "dependency_uid": "pkg:maven/org.jboss.seam/jboss-seam-excel@2.2.0.GA?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "sea_pom/sea_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.jboss.seam/jboss-seam-jul@2.2.0.GA", @@ -1409,9 +1524,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.jboss.seam/jboss-seam-jul@2.2.0.GA", - "for_package": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT", - "lockfile": "sea_pom/sea_pom.xml" + "dependency_uid": "pkg:maven/org.jboss.seam/jboss-seam-jul@2.2.0.GA?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "sea_pom/sea_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.richfaces.framework/richfaces-api@3.3.1.GA", @@ -1421,9 +1537,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.richfaces.framework/richfaces-api@3.3.1.GA", - "for_package": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT", - "lockfile": "sea_pom/sea_pom.xml" + "dependency_uid": "pkg:maven/org.richfaces.framework/richfaces-api@3.3.1.GA?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "sea_pom/sea_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.richfaces.framework/richfaces-impl@3.3.1.GA", @@ -1433,9 +1550,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.richfaces.framework/richfaces-impl@3.3.1.GA", - "for_package": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT", - "lockfile": "sea_pom/sea_pom.xml" + "dependency_uid": "pkg:maven/org.richfaces.framework/richfaces-impl@3.3.1.GA?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "sea_pom/sea_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.richfaces.ui/richfaces-ui@3.3.1.GA", @@ -1445,9 +1563,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.richfaces.ui/richfaces-ui@3.3.1.GA", - "for_package": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT", - "lockfile": "sea_pom/sea_pom.xml" + "dependency_uid": "pkg:maven/org.richfaces.ui/richfaces-ui@3.3.1.GA?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "sea_pom/sea_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.jbpm/jbpm-jpdl@3.2.2", @@ -1457,9 +1576,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.jbpm/jbpm-jpdl@3.2.2", - "for_package": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT", - "lockfile": "sea_pom/sea_pom.xml" + "dependency_uid": "pkg:maven/org.jbpm/jbpm-jpdl@3.2.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "sea_pom/sea_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/jboss/jboss-cache@1.4.1.SP9", @@ -1469,9 +1589,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/jboss/jboss-cache@1.4.1.SP9", - "for_package": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT", - "lockfile": "sea_pom/sea_pom.xml" + "dependency_uid": "pkg:maven/jboss/jboss-cache@1.4.1.SP9?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "sea_pom/sea_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.jboss.resteasy/resteasy-jaxrs@1.1-RC2", @@ -1481,9 +1602,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.jboss.resteasy/resteasy-jaxrs@1.1-RC2", - "for_package": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT", - "lockfile": "sea_pom/sea_pom.xml" + "dependency_uid": "pkg:maven/org.jboss.resteasy/resteasy-jaxrs@1.1-RC2?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "sea_pom/sea_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.jboss.resteasy/resteasy-jaxb-provider@1.1-RC2", @@ -1493,9 +1615,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.jboss.resteasy/resteasy-jaxb-provider@1.1-RC2", - "for_package": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT", - "lockfile": "sea_pom/sea_pom.xml" + "dependency_uid": "pkg:maven/org.jboss.resteasy/resteasy-jaxb-provider@1.1-RC2?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "sea_pom/sea_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.hibernate/hibernate-core@3.3.1.GA", @@ -1505,9 +1628,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.hibernate/hibernate-core@3.3.1.GA", - "for_package": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT", - "lockfile": "sea_pom/sea_pom.xml" + "dependency_uid": "pkg:maven/org.hibernate/hibernate-core@3.3.1.GA?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "sea_pom/sea_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.hibernate/hibernate-search@3.1.1.GA", @@ -1517,9 +1641,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.hibernate/hibernate-search@3.1.1.GA", - "for_package": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT", - "lockfile": "sea_pom/sea_pom.xml" + "dependency_uid": "pkg:maven/org.hibernate/hibernate-search@3.1.1.GA?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "sea_pom/sea_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/javax.transaction/jta@1.1", @@ -1529,9 +1654,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/javax.transaction/jta@1.1", - "for_package": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT", - "lockfile": "sea_pom/sea_pom.xml" + "dependency_uid": "pkg:maven/javax.transaction/jta@1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "sea_pom/sea_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.codehaus.groovy/groovy-all@1.6.3", @@ -1541,9 +1667,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.codehaus.groovy/groovy-all@1.6.3", - "for_package": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT", - "lockfile": "sea_pom/sea_pom.xml" + "dependency_uid": "pkg:maven/org.codehaus.groovy/groovy-all@1.6.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "sea_pom/sea_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.drools/drools-core@5.0.1", @@ -1553,9 +1680,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.drools/drools-core@5.0.1", - "for_package": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT", - "lockfile": "sea_pom/sea_pom.xml" + "dependency_uid": "pkg:maven/org.drools/drools-core@5.0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "sea_pom/sea_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.jboss.el/jboss-el@1.0_02.CR4", @@ -1565,9 +1693,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.jboss.el/jboss-el@1.0_02.CR4", - "for_package": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT", - "lockfile": "sea_pom/sea_pom.xml" + "dependency_uid": "pkg:maven/org.jboss.el/jboss-el@1.0_02.CR4?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "sea_pom/sea_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.tuckey/urlrewritefilter@3.1.0", @@ -1577,9 +1706,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.tuckey/urlrewritefilter@3.1.0", - "for_package": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT", - "lockfile": "sea_pom/sea_pom.xml" + "dependency_uid": "pkg:maven/org.tuckey/urlrewritefilter@3.1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "sea_pom/sea_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.richfaces.samples/glassX@3.3.1.GA", @@ -1589,9 +1719,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.richfaces.samples/glassX@3.3.1.GA", - "for_package": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT", - "lockfile": "sea_pom/sea_pom.xml" + "dependency_uid": "pkg:maven/org.richfaces.samples/glassX@3.3.1.GA?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "sea_pom/sea_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.richfaces.samples/darkX@3.3.1.GA", @@ -1601,9 +1732,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.richfaces.samples/darkX@3.3.1.GA", - "for_package": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT", - "lockfile": "sea_pom/sea_pom.xml" + "dependency_uid": "pkg:maven/org.richfaces.samples/darkX@3.3.1.GA?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "sea_pom/sea_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.drools/drools-api@5.0.1", @@ -1613,9 +1745,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.drools/drools-api@5.0.1", - "for_package": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT", - "lockfile": "sea_pom/sea_pom.xml" + "dependency_uid": "pkg:maven/org.drools/drools-api@5.0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "sea_pom/sea_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.hibernate/hibernate-commons-annotations@3.3.0.ga", @@ -1625,9 +1758,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.hibernate/hibernate-commons-annotations@3.3.0.ga", - "for_package": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT", - "lockfile": "sea_pom/sea_pom.xml" + "dependency_uid": "pkg:maven/org.hibernate/hibernate-commons-annotations@3.3.0.ga?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "sea_pom/sea_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.antlr/antlr@3.2", @@ -1637,9 +1771,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.antlr/antlr@3.2", - "for_package": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT", - "lockfile": "sea_pom/sea_pom.xml" + "dependency_uid": "pkg:maven/org.antlr/antlr@3.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "sea_pom/sea_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.antlr/antlr-runtime@3.2", @@ -1649,9 +1784,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.antlr/antlr-runtime@3.2", - "for_package": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT", - "lockfile": "sea_pom/sea_pom.xml" + "dependency_uid": "pkg:maven/org.antlr/antlr-runtime@3.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "sea_pom/sea_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/commons-digester/commons-digester@1.8.1", @@ -1661,9 +1797,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/commons-digester/commons-digester@1.8.1", - "for_package": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT", - "lockfile": "sea_pom/sea_pom.xml" + "dependency_uid": "pkg:maven/commons-digester/commons-digester@1.8.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "sea_pom/sea_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/commons-lang/commons-lang@2.3", @@ -1673,9 +1810,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/commons-lang/commons-lang@2.3", - "for_package": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT", - "lockfile": "sea_pom/sea_pom.xml" + "dependency_uid": "pkg:maven/commons-lang/commons-lang@2.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "sea_pom/sea_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/com.h2database/h2@1.1.118", @@ -1685,9 +1823,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/com.h2database/h2@1.1.118", - "for_package": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT", - "lockfile": "sea_pom/sea_pom.xml" + "dependency_uid": "pkg:maven/com.h2database/h2@1.1.118?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "sea_pom/sea_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/mysql/mysql-connector-java@5.1.10", @@ -1697,9 +1836,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/mysql/mysql-connector-java@5.1.10", - "for_package": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT", - "lockfile": "sea_pom/sea_pom.xml" + "dependency_uid": "pkg:maven/mysql/mysql-connector-java@5.1.10?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "sea_pom/sea_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.apache.openejb/openejb-core@3.1.2", @@ -1709,9 +1849,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.apache.openejb/openejb-core@3.1.2", - "for_package": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT", - "lockfile": "sea_pom/sea_pom.xml" + "dependency_uid": "pkg:maven/org.apache.openejb/openejb-core@3.1.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "sea_pom/sea_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/junit/junit@4.7", @@ -1721,9 +1862,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/junit/junit@4.7", - "for_package": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT", - "lockfile": "sea_pom/sea_pom.xml" + "dependency_uid": "pkg:maven/junit/junit@4.7?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "sea_pom/sea_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.testng/testng@5.9", @@ -1733,9 +1875,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.testng/testng@5.9", - "for_package": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT", - "lockfile": "sea_pom/sea_pom.xml" + "dependency_uid": "pkg:maven/org.testng/testng@5.9?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "sea_pom/sea_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/junit/junit@3.8.1", @@ -1745,9 +1888,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/junit/junit@3.8.1", - "for_package": "pkg:maven/org.apache.geronimo.specs/specs@1.3", - "lockfile": "specs-1.3/specs-1.3.pom" + "dependency_uid": "pkg:maven/junit/junit@3.8.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "specs-1.3/specs-1.3.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/aopalliance/aopalliance@1.0", @@ -1757,9 +1901,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/aopalliance/aopalliance@1.0", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/asm/asm@2.2.3", @@ -1769,9 +1914,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/asm/asm@2.2.3", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/asm/asm@2.2.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/asm/asm-commons@2.2.3", @@ -1781,9 +1927,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/asm/asm-commons@2.2.3", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/asm/asm-commons@2.2.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/asm/asm-util@2.2.3", @@ -1793,9 +1940,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/asm/asm-util@2.2.3", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/asm/asm-util@2.2.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/aspectj/aspectjrt@1.5.4", @@ -1805,9 +1953,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/aspectj/aspectjrt@1.5.4", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/aspectj/aspectjrt@1.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/aspectj/aspectjweaver@1.5.4", @@ -1817,9 +1966,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/aspectj/aspectjweaver@1.5.4", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/aspectj/aspectjweaver@1.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/backport-util-concurrent/backport-util-concurrent@3.0", @@ -1829,9 +1979,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/backport-util-concurrent/backport-util-concurrent@3.0", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/backport-util-concurrent/backport-util-concurrent@3.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/c3p0/c3p0@0.9.1.2", @@ -1841,9 +1992,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/c3p0/c3p0@0.9.1.2", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/c3p0/c3p0@0.9.1.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/cglib/cglib-nodep@2.1_3", @@ -1853,9 +2005,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/cglib/cglib-nodep@2.1_3", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/cglib/cglib-nodep@2.1_3?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/commons-attributes/commons-attributes-api@2.2", @@ -1865,9 +2018,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/commons-attributes/commons-attributes-api@2.2", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/commons-attributes/commons-attributes-api@2.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/commons-attributes/commons-attributes-compiler@2.2", @@ -1877,9 +2031,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/commons-attributes/commons-attributes-compiler@2.2", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/commons-attributes/commons-attributes-compiler@2.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/commons-beanutils/commons-beanutils@1.7.0", @@ -1889,9 +2044,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/commons-beanutils/commons-beanutils@1.7.0", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/commons-beanutils/commons-beanutils@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/commons-collections/commons-collections@3.2", @@ -1901,9 +2057,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/commons-collections/commons-collections@3.2", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/commons-collections/commons-collections@3.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/commons-dbcp/commons-dbcp@1.2.2", @@ -1913,9 +2070,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/commons-dbcp/commons-dbcp@1.2.2", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/commons-dbcp/commons-dbcp@1.2.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/commons-fileupload/commons-fileupload@1.2", @@ -1925,9 +2083,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/commons-fileupload/commons-fileupload@1.2", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/commons-fileupload/commons-fileupload@1.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/commons-httpclient/commons-httpclient@3.1", @@ -1937,9 +2096,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/commons-httpclient/commons-httpclient@3.1", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/commons-httpclient/commons-httpclient@3.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/commons-logging/commons-logging@1.1.1", @@ -1949,9 +2109,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/commons-logging/commons-logging@1.1.1", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/commons-logging/commons-logging@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/commons-pool/commons-pool@1.3", @@ -1961,9 +2122,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/commons-pool/commons-pool@1.3", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/commons-pool/commons-pool@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/com.bea.wlplatform/commonj-twm@1.1", @@ -1973,9 +2135,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/com.bea.wlplatform/commonj-twm@1.1", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/com.bea.wlplatform/commonj-twm@1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/com.experlog/xapool@1.5.0", @@ -1985,9 +2148,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/com.experlog/xapool@1.5.0", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/com.experlog/xapool@1.5.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.apache.ibatis/ibatis-sqlmap@2.3.0.677", @@ -1997,9 +2161,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.apache.ibatis/ibatis-sqlmap@2.3.0.677", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/org.apache.ibatis/ibatis-sqlmap@2.3.0.677?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/com.jamonapi/jamon@2.4", @@ -2009,9 +2174,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/com.jamonapi/jamon@2.4", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/com.jamonapi/jamon@2.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/com.lowagie/itext@2.0.7", @@ -2021,9 +2187,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/com.lowagie/itext@2.0.7", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/com.lowagie/itext@2.0.7?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/com.oracle.toplink/toplink@10.1.3", @@ -2033,9 +2200,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/com.oracle.toplink/toplink@10.1.3", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/com.oracle.toplink/toplink@10.1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/com.oracle/toplink-essentials@2.41", @@ -2045,9 +2213,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/com.oracle/toplink-essentials@2.41", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/com.oracle/toplink-essentials@2.41?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/com.oracle/oc4j@1.0", @@ -2057,9 +2226,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/com.oracle/oc4j@1.0", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/com.oracle/oc4j@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/freemarker/freemarker@2.3.12", @@ -2069,9 +2239,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/freemarker/freemarker@2.3.12", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/freemarker/freemarker@2.3.12?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/groovy/groovy@1.5.5", @@ -2081,9 +2252,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/groovy/groovy@1.5.5", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/groovy/groovy@1.5.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/hessian/hessian@3.1.3", @@ -2093,9 +2265,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/hessian/hessian@3.1.3", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/hessian/hessian@3.1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/jasperreports/jasperreports@2.0.5", @@ -2105,9 +2278,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/jasperreports/jasperreports@2.0.5", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/jasperreports/jasperreports@2.0.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/jexcelapi/jxl@2.6.6", @@ -2117,9 +2291,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/jexcelapi/jxl@2.6.6", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/jexcelapi/jxl@2.6.6?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/jotm/jotm@2.0.10", @@ -2129,9 +2304,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/jotm/jotm@2.0.10", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/jotm/jotm@2.0.10?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/jruby/jruby-bin@1.0.1", @@ -2141,9 +2317,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/jruby/jruby-bin@1.0.1", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/jruby/jruby-bin@1.0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/junit/junit@3.8.1", @@ -2153,9 +2330,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/junit/junit@3.8.1", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/junit/junit@3.8.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/log4j/log4j@1.2.15", @@ -2165,9 +2343,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/log4j/log4j@1.2.15", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/log4j/log4j@1.2.15?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/net.sf.ehcache/ehcache@1.4.1", @@ -2177,9 +2356,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/net.sf.ehcache/ehcache@1.4.1", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/net.sf.ehcache/ehcache@1.4.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.apache.axis/axis@1.4", @@ -2189,9 +2369,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.apache.axis/axis@1.4", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/org.apache.axis/axis@1.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.apache.tiles/tiles-api@2.0.5", @@ -2201,9 +2382,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.apache.tiles/tiles-api@2.0.5", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/org.apache.tiles/tiles-api@2.0.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.apache.tiles/tiles-core@2.0.5", @@ -2213,9 +2395,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.apache.tiles/tiles-core@2.0.5", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/org.apache.tiles/tiles-core@2.0.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.apache.tiles/tiles-jsp@2.0.5", @@ -2225,9 +2408,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.apache.tiles/tiles-jsp@2.0.5", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/org.apache.tiles/tiles-jsp@2.0.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.beanshell/bsh@2.0b4", @@ -2237,9 +2421,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.beanshell/bsh@2.0b4", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/org.beanshell/bsh@2.0b4?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.hibernate/hibernate@3.2.6.ga", @@ -2249,9 +2434,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.hibernate/hibernate@3.2.6.ga", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/org.hibernate/hibernate@3.2.6.ga?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.hibernate/hibernate-entitymanager@3.3.2.ga", @@ -2261,9 +2447,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.hibernate/hibernate-entitymanager@3.3.2.ga", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/org.hibernate/hibernate-entitymanager@3.3.2.ga?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/poi/poi@3.0.1", @@ -2273,9 +2460,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/poi/poi@3.0.1", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/poi/poi@3.0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/opensymphony/quartz-all@1.6.0", @@ -2285,9 +2473,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/opensymphony/quartz-all@1.6.0", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/opensymphony/quartz-all@1.6.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/struts/struts@1.2.9", @@ -2297,9 +2486,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/struts/struts@1.2.9", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/struts/struts@1.2.9?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/taglibs/standard@1.1.2", @@ -2309,9 +2499,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/taglibs/standard@1.1.2", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/taglibs/standard@1.1.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/tomcat/catalina@5.5.23", @@ -2321,9 +2512,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/tomcat/catalina@5.5.23", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/tomcat/catalina@5.5.23?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/velocity/velocity@1.5", @@ -2333,9 +2525,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/velocity/velocity@1.5", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/velocity/velocity@1.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/velocity-tools/velocity-tools-generic@1.4", @@ -2345,9 +2538,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/velocity-tools/velocity-tools-generic@1.4", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/velocity-tools/velocity-tools-generic@1.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/velocity-tools/velocity-tools-view@1.4", @@ -2357,9 +2551,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/velocity-tools/velocity-tools-view@1.4", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/velocity-tools/velocity-tools-view@1.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/javax.activation/activation@1.1", @@ -2369,9 +2564,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/javax.activation/activation@1.1", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/javax.activation/activation@1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/javax.ejb/ejb@3.0", @@ -2381,9 +2577,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/javax.ejb/ejb@3.0", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/javax.ejb/ejb@3.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/javax.faces/jsf-api@1.1", @@ -2393,9 +2590,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/javax.faces/jsf-api@1.1", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/javax.faces/jsf-api@1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/javax.jdo/jdo2-api@2.0", @@ -2405,9 +2603,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/javax.jdo/jdo2-api@2.0", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/javax.jdo/jdo2-api@2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/javax.jms/jms@1.1", @@ -2417,9 +2616,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/javax.jms/jms@1.1", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/javax.jms/jms@1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/javax.mail/mail@1.4", @@ -2429,9 +2629,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/javax.mail/mail@1.4", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/javax.mail/mail@1.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/javax.persistence/persistence-api@1.0", @@ -2441,9 +2642,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/javax.persistence/persistence-api@1.0", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/javax.persistence/persistence-api@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/javax.portlet/portlet-api@1.0", @@ -2453,9 +2655,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/javax.portlet/portlet-api@1.0", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/javax.portlet/portlet-api@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/javax.resource/connector-api@1.5", @@ -2465,9 +2668,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/javax.resource/connector-api@1.5", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/javax.resource/connector-api@1.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/javax.servlet/jsp-api@2.0", @@ -2477,9 +2681,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/javax.servlet/jsp-api@2.0", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/javax.servlet/jsp-api@2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/javax.servlet/jstl@1.1.0", @@ -2489,9 +2694,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/javax.servlet/jstl@1.1.0", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/javax.servlet/jstl@1.1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/javax.servlet/servlet-api@2.4", @@ -2501,9 +2707,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/javax.servlet/servlet-api@2.4", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/javax.servlet/servlet-api@2.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/javax.transaction/jta@1.1", @@ -2513,9 +2720,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/javax.transaction/jta@1.1", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/javax.transaction/jta@1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/javax.xml/jaxrpc-api@1.1", @@ -2525,9 +2733,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/javax.xml/jaxrpc-api@1.1", - "for_package": "pkg:maven/org.springframework/spring@2.5.4", - "lockfile": "spring-2.5.4/spring-2.5.4.pom" + "dependency_uid": "pkg:maven/javax.xml/jaxrpc-api@1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/aopalliance/aopalliance@1.0", @@ -2537,9 +2746,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/aopalliance/aopalliance@1.0", - "for_package": "pkg:maven/org.springframework/spring-orm@2.5.3", - "lockfile": "spring-orm-2.5.3/spring-orm-2.5.3.pom" + "dependency_uid": "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-orm-2.5.3/spring-orm-2.5.3.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/commons-logging/commons-logging@1.1.1", @@ -2549,9 +2759,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/commons-logging/commons-logging@1.1.1", - "for_package": "pkg:maven/org.springframework/spring-orm@2.5.3", - "lockfile": "spring-orm-2.5.3/spring-orm-2.5.3.pom" + "dependency_uid": "pkg:maven/commons-logging/commons-logging@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-orm-2.5.3/spring-orm-2.5.3.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/com.oracle/toplink-essentials@2.41", @@ -2561,9 +2772,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/com.oracle/toplink-essentials@2.41", - "for_package": "pkg:maven/org.springframework/spring-orm@2.5.3", - "lockfile": "spring-orm-2.5.3/spring-orm-2.5.3.pom" + "dependency_uid": "pkg:maven/com.oracle/toplink-essentials@2.41?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-orm-2.5.3/spring-orm-2.5.3.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/com.oracle.toplink/toplink@10.1.3", @@ -2573,9 +2785,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/com.oracle.toplink/toplink@10.1.3", - "for_package": "pkg:maven/org.springframework/spring-orm@2.5.3", - "lockfile": "spring-orm-2.5.3/spring-orm-2.5.3.pom" + "dependency_uid": "pkg:maven/com.oracle.toplink/toplink@10.1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-orm-2.5.3/spring-orm-2.5.3.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.apache.ibatis/ibatis-sqlmap@2.3.0", @@ -2585,9 +2798,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.apache.ibatis/ibatis-sqlmap@2.3.0", - "for_package": "pkg:maven/org.springframework/spring-orm@2.5.3", - "lockfile": "spring-orm-2.5.3/spring-orm-2.5.3.pom" + "dependency_uid": "pkg:maven/org.apache.ibatis/ibatis-sqlmap@2.3.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-orm-2.5.3/spring-orm-2.5.3.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.hibernate/hibernate@3.2.6.ga", @@ -2597,9 +2811,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.hibernate/hibernate@3.2.6.ga", - "for_package": "pkg:maven/org.springframework/spring-orm@2.5.3", - "lockfile": "spring-orm-2.5.3/spring-orm-2.5.3.pom" + "dependency_uid": "pkg:maven/org.hibernate/hibernate@3.2.6.ga?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-orm-2.5.3/spring-orm-2.5.3.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.hibernate/hibernate-entitymanager@3.3.1.ga", @@ -2609,9 +2824,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.hibernate/hibernate-entitymanager@3.3.1.ga", - "for_package": "pkg:maven/org.springframework/spring-orm@2.5.3", - "lockfile": "spring-orm-2.5.3/spring-orm-2.5.3.pom" + "dependency_uid": "pkg:maven/org.hibernate/hibernate-entitymanager@3.3.1.ga?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-orm-2.5.3/spring-orm-2.5.3.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.springframework/spring-aop@2.5.3", @@ -2621,9 +2837,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.springframework/spring-aop@2.5.3", - "for_package": "pkg:maven/org.springframework/spring-orm@2.5.3", - "lockfile": "spring-orm-2.5.3/spring-orm-2.5.3.pom" + "dependency_uid": "pkg:maven/org.springframework/spring-aop@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-orm-2.5.3/spring-orm-2.5.3.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.springframework/spring-beans@2.5.3", @@ -2633,9 +2850,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.springframework/spring-beans@2.5.3", - "for_package": "pkg:maven/org.springframework/spring-orm@2.5.3", - "lockfile": "spring-orm-2.5.3/spring-orm-2.5.3.pom" + "dependency_uid": "pkg:maven/org.springframework/spring-beans@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-orm-2.5.3/spring-orm-2.5.3.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.springframework/spring-context@2.5.3", @@ -2645,9 +2863,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.springframework/spring-context@2.5.3", - "for_package": "pkg:maven/org.springframework/spring-orm@2.5.3", - "lockfile": "spring-orm-2.5.3/spring-orm-2.5.3.pom" + "dependency_uid": "pkg:maven/org.springframework/spring-context@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-orm-2.5.3/spring-orm-2.5.3.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.springframework/spring-core@2.5.3", @@ -2657,9 +2876,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.springframework/spring-core@2.5.3", - "for_package": "pkg:maven/org.springframework/spring-orm@2.5.3", - "lockfile": "spring-orm-2.5.3/spring-orm-2.5.3.pom" + "dependency_uid": "pkg:maven/org.springframework/spring-core@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-orm-2.5.3/spring-orm-2.5.3.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.springframework/spring-jdbc@2.5.3", @@ -2669,9 +2889,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.springframework/spring-jdbc@2.5.3", - "for_package": "pkg:maven/org.springframework/spring-orm@2.5.3", - "lockfile": "spring-orm-2.5.3/spring-orm-2.5.3.pom" + "dependency_uid": "pkg:maven/org.springframework/spring-jdbc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-orm-2.5.3/spring-orm-2.5.3.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.springframework/spring-tx@2.5.3", @@ -2681,9 +2902,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.springframework/spring-tx@2.5.3", - "for_package": "pkg:maven/org.springframework/spring-orm@2.5.3", - "lockfile": "spring-orm-2.5.3/spring-orm-2.5.3.pom" + "dependency_uid": "pkg:maven/org.springframework/spring-tx@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-orm-2.5.3/spring-orm-2.5.3.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.springframework/spring-web@2.5.3", @@ -2693,9 +2915,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.springframework/spring-web@2.5.3", - "for_package": "pkg:maven/org.springframework/spring-orm@2.5.3", - "lockfile": "spring-orm-2.5.3/spring-orm-2.5.3.pom" + "dependency_uid": "pkg:maven/org.springframework/spring-web@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-orm-2.5.3/spring-orm-2.5.3.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/javax.jdo/jdo2-api@2.0", @@ -2705,9 +2928,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/javax.jdo/jdo2-api@2.0", - "for_package": "pkg:maven/org.springframework/spring-orm@2.5.3", - "lockfile": "spring-orm-2.5.3/spring-orm-2.5.3.pom" + "dependency_uid": "pkg:maven/javax.jdo/jdo2-api@2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-orm-2.5.3/spring-orm-2.5.3.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/javax.persistence/persistence-api@1.0", @@ -2717,9 +2941,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/javax.persistence/persistence-api@1.0", - "for_package": "pkg:maven/org.springframework/spring-orm@2.5.3", - "lockfile": "spring-orm-2.5.3/spring-orm-2.5.3.pom" + "dependency_uid": "pkg:maven/javax.persistence/persistence-api@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-orm-2.5.3/spring-orm-2.5.3.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/commons-attributes/commons-attributes-api@2.2", @@ -2729,9 +2954,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/commons-attributes/commons-attributes-api@2.2", - "for_package": "pkg:maven/org.springframework/spring-webmvc@2.5.3", - "lockfile": "spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom" + "dependency_uid": "pkg:maven/commons-attributes/commons-attributes-api@2.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/commons-attributes/commons-attributes-compiler@2.2", @@ -2741,9 +2967,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/commons-attributes/commons-attributes-compiler@2.2", - "for_package": "pkg:maven/org.springframework/spring-webmvc@2.5.3", - "lockfile": "spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom" + "dependency_uid": "pkg:maven/commons-attributes/commons-attributes-compiler@2.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/commons-logging/commons-logging@1.1.1", @@ -2753,9 +2980,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/commons-logging/commons-logging@1.1.1", - "for_package": "pkg:maven/org.springframework/spring-webmvc@2.5.3", - "lockfile": "spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom" + "dependency_uid": "pkg:maven/commons-logging/commons-logging@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/com.lowagie/itext@2.0.7", @@ -2765,9 +2993,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/com.lowagie/itext@2.0.7", - "for_package": "pkg:maven/org.springframework/spring-webmvc@2.5.3", - "lockfile": "spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom" + "dependency_uid": "pkg:maven/com.lowagie/itext@2.0.7?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/freemarker/freemarker@2.3.12", @@ -2777,9 +3006,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/freemarker/freemarker@2.3.12", - "for_package": "pkg:maven/org.springframework/spring-webmvc@2.5.3", - "lockfile": "spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom" + "dependency_uid": "pkg:maven/freemarker/freemarker@2.3.12?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/jasperreports/jasperreports@2.0.2", @@ -2789,9 +3019,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/jasperreports/jasperreports@2.0.2", - "for_package": "pkg:maven/org.springframework/spring-webmvc@2.5.3", - "lockfile": "spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom" + "dependency_uid": "pkg:maven/jasperreports/jasperreports@2.0.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/jexcelapi/jxl@2.6.6", @@ -2801,9 +3032,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/jexcelapi/jxl@2.6.6", - "for_package": "pkg:maven/org.springframework/spring-webmvc@2.5.3", - "lockfile": "spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom" + "dependency_uid": "pkg:maven/jexcelapi/jxl@2.6.6?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.apache.tiles/tiles-api@2.0.5", @@ -2813,9 +3045,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.apache.tiles/tiles-api@2.0.5", - "for_package": "pkg:maven/org.springframework/spring-webmvc@2.5.3", - "lockfile": "spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom" + "dependency_uid": "pkg:maven/org.apache.tiles/tiles-api@2.0.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.apache.tiles/tiles-core@2.0.5", @@ -2825,9 +3058,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.apache.tiles/tiles-core@2.0.5", - "for_package": "pkg:maven/org.springframework/spring-webmvc@2.5.3", - "lockfile": "spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom" + "dependency_uid": "pkg:maven/org.apache.tiles/tiles-core@2.0.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.apache.tiles/tiles-jsp@2.0.5", @@ -2837,9 +3071,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.apache.tiles/tiles-jsp@2.0.5", - "for_package": "pkg:maven/org.springframework/spring-webmvc@2.5.3", - "lockfile": "spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom" + "dependency_uid": "pkg:maven/org.apache.tiles/tiles-jsp@2.0.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/poi/poi@3.0.1", @@ -2849,9 +3084,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/poi/poi@3.0.1", - "for_package": "pkg:maven/org.springframework/spring-webmvc@2.5.3", - "lockfile": "spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom" + "dependency_uid": "pkg:maven/poi/poi@3.0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/velocity/velocity@1.5", @@ -2861,9 +3097,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/velocity/velocity@1.5", - "for_package": "pkg:maven/org.springframework/spring-webmvc@2.5.3", - "lockfile": "spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom" + "dependency_uid": "pkg:maven/velocity/velocity@1.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/velocity-tools/velocity-tools-generic@1.4", @@ -2873,9 +3110,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/velocity-tools/velocity-tools-generic@1.4", - "for_package": "pkg:maven/org.springframework/spring-webmvc@2.5.3", - "lockfile": "spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom" + "dependency_uid": "pkg:maven/velocity-tools/velocity-tools-generic@1.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/velocity-tools/velocity-tools-view@1.4", @@ -2885,9 +3123,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/velocity-tools/velocity-tools-view@1.4", - "for_package": "pkg:maven/org.springframework/spring-webmvc@2.5.3", - "lockfile": "spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom" + "dependency_uid": "pkg:maven/velocity-tools/velocity-tools-view@1.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.springframework/spring-beans@2.5.3", @@ -2897,9 +3136,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.springframework/spring-beans@2.5.3", - "for_package": "pkg:maven/org.springframework/spring-webmvc@2.5.3", - "lockfile": "spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom" + "dependency_uid": "pkg:maven/org.springframework/spring-beans@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.springframework/spring-context@2.5.3", @@ -2909,9 +3149,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.springframework/spring-context@2.5.3", - "for_package": "pkg:maven/org.springframework/spring-webmvc@2.5.3", - "lockfile": "spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom" + "dependency_uid": "pkg:maven/org.springframework/spring-context@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.springframework/spring-context-support@2.5.3", @@ -2921,9 +3162,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.springframework/spring-context-support@2.5.3", - "for_package": "pkg:maven/org.springframework/spring-webmvc@2.5.3", - "lockfile": "spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom" + "dependency_uid": "pkg:maven/org.springframework/spring-context-support@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.springframework/spring-core@2.5.3", @@ -2933,9 +3175,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.springframework/spring-core@2.5.3", - "for_package": "pkg:maven/org.springframework/spring-webmvc@2.5.3", - "lockfile": "spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom" + "dependency_uid": "pkg:maven/org.springframework/spring-core@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.springframework/spring-web@2.5.3", @@ -2945,9 +3188,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.springframework/spring-web@2.5.3", - "for_package": "pkg:maven/org.springframework/spring-webmvc@2.5.3", - "lockfile": "spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom" + "dependency_uid": "pkg:maven/org.springframework/spring-web@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/javax.servlet/jsp-api@2.0", @@ -2957,9 +3201,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/javax.servlet/jsp-api@2.0", - "for_package": "pkg:maven/org.springframework/spring-webmvc@2.5.3", - "lockfile": "spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom" + "dependency_uid": "pkg:maven/javax.servlet/jsp-api@2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/javax.servlet/jstl@1.1.0", @@ -2969,9 +3214,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/javax.servlet/jstl@1.1.0", - "for_package": "pkg:maven/org.springframework/spring-webmvc@2.5.3", - "lockfile": "spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom" + "dependency_uid": "pkg:maven/javax.servlet/jstl@1.1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/javax.servlet/servlet-api@2.4", @@ -2981,9 +3227,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/javax.servlet/servlet-api@2.4", - "for_package": "pkg:maven/org.springframework/spring-webmvc@2.5.3", - "lockfile": "spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom" + "dependency_uid": "pkg:maven/javax.servlet/servlet-api@2.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.mockito/mockito-all@1.8.1", @@ -2993,9 +3240,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.mockito/mockito-all@1.8.1", - "for_package": "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1", - "lockfile": "startup-trigger-plugin-0.1/startup-trigger-plugin-0.1.pom" + "dependency_uid": "pkg:maven/org.mockito/mockito-all@1.8.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "startup-trigger-plugin-0.1/startup-trigger-plugin-0.1.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/com.intel.gpe.clients/gpe-clients-all@2.0.4-SNAPSHOT", @@ -3005,9 +3253,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/com.intel.gpe.clients/gpe-clients-all@2.0.4-SNAPSHOT", - "for_package": "pkg:maven/de.fzj.unicore.rcp/eclipseSequencePlugin@0.0.1-SNAPSHOT", - "lockfile": "uni_pom/uni_pom.xml" + "dependency_uid": "pkg:maven/com.intel.gpe.clients/gpe-clients-all@2.0.4-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/de.fzj.unicore.rcp/eclipseSequencePlugin@0.0.1-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "uni_pom/uni_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/com.intel.gpe.clients/gpe-gridbean-api@2.0.5-SNAPSHOT", @@ -3017,9 +3266,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/com.intel.gpe.clients/gpe-gridbean-api@2.0.5-SNAPSHOT", - "for_package": "pkg:maven/de.fzj.unicore.rcp/eclipseSequencePlugin@0.0.1-SNAPSHOT", - "lockfile": "uni_pom/uni_pom.xml" + "dependency_uid": "pkg:maven/com.intel.gpe.clients/gpe-gridbean-api@2.0.5-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/de.fzj.unicore.rcp/eclipseSequencePlugin@0.0.1-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "uni_pom/uni_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/com.intel.gpe/gpe-utils@2.0.5-SNAPSHOT", @@ -3029,9 +3279,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/com.intel.gpe/gpe-utils@2.0.5-SNAPSHOT", - "for_package": "pkg:maven/de.fzj.unicore.rcp/eclipseSequencePlugin@0.0.1-SNAPSHOT", - "lockfile": "uni_pom/uni_pom.xml" + "dependency_uid": "pkg:maven/com.intel.gpe/gpe-utils@2.0.5-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/de.fzj.unicore.rcp/eclipseSequencePlugin@0.0.1-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "uni_pom/uni_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/com.intel.gpe.clients/gpe-gridbeans-swt@0.0.2-SNAPSHOT", @@ -3041,9 +3292,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/com.intel.gpe.clients/gpe-gridbeans-swt@0.0.2-SNAPSHOT", - "for_package": "pkg:maven/de.fzj.unicore.rcp/eclipseSequencePlugin@0.0.1-SNAPSHOT", - "lockfile": "uni_pom/uni_pom.xml" + "dependency_uid": "pkg:maven/com.intel.gpe.clients/gpe-gridbeans-swt@0.0.2-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/de.fzj.unicore.rcp/eclipseSequencePlugin@0.0.1-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "uni_pom/uni_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/junit/junit@3.8.1", @@ -3053,9 +3305,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/junit/junit@3.8.1", - "for_package": "pkg:maven/de.fzj.unicore.rcp/eclipseSequencePlugin@0.0.1-SNAPSHOT", - "lockfile": "uni_pom/uni_pom.xml" + "dependency_uid": "pkg:maven/junit/junit@3.8.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/de.fzj.unicore.rcp/eclipseSequencePlugin@0.0.1-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "uni_pom/uni_pom.xml", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/junit/junit", @@ -3065,9 +3318,10 @@ "is_optional": true, "is_resolved": null, "resolved_package": {}, - "dependency_uuid": "pkg:maven/junit/junit", - "for_package": "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6", - "lockfile": "xml-format-maven-plugin-3.0.6/xml-format-maven-plugin-3.0.6.pom" + "dependency_uid": "pkg:maven/junit/junit?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "xml-format-maven-plugin-3.0.6/xml-format-maven-plugin-3.0.6.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.hamcrest/hamcrest-core", @@ -3077,9 +3331,10 @@ "is_optional": true, "is_resolved": null, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.hamcrest/hamcrest-core", - "for_package": "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6", - "lockfile": "xml-format-maven-plugin-3.0.6/xml-format-maven-plugin-3.0.6.pom" + "dependency_uid": "pkg:maven/org.hamcrest/hamcrest-core?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "xml-format-maven-plugin-3.0.6/xml-format-maven-plugin-3.0.6.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.mockito/mockito-core", @@ -3089,9 +3344,10 @@ "is_optional": true, "is_resolved": null, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.mockito/mockito-core", - "for_package": "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6", - "lockfile": "xml-format-maven-plugin-3.0.6/xml-format-maven-plugin-3.0.6.pom" + "dependency_uid": "pkg:maven/org.mockito/mockito-core?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "xml-format-maven-plugin-3.0.6/xml-format-maven-plugin-3.0.6.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.apache.maven/maven-plugin-api", @@ -3101,9 +3357,10 @@ "is_optional": true, "is_resolved": null, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.apache.maven/maven-plugin-api", - "for_package": "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6", - "lockfile": "xml-format-maven-plugin-3.0.6/xml-format-maven-plugin-3.0.6.pom" + "dependency_uid": "pkg:maven/org.apache.maven/maven-plugin-api?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "xml-format-maven-plugin-3.0.6/xml-format-maven-plugin-3.0.6.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.apache.maven.plugin-tools/maven-plugin-annotations", @@ -3113,9 +3370,10 @@ "is_optional": true, "is_resolved": null, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.apache.maven.plugin-tools/maven-plugin-annotations", - "for_package": "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6", - "lockfile": "xml-format-maven-plugin-3.0.6/xml-format-maven-plugin-3.0.6.pom" + "dependency_uid": "pkg:maven/org.apache.maven.plugin-tools/maven-plugin-annotations?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "xml-format-maven-plugin-3.0.6/xml-format-maven-plugin-3.0.6.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.codehaus.plexus/plexus-utils", @@ -3125,9 +3383,10 @@ "is_optional": true, "is_resolved": null, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.codehaus.plexus/plexus-utils", - "for_package": "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6", - "lockfile": "xml-format-maven-plugin-3.0.6/xml-format-maven-plugin-3.0.6.pom" + "dependency_uid": "pkg:maven/org.codehaus.plexus/plexus-utils?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "xml-format-maven-plugin-3.0.6/xml-format-maven-plugin-3.0.6.pom", + "datasource_id": "maven_pom" }, { "purl": "pkg:maven/org.dom4j/dom4j@2.0.1", @@ -3137,9 +3396,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:maven/org.dom4j/dom4j@2.0.1", - "for_package": "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6", - "lockfile": "xml-format-maven-plugin-3.0.6/xml-format-maven-plugin-3.0.6.pom" + "dependency_uid": "pkg:maven/org.dom4j/dom4j@2.0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "xml-format-maven-plugin-3.0.6/xml-format-maven-plugin-3.0.6.pom", + "datasource_id": "maven_pom" } ], "packages": [ @@ -3169,24 +3429,21 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.activemq/activemq-camel@5.4.2?classifier=sources" ], "extra_data": {}, - "package_uuid": "pkg:maven/org.apache.activemq/activemq-camel@5.4.2", - "package_data_files": [ + "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/activemq/activemq-camel/5.4.2/", + "repository_download_url": "https://repo1.maven.org/maven2/org/apache/activemq/activemq-camel/5.4.2/activemq-camel-5.4.2.jar", + "api_data_url": "https://repo1.maven.org/maven2/org/apache/activemq/activemq-camel/5.4.2/activemq-camel-5.4.2.pom", + "package_uid": "pkg:maven/org.apache.activemq/activemq-camel@5.4.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "activemq-camel/activemq-camel-pom.xml" ], - "files": [ - "activemq-camel/activemq-camel-pom.xml", - "activemq-camel/activemq-camel-pom.xml.json", - "activemq-camel/activemq-camel-pom.xml.package.json" + "datasource_ids": [ + "maven_pom" ], - "purl": "pkg:maven/org.apache.activemq/activemq-camel@5.4.2", - "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/activemq/activemq-camel/5.4.2/", - "repository_download_url": "https://repo1.maven.org/maven2/org/apache/activemq/activemq-camel/5.4.2/activemq-camel-5.4.2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/activemq/activemq-camel/5.4.2/activemq-camel-5.4.2.pom" + "purl": "pkg:maven/org.apache.activemq/activemq-camel@5.4.2" }, { "type": "maven", @@ -3214,24 +3471,21 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/adarwin/adarwin@1.0?classifier=sources" ], "extra_data": {}, - "package_uuid": "pkg:maven/adarwin/adarwin@1.0", - "package_data_files": [ + "repository_homepage_url": "https://repo1.maven.org/maven2/adarwin/adarwin/1.0/", + "repository_download_url": "https://repo1.maven.org/maven2/adarwin/adarwin/1.0/adarwin-1.0.jar", + "api_data_url": "https://repo1.maven.org/maven2/adarwin/adarwin/1.0/adarwin-1.0.pom", + "package_uid": "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "adarwin-1.0/adarwin-1.0.pom" ], - "files": [ - "adarwin-1.0/adarwin-1.0.pom", - "adarwin-1.0/adarwin-1.0.pom.json", - "adarwin-1.0/adarwin-1.0.pom.package.json" + "datasource_ids": [ + "maven_pom" ], - "purl": "pkg:maven/adarwin/adarwin@1.0", - "repository_homepage_url": "https://repo1.maven.org/maven2/adarwin/adarwin/1.0/", - "repository_download_url": "https://repo1.maven.org/maven2/adarwin/adarwin/1.0/adarwin-1.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/adarwin/adarwin/1.0/adarwin-1.0.pom" + "purl": "pkg:maven/adarwin/adarwin@1.0" }, { "type": "maven", @@ -3259,24 +3513,21 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.ant/ant-jai@1.7.0?classifier=sources" ], "extra_data": {}, - "package_uuid": "pkg:maven/org.apache.ant/ant-jai@1.7.0", - "package_data_files": [ + "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/ant/ant-jai/1.7.0/", + "repository_download_url": "https://repo1.maven.org/maven2/org/apache/ant/ant-jai/1.7.0/ant-jai-1.7.0.jar", + "api_data_url": "https://repo1.maven.org/maven2/org/apache/ant/ant-jai/1.7.0/ant-jai-1.7.0.pom", + "package_uid": "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "ant-jai-1.7.0/ant-jai-1.7.0.pom" ], - "files": [ - "ant-jai-1.7.0/ant-jai-1.7.0.pom", - "ant-jai-1.7.0/ant-jai-1.7.0.pom.json", - "ant-jai-1.7.0/ant-jai-1.7.0.pom.package.json" + "datasource_ids": [ + "maven_pom" ], - "purl": "pkg:maven/org.apache.ant/ant-jai@1.7.0", - "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/ant/ant-jai/1.7.0/", - "repository_download_url": "https://repo1.maven.org/maven2/org/apache/ant/ant-jai/1.7.0/ant-jai-1.7.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/ant/ant-jai/1.7.0/ant-jai-1.7.0.pom" + "purl": "pkg:maven/org.apache.ant/ant-jai@1.7.0" }, { "type": "maven", @@ -3304,24 +3555,21 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.ant/ant-jsch@1.7.0?classifier=sources" ], "extra_data": {}, - "package_uuid": "pkg:maven/org.apache.ant/ant-jsch@1.7.0", - "package_data_files": [ + "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/ant/ant-jsch/1.7.0/", + "repository_download_url": "https://repo1.maven.org/maven2/org/apache/ant/ant-jsch/1.7.0/ant-jsch-1.7.0.jar", + "api_data_url": "https://repo1.maven.org/maven2/org/apache/ant/ant-jsch/1.7.0/ant-jsch-1.7.0.pom", + "package_uid": "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "ant-jsch-1.7.0/ant-jsch-1.7.0.pom" ], - "files": [ - "ant-jsch-1.7.0/ant-jsch-1.7.0.pom", - "ant-jsch-1.7.0/ant-jsch-1.7.0.pom.json", - "ant-jsch-1.7.0/ant-jsch-1.7.0.pom.package.json" + "datasource_ids": [ + "maven_pom" ], - "purl": "pkg:maven/org.apache.ant/ant-jsch@1.7.0", - "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/ant/ant-jsch/1.7.0/", - "repository_download_url": "https://repo1.maven.org/maven2/org/apache/ant/ant-jsch/1.7.0/ant-jsch-1.7.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/ant/ant-jsch/1.7.0/ant-jsch-1.7.0.pom" + "purl": "pkg:maven/org.apache.ant/ant-jsch@1.7.0" }, { "type": "maven", @@ -3346,7 +3594,7 @@ "code_view_url": null, "vcs_url": null, "copyright": null, - "license_expression": "public-domain AND gpl-1.0-plus", + "license_expression": "(public-domain AND gpl-1.0-plus) AND unknown", "declared_license": [ { "name": "Public Domain", @@ -3362,24 +3610,21 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/aopalliance/aopalliance@1.0?classifier=sources" ], "extra_data": {}, - "package_uuid": "pkg:maven/aopalliance/aopalliance@1.0", - "package_data_files": [ + "repository_homepage_url": "https://repo1.maven.org/maven2/aopalliance/aopalliance/1.0/", + "repository_download_url": "https://repo1.maven.org/maven2/aopalliance/aopalliance/1.0/aopalliance-1.0.jar", + "api_data_url": "https://repo1.maven.org/maven2/aopalliance/aopalliance/1.0/aopalliance-1.0.pom", + "package_uid": "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "aopalliance-1.0/aopalliance-1.0.pom" ], - "files": [ - "aopalliance-1.0/aopalliance-1.0.pom", - "aopalliance-1.0/aopalliance-1.0.pom.json", - "aopalliance-1.0/aopalliance-1.0.pom.package.json" + "datasource_ids": [ + "maven_pom" ], - "purl": "pkg:maven/aopalliance/aopalliance@1.0", - "repository_homepage_url": "https://repo1.maven.org/maven2/aopalliance/aopalliance/1.0/", - "repository_download_url": "https://repo1.maven.org/maven2/aopalliance/aopalliance/1.0/aopalliance-1.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/aopalliance/aopalliance/1.0/aopalliance-1.0.pom" + "purl": "pkg:maven/aopalliance/aopalliance@1.0" }, { "type": "maven", @@ -3407,24 +3652,21 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/bcel/bcel@5.1?classifier=sources" ], "extra_data": {}, - "package_uuid": "pkg:maven/bcel/bcel@5.1", - "package_data_files": [ + "repository_homepage_url": "https://repo1.maven.org/maven2/bcel/bcel/5.1/", + "repository_download_url": "https://repo1.maven.org/maven2/bcel/bcel/5.1/bcel-5.1.jar", + "api_data_url": "https://repo1.maven.org/maven2/bcel/bcel/5.1/bcel-5.1.pom", + "package_uid": "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "bcel-5.1/bcel-5.1.pom" ], - "files": [ - "bcel-5.1/bcel-5.1.pom", - "bcel-5.1/bcel-5.1.pom.json", - "bcel-5.1/bcel-5.1.pom.package.json" + "datasource_ids": [ + "maven_pom" ], - "purl": "pkg:maven/bcel/bcel@5.1", - "repository_homepage_url": "https://repo1.maven.org/maven2/bcel/bcel/5.1/", - "repository_download_url": "https://repo1.maven.org/maven2/bcel/bcel/5.1/bcel-5.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/bcel/bcel/5.1/bcel-5.1.pom" + "purl": "pkg:maven/bcel/bcel@5.1" }, { "type": "maven", @@ -3481,24 +3723,21 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/classworlds/classworlds@1.1-alpha-2?classifier=sources" ], "extra_data": {}, - "package_uuid": "pkg:maven/classworlds/classworlds@1.1-alpha-2", - "package_data_files": [ + "repository_homepage_url": "https://repo1.maven.org/maven2/classworlds/classworlds/1.1-alpha-2/", + "repository_download_url": "https://repo1.maven.org/maven2/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.jar", + "api_data_url": "https://repo1.maven.org/maven2/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.pom", + "package_uid": "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "classworlds-1.1-alpha2/classworlds-1.1-alpha-2.pom" ], - "files": [ - "classworlds-1.1-alpha2/classworlds-1.1-alpha-2.pom", - "classworlds-1.1-alpha2/classworlds-1.1-alpha-2.pom.json", - "classworlds-1.1-alpha2/classworlds-1.1-alpha-2.pom.package.json" + "datasource_ids": [ + "maven_pom" ], - "purl": "pkg:maven/classworlds/classworlds@1.1-alpha-2", - "repository_homepage_url": "https://repo1.maven.org/maven2/classworlds/classworlds/1.1-alpha-2/", - "repository_download_url": "https://repo1.maven.org/maven2/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.jar", - "api_data_url": "https://repo1.maven.org/maven2/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.pom" + "purl": "pkg:maven/classworlds/classworlds@1.1-alpha-2" }, { "type": "maven", @@ -3576,24 +3815,21 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/commons-fileupload/commons-fileupload@1.0?classifier=sources" ], "extra_data": {}, - "package_uuid": "pkg:maven/commons-fileupload/commons-fileupload@1.0", - "package_data_files": [ + "repository_homepage_url": "https://repo1.maven.org/maven2/commons-fileupload/commons-fileupload/1.0/", + "repository_download_url": "https://repo1.maven.org/maven2/commons-fileupload/commons-fileupload/1.0/commons-fileupload-1.0.jar", + "api_data_url": "https://repo1.maven.org/maven2/commons-fileupload/commons-fileupload/1.0/commons-fileupload-1.0.pom", + "package_uid": "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "commons-fileupload-1.0/commons-fileupload-1.0.pom" ], - "files": [ - "commons-fileupload-1.0/commons-fileupload-1.0.pom", - "commons-fileupload-1.0/commons-fileupload-1.0.pom.json", - "commons-fileupload-1.0/commons-fileupload-1.0.pom.package.json" + "datasource_ids": [ + "maven_pom" ], - "purl": "pkg:maven/commons-fileupload/commons-fileupload@1.0", - "repository_homepage_url": "https://repo1.maven.org/maven2/commons-fileupload/commons-fileupload/1.0/", - "repository_download_url": "https://repo1.maven.org/maven2/commons-fileupload/commons-fileupload/1.0/commons-fileupload-1.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/commons-fileupload/commons-fileupload/1.0/commons-fileupload-1.0.pom" + "purl": "pkg:maven/commons-fileupload/commons-fileupload@1.0" }, { "type": "maven", @@ -3843,7 +4079,7 @@ "code_view_url": "http://svn.apache.org/viewcvs.cgi", "vcs_url": "svn+http://svn.apache.org/repos/asf/jakarta/commons/proper/validator/trunk", "copyright": null, - "license_expression": "apache-2.0", + "license_expression": "(apache-2.0 AND apache-2.0) AND unknown", "declared_license": [ { "name": "The Apache Software License, Version 2.0", @@ -3853,24 +4089,21 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/commons-validator/commons-validator@1.2.0?classifier=sources" ], "extra_data": {}, - "package_uuid": "pkg:maven/commons-validator/commons-validator@1.2.0", - "package_data_files": [ + "repository_homepage_url": "https://repo1.maven.org/maven2/commons-validator/commons-validator/1.2.0/", + "repository_download_url": "https://repo1.maven.org/maven2/commons-validator/commons-validator/1.2.0/commons-validator-1.2.0.jar", + "api_data_url": "https://repo1.maven.org/maven2/commons-validator/commons-validator/1.2.0/commons-validator-1.2.0.pom", + "package_uid": "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "commons-validator-1.2.0/commons-validator-1.2.0.pom" ], - "files": [ - "commons-validator-1.2.0/commons-validator-1.2.0.pom", - "commons-validator-1.2.0/commons-validator-1.2.0.pom.json", - "commons-validator-1.2.0/commons-validator-1.2.0.pom.package.json" + "datasource_ids": [ + "maven_pom" ], - "purl": "pkg:maven/commons-validator/commons-validator@1.2.0", - "repository_homepage_url": "https://repo1.maven.org/maven2/commons-validator/commons-validator/1.2.0/", - "repository_download_url": "https://repo1.maven.org/maven2/commons-validator/commons-validator/1.2.0/commons-validator-1.2.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/commons-validator/commons-validator/1.2.0/commons-validator-1.2.0.pom" + "purl": "pkg:maven/commons-validator/commons-validator@1.2.0" }, { "type": "maven", @@ -3898,24 +4131,21 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.dbwebx/tools@0.0.1.SNAPSHOT?classifier=sources" ], "extra_data": {}, - "package_uuid": "pkg:maven/org.dbwebx/tools@0.0.1.SNAPSHOT", - "package_data_files": [ + "repository_homepage_url": "https://repo1.maven.org/maven2/org/dbwebx/tools/0.0.1.SNAPSHOT/", + "repository_download_url": "https://repo1.maven.org/maven2/org/dbwebx/tools/0.0.1.SNAPSHOT/tools-0.0.1.SNAPSHOT.jar", + "api_data_url": "https://repo1.maven.org/maven2/org/dbwebx/tools/0.0.1.SNAPSHOT/tools-0.0.1.SNAPSHOT.pom", + "package_uid": "pkg:maven/org.dbwebx/tools@0.0.1.SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "dbwebx_pom/dbwebx_pom.xml" ], - "files": [ - "dbwebx_pom/dbwebx_pom.xml", - "dbwebx_pom/dbwebx_pom.xml.json", - "dbwebx_pom/dbwebx_pom.xml.package.json" + "datasource_ids": [ + "maven_pom" ], - "purl": "pkg:maven/org.dbwebx/tools@0.0.1.SNAPSHOT", - "repository_homepage_url": "https://repo1.maven.org/maven2/org/dbwebx/tools/0.0.1.SNAPSHOT/", - "repository_download_url": "https://repo1.maven.org/maven2/org/dbwebx/tools/0.0.1.SNAPSHOT/tools-0.0.1.SNAPSHOT.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/dbwebx/tools/0.0.1.SNAPSHOT/tools-0.0.1.SNAPSHOT.pom" + "purl": "pkg:maven/org.dbwebx/tools@0.0.1.SNAPSHOT" }, { "type": "maven", @@ -3979,24 +4209,21 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/easyconf/easyconf@0.9.0?classifier=sources" ], "extra_data": {}, - "package_uuid": "pkg:maven/easyconf/easyconf@0.9.0", - "package_data_files": [ + "repository_homepage_url": "https://repo1.maven.org/maven2/easyconf/easyconf/0.9.0/", + "repository_download_url": "https://repo1.maven.org/maven2/easyconf/easyconf/0.9.0/easyconf-0.9.0.jar", + "api_data_url": "https://repo1.maven.org/maven2/easyconf/easyconf/0.9.0/easyconf-0.9.0.pom", + "package_uid": "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "easyconf-0.9.0/easyconf-0.9.0.pom" ], - "files": [ - "easyconf-0.9.0/easyconf-0.9.0.pom", - "easyconf-0.9.0/easyconf-0.9.0.pom.json", - "easyconf-0.9.0/easyconf-0.9.0.pom.package.json" + "datasource_ids": [ + "maven_pom" ], - "purl": "pkg:maven/easyconf/easyconf@0.9.0", - "repository_homepage_url": "https://repo1.maven.org/maven2/easyconf/easyconf/0.9.0/", - "repository_download_url": "https://repo1.maven.org/maven2/easyconf/easyconf/0.9.0/easyconf-0.9.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/easyconf/easyconf/0.9.0/easyconf-0.9.0.pom" + "purl": "pkg:maven/easyconf/easyconf@0.9.0" }, { "type": "maven", @@ -4050,7 +4277,7 @@ "code_view_url": "https://svn.codehaus.org/mojo/tags/findbugs-maven-plugin-1.1.1", "vcs_url": "svn+https://svn.codehaus.org/mojo/tags/findbugs-maven-plugin-1.1.1", "copyright": null, - "license_expression": "mit", + "license_expression": "unknown", "declared_license": [ { "name": "MIT", @@ -4060,24 +4287,21 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?classifier=sources" ], "extra_data": {}, - "package_uuid": "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1", - "package_data_files": [ + "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/findbugs-maven-plugin/1.1.1/", + "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/findbugs-maven-plugin/1.1.1/findbugs-maven-plugin-1.1.1.jar", + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/findbugs-maven-plugin/1.1.1/findbugs-maven-plugin-1.1.1.pom", + "package_uid": "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "findbugs-maven-plugin-1.1.1/findbugs-maven-plugin-1.1.1.pom" ], - "files": [ - "findbugs-maven-plugin-1.1.1/findbugs-maven-plugin-1.1.1.pom", - "findbugs-maven-plugin-1.1.1/findbugs-maven-plugin-1.1.1.pom.json", - "findbugs-maven-plugin-1.1.1/findbugs-maven-plugin-1.1.1.pom.package.json" + "datasource_ids": [ + "maven_pom" ], - "purl": "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1", - "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/findbugs-maven-plugin/1.1.1/", - "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/findbugs-maven-plugin/1.1.1/findbugs-maven-plugin-1.1.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/findbugs-maven-plugin/1.1.1/findbugs-maven-plugin-1.1.1.pom" + "purl": "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1" }, { "type": "maven", @@ -4105,24 +4329,21 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/com.adobe.ac.samples.lcds/flex_app@1.0-SNAPSHOT?classifier=sources" ], "extra_data": {}, - "package_uuid": "pkg:maven/com.adobe.ac.samples.lcds/flex_app@1.0-SNAPSHOT", - "package_data_files": [ + "repository_homepage_url": "https://repo1.maven.org/maven2/com/adobe/ac/samples/lcds/flex_app/1.0-SNAPSHOT/", + "repository_download_url": "https://repo1.maven.org/maven2/com/adobe/ac/samples/lcds/flex_app/1.0-SNAPSHOT/flex_app-1.0-SNAPSHOT.jar", + "api_data_url": "https://repo1.maven.org/maven2/com/adobe/ac/samples/lcds/flex_app/1.0-SNAPSHOT/flex_app-1.0-SNAPSHOT.pom", + "package_uid": "pkg:maven/com.adobe.ac.samples.lcds/flex_app@1.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "fna2_pom/fna2_pom.xml" ], - "files": [ - "fna2_pom/fna2_pom.xml", - "fna2_pom/fna2_pom.xml.json", - "fna2_pom/fna2_pom.xml.package.json" + "datasource_ids": [ + "maven_pom" ], - "purl": "pkg:maven/com.adobe.ac.samples.lcds/flex_app@1.0-SNAPSHOT", - "repository_homepage_url": "https://repo1.maven.org/maven2/com/adobe/ac/samples/lcds/flex_app/1.0-SNAPSHOT/", - "repository_download_url": "https://repo1.maven.org/maven2/com/adobe/ac/samples/lcds/flex_app/1.0-SNAPSHOT/flex_app-1.0-SNAPSHOT.jar", - "api_data_url": "https://repo1.maven.org/maven2/com/adobe/ac/samples/lcds/flex_app/1.0-SNAPSHOT/flex_app-1.0-SNAPSHOT.pom" + "purl": "pkg:maven/com.adobe.ac.samples.lcds/flex_app@1.0-SNAPSHOT" }, { "type": "maven", @@ -4150,24 +4371,21 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/com.adobe.ac.samples.bash/bash_flex_app@1.0?classifier=sources" ], "extra_data": {}, - "package_uuid": "pkg:maven/com.adobe.ac.samples.bash/bash_flex_app@1.0", - "package_data_files": [ + "repository_homepage_url": "https://repo1.maven.org/maven2/com/adobe/ac/samples/bash/bash_flex_app/1.0/", + "repository_download_url": "https://repo1.maven.org/maven2/com/adobe/ac/samples/bash/bash_flex_app/1.0/bash_flex_app-1.0.jar", + "api_data_url": "https://repo1.maven.org/maven2/com/adobe/ac/samples/bash/bash_flex_app/1.0/bash_flex_app-1.0.pom", + "package_uid": "pkg:maven/com.adobe.ac.samples.bash/bash_flex_app@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "fna_pom_project/fna_pom_project.xml" ], - "files": [ - "fna_pom_project/fna_pom_project.xml", - "fna_pom_project/fna_pom_project.xml.json", - "fna_pom_project/fna_pom_project.xml.package.json" + "datasource_ids": [ + "maven_pom" ], - "purl": "pkg:maven/com.adobe.ac.samples.bash/bash_flex_app@1.0", - "repository_homepage_url": "https://repo1.maven.org/maven2/com/adobe/ac/samples/bash/bash_flex_app/1.0/", - "repository_download_url": "https://repo1.maven.org/maven2/com/adobe/ac/samples/bash/bash_flex_app/1.0/bash_flex_app-1.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/com/adobe/ac/samples/bash/bash_flex_app/1.0/bash_flex_app-1.0.pom" + "purl": "pkg:maven/com.adobe.ac.samples.bash/bash_flex_app@1.0" }, { "type": "maven", @@ -4200,7 +4418,7 @@ "code_view_url": "https://github.com/jode/baz-bar-parent/tree/master", "vcs_url": "git://github.com/jode/baz-bar-parent.git", "copyright": null, - "license_expression": "epl-1.0", + "license_expression": "(epl-1.0 AND bsd-new) AND unknown", "declared_license": [ { "name": "Eclipse Public License - v 1.0", @@ -4210,24 +4428,21 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/com.myco.foo.bar.baz/baz-bar-parent@1.0?classifier=sources" ], "extra_data": {}, - "package_uuid": "pkg:maven/com.myco.foo.bar.baz/baz-bar-parent@1.0", - "package_data_files": [ + "repository_homepage_url": "https://repo1.maven.org/maven2/com/myco/foo/bar/baz/baz-bar-parent/1.0/", + "repository_download_url": "https://repo1.maven.org/maven2/com/myco/foo/bar/baz/baz-bar-parent/1.0/baz-bar-parent-1.0.jar", + "api_data_url": "https://repo1.maven.org/maven2/com/myco/foo/bar/baz/baz-bar-parent/1.0/baz-bar-parent-1.0.pom", + "package_uid": "pkg:maven/com.myco.foo.bar.baz/baz-bar-parent@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "foo-pom/foo-pom.xml" ], - "files": [ - "foo-pom/foo-pom.xml", - "foo-pom/foo-pom.xml.json", - "foo-pom/foo-pom.xml.package.json" + "datasource_ids": [ + "maven_pom" ], - "purl": "pkg:maven/com.myco.foo.bar.baz/baz-bar-parent@1.0", - "repository_homepage_url": "https://repo1.maven.org/maven2/com/myco/foo/bar/baz/baz-bar-parent/1.0/", - "repository_download_url": "https://repo1.maven.org/maven2/com/myco/foo/bar/baz/baz-bar-parent/1.0/baz-bar-parent-1.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/com/myco/foo/bar/baz/baz-bar-parent/1.0/baz-bar-parent-1.0.pom" + "purl": "pkg:maven/com.myco.foo.bar.baz/baz-bar-parent@1.0" }, { "type": "maven", @@ -4255,24 +4470,21 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.geronimo.bundles/axis@1.4_1-SNAPSHOT?classifier=sources" ], "extra_data": {}, - "package_uuid": "pkg:maven/org.apache.geronimo.bundles/axis@1.4_1-SNAPSHOT", - "package_data_files": [ + "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/geronimo/bundles/axis/1.4_1-SNAPSHOT/", + "repository_download_url": "https://repo1.maven.org/maven2/org/apache/geronimo/bundles/axis/1.4_1-SNAPSHOT/axis-1.4_1-SNAPSHOT.jar", + "api_data_url": "https://repo1.maven.org/maven2/org/apache/geronimo/bundles/axis/1.4_1-SNAPSHOT/axis-1.4_1-SNAPSHOT.pom", + "package_uid": "pkg:maven/org.apache.geronimo.bundles/axis@1.4_1-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "gero_pom/gero_pom.xml" ], - "files": [ - "gero_pom/gero_pom.xml", - "gero_pom/gero_pom.xml.json", - "gero_pom/gero_pom.xml.package.json" + "datasource_ids": [ + "maven_pom" ], - "purl": "pkg:maven/org.apache.geronimo.bundles/axis@1.4_1-SNAPSHOT", - "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/geronimo/bundles/axis/1.4_1-SNAPSHOT/", - "repository_download_url": "https://repo1.maven.org/maven2/org/apache/geronimo/bundles/axis/1.4_1-SNAPSHOT/axis-1.4_1-SNAPSHOT.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/geronimo/bundles/axis/1.4_1-SNAPSHOT/axis-1.4_1-SNAPSHOT.pom" + "purl": "pkg:maven/org.apache.geronimo.bundles/axis@1.4_1-SNAPSHOT" }, { "type": "maven", @@ -4329,24 +4541,21 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/com.idega.block.addon/com.idega.block.contract@4.1.3-SNAPSHOT?classifier=sources" ], "extra_data": {}, - "package_uuid": "pkg:maven/com.idega.block.addon/com.idega.block.contract@4.1.3-SNAPSHOT", - "package_data_files": [ + "repository_homepage_url": "https://repo1.maven.org/maven2/com/idega/block/addon/com.idega.block.contract/4.1.3-SNAPSHOT/", + "repository_download_url": "https://repo1.maven.org/maven2/com/idega/block/addon/com.idega.block.contract/4.1.3-SNAPSHOT/com.idega.block.contract-4.1.3-SNAPSHOT.jar", + "api_data_url": "https://repo1.maven.org/maven2/com/idega/block/addon/com.idega.block.contract/4.1.3-SNAPSHOT/com.idega.block.contract-4.1.3-SNAPSHOT.pom", + "package_uid": "pkg:maven/com.idega.block.addon/com.idega.block.contract@4.1.3-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "idega_pom/idega_pom.xml" ], - "files": [ - "idega_pom/idega_pom.xml", - "idega_pom/idega_pom.xml.json", - "idega_pom/idega_pom.xml.package.json" + "datasource_ids": [ + "maven_pom" ], - "purl": "pkg:maven/com.idega.block.addon/com.idega.block.contract@4.1.3-SNAPSHOT", - "repository_homepage_url": "https://repo1.maven.org/maven2/com/idega/block/addon/com.idega.block.contract/4.1.3-SNAPSHOT/", - "repository_download_url": "https://repo1.maven.org/maven2/com/idega/block/addon/com.idega.block.contract/4.1.3-SNAPSHOT/com.idega.block.contract-4.1.3-SNAPSHOT.jar", - "api_data_url": "https://repo1.maven.org/maven2/com/idega/block/addon/com.idega.block.contract/4.1.3-SNAPSHOT/com.idega.block.contract-4.1.3-SNAPSHOT.pom" + "purl": "pkg:maven/com.idega.block.addon/com.idega.block.contract@4.1.3-SNAPSHOT" }, { "type": "maven", @@ -4379,7 +4588,7 @@ "code_view_url": "https://jrecordbind.dev.java.net/source/browse/jrecordbind/", "vcs_url": "svn+https://jrecordbind.dev.java.net/svn/jrecordbind/trunk/", "copyright": null, - "license_expression": "lgpl-2.0-plus AND lgpl-2.1-plus", + "license_expression": "((lgpl-2.1 OR apache-2.0) AND lgpl-2.1-plus) AND unknown", "declared_license": [ { "name": "LGPL", @@ -4389,24 +4598,21 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?classifier=sources" ], "extra_data": {}, - "package_uuid": "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4", - "package_data_files": [ + "repository_homepage_url": "https://repo1.maven.org/maven2/it/assist/jrecordbind/jrecordbind${artifactId.ext}/2.3.4/", + "repository_download_url": "https://repo1.maven.org/maven2/it/assist/jrecordbind/jrecordbind${artifactId.ext}/2.3.4/jrecordbind${artifactId.ext}-2.3.4.jar", + "api_data_url": "https://repo1.maven.org/maven2/it/assist/jrecordbind/jrecordbind${artifactId.ext}/2.3.4/jrecordbind${artifactId.ext}-2.3.4.pom", + "package_uid": "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "jrecordbind-2.3.4/jrecordbind-2.3.4.pom" ], - "files": [ - "jrecordbind-2.3.4/jrecordbind-2.3.4.pom", - "jrecordbind-2.3.4/jrecordbind-2.3.4.pom.json", - "jrecordbind-2.3.4/jrecordbind-2.3.4.pom.package.json" + "datasource_ids": [ + "maven_pom" ], - "purl": "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4", - "repository_homepage_url": "https://repo1.maven.org/maven2/it/assist/jrecordbind/jrecordbind${artifactId.ext}/2.3.4/", - "repository_download_url": "https://repo1.maven.org/maven2/it/assist/jrecordbind/jrecordbind${artifactId.ext}/2.3.4/jrecordbind${artifactId.ext}-2.3.4.jar", - "api_data_url": "https://repo1.maven.org/maven2/it/assist/jrecordbind/jrecordbind${artifactId.ext}/2.3.4/jrecordbind${artifactId.ext}-2.3.4.pom" + "purl": "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4" }, { "type": "maven", @@ -4439,7 +4645,7 @@ "code_view_url": "http://svn.apache.org/viewcvs.cgi/logging/log4j/tags/v1_2_15_rc6", "vcs_url": "svn+http://svn.apache.org/repos/asf/logging/log4j/tags/v1_2_15_rc6", "copyright": null, - "license_expression": "apache-2.0", + "license_expression": "apache-2.0 AND unknown", "declared_license": [ { "name": "The Apache Software License, Version 2.0", @@ -4449,24 +4655,21 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/log4j/log4j@1.2.15?classifier=sources" ], "extra_data": {}, - "package_uuid": "pkg:maven/log4j/log4j@1.2.15", - "package_data_files": [ + "repository_homepage_url": "https://repo1.maven.org/maven2/log4j/log4j/1.2.15/", + "repository_download_url": "https://repo1.maven.org/maven2/log4j/log4j/1.2.15/log4j-1.2.15.jar", + "api_data_url": "https://repo1.maven.org/maven2/log4j/log4j/1.2.15/log4j-1.2.15.pom", + "package_uid": "pkg:maven/log4j/log4j@1.2.15?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "log4j/log4j-pom.xml" ], - "files": [ - "log4j/log4j-pom.xml", - "log4j/log4j-pom.xml.json", - "log4j/log4j-pom.xml.package.json" + "datasource_ids": [ + "maven_pom" ], - "purl": "pkg:maven/log4j/log4j@1.2.15", - "repository_homepage_url": "https://repo1.maven.org/maven2/log4j/log4j/1.2.15/", - "repository_download_url": "https://repo1.maven.org/maven2/log4j/log4j/1.2.15/log4j-1.2.15.jar", - "api_data_url": "https://repo1.maven.org/maven2/log4j/log4j/1.2.15/log4j-1.2.15.pom" + "purl": "pkg:maven/log4j/log4j@1.2.15" }, { "type": "maven", @@ -4491,7 +4694,7 @@ "code_view_url": "http://svn.qos.ch/viewcvs/logback/access/trunk/", "vcs_url": "http://svn.qos.ch/repos/logback/access/trunk/", "copyright": null, - "license_expression": "lgpl-2.0-plus", + "license_expression": "lgpl-2.1-plus AND unknown", "declared_license": [ { "name": "GNU Lesser General Public License", @@ -4501,24 +4704,21 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/ch.qos.logback/logback-access@0.2.5?classifier=sources" ], "extra_data": {}, - "package_uuid": "pkg:maven/ch.qos.logback/logback-access@0.2.5", - "package_data_files": [ + "repository_homepage_url": "https://repo1.maven.org/maven2/ch/qos/logback/logback-access/0.2.5/", + "repository_download_url": "https://repo1.maven.org/maven2/ch/qos/logback/logback-access/0.2.5/logback-access-0.2.5.jar", + "api_data_url": "https://repo1.maven.org/maven2/ch/qos/logback/logback-access/0.2.5/logback-access-0.2.5.pom", + "package_uid": "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "logback-access/logback-access.pom" ], - "files": [ - "logback-access/logback-access.pom", - "logback-access/logback-access.pom.json", - "logback-access/logback-access.pom.package.json" + "datasource_ids": [ + "maven_pom" ], - "purl": "pkg:maven/ch.qos.logback/logback-access@0.2.5", - "repository_homepage_url": "https://repo1.maven.org/maven2/ch/qos/logback/logback-access/0.2.5/", - "repository_download_url": "https://repo1.maven.org/maven2/ch/qos/logback/logback-access/0.2.5/logback-access-0.2.5.jar", - "api_data_url": "https://repo1.maven.org/maven2/ch/qos/logback/logback-access/0.2.5/logback-access-0.2.5.pom" + "purl": "pkg:maven/ch.qos.logback/logback-access@0.2.5" }, { "type": "maven", @@ -4631,24 +4831,21 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?classifier=sources" ], "extra_data": {}, - "package_uuid": "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4", - "package_data_files": [ + "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/", + "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.jar", + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom", + "package_uid": "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "plexus-interactivity-api-1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom" ], - "files": [ - "plexus-interactivity-api-1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom", - "plexus-interactivity-api-1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom.json", - "plexus-interactivity-api-1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom.package.json" + "datasource_ids": [ + "maven_pom" ], - "purl": "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4", - "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/", - "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom" + "purl": "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4" }, { "type": "maven", @@ -4676,24 +4873,21 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/ur.urwerk.test.modules/main@1.0.0-SNAPSHOT?classifier=sources" ], "extra_data": {}, - "package_uuid": "pkg:maven/ur.urwerk.test.modules/main@1.0.0-SNAPSHOT", - "package_data_files": [ + "repository_homepage_url": "https://repo1.maven.org/maven2/ur/urwerk/test/modules/main/1.0.0-SNAPSHOT/", + "repository_download_url": "https://repo1.maven.org/maven2/ur/urwerk/test/modules/main/1.0.0-SNAPSHOT/main-1.0.0-SNAPSHOT.jar", + "api_data_url": "https://repo1.maven.org/maven2/ur/urwerk/test/modules/main/1.0.0-SNAPSHOT/main-1.0.0-SNAPSHOT.pom", + "package_uid": "pkg:maven/ur.urwerk.test.modules/main@1.0.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "pom-generic/pom.xml" ], - "files": [ - "pom-generic/pom.xml", - "pom-generic/pom.xml.json", - "pom-generic/pom.xml.package.json" + "datasource_ids": [ + "maven_pom" ], - "purl": "pkg:maven/ur.urwerk.test.modules/main@1.0.0-SNAPSHOT", - "repository_homepage_url": "https://repo1.maven.org/maven2/ur/urwerk/test/modules/main/1.0.0-SNAPSHOT/", - "repository_download_url": "https://repo1.maven.org/maven2/ur/urwerk/test/modules/main/1.0.0-SNAPSHOT/main-1.0.0-SNAPSHOT.jar", - "api_data_url": "https://repo1.maven.org/maven2/ur/urwerk/test/modules/main/1.0.0-SNAPSHOT/main-1.0.0-SNAPSHOT.pom" + "purl": "pkg:maven/ur.urwerk.test.modules/main@1.0.0-SNAPSHOT" }, { "type": "maven", @@ -4721,24 +4915,21 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.geronimo.bundles/axis@1.4_1-SNAPSHOT?classifier=sources" ], "extra_data": {}, - "package_uuid": "pkg:maven/org.apache.geronimo.bundles/axis@1.4_1-SNAPSHOT", - "package_data_files": [ + "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/geronimo/bundles/axis/1.4_1-SNAPSHOT/", + "repository_download_url": "https://repo1.maven.org/maven2/org/apache/geronimo/bundles/axis/1.4_1-SNAPSHOT/axis-1.4_1-SNAPSHOT.jar", + "api_data_url": "https://repo1.maven.org/maven2/org/apache/geronimo/bundles/axis/1.4_1-SNAPSHOT/axis-1.4_1-SNAPSHOT.pom", + "package_uid": "pkg:maven/org.apache.geronimo.bundles/axis@1.4_1-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "proper-pom/proper_pom.xml" ], - "files": [ - "proper-pom/proper_pom.xml", - "proper-pom/proper_pom.xml.json", - "proper-pom/proper_pom.xml.package.json" + "datasource_ids": [ + "maven_pom" ], - "purl": "pkg:maven/org.apache.geronimo.bundles/axis@1.4_1-SNAPSHOT", - "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/geronimo/bundles/axis/1.4_1-SNAPSHOT/", - "repository_download_url": "https://repo1.maven.org/maven2/org/apache/geronimo/bundles/axis/1.4_1-SNAPSHOT/axis-1.4_1-SNAPSHOT.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/geronimo/bundles/axis/1.4_1-SNAPSHOT/axis-1.4_1-SNAPSHOT.pom" + "purl": "pkg:maven/org.apache.geronimo.bundles/axis@1.4_1-SNAPSHOT" }, { "type": "maven", @@ -4766,24 +4957,21 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.modeler/modeler@0.1?classifier=sources" ], "extra_data": {}, - "package_uuid": "pkg:maven/org.modeler/modeler@0.1", - "package_data_files": [ + "repository_homepage_url": "https://repo1.maven.org/maven2/org/modeler/modeler/0.1/", + "repository_download_url": "https://repo1.maven.org/maven2/org/modeler/modeler/0.1/modeler-0.1.jar", + "api_data_url": "https://repo1.maven.org/maven2/org/modeler/modeler/0.1/modeler-0.1.pom", + "package_uid": "pkg:maven/org.modeler/modeler@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "rel_pom/rel_pom.xml" ], - "files": [ - "rel_pom/rel_pom.xml", - "rel_pom/rel_pom.xml.json", - "rel_pom/rel_pom.xml.package.json" + "datasource_ids": [ + "maven_pom" ], - "purl": "pkg:maven/org.modeler/modeler@0.1", - "repository_homepage_url": "https://repo1.maven.org/maven2/org/modeler/modeler/0.1/", - "repository_download_url": "https://repo1.maven.org/maven2/org/modeler/modeler/0.1/modeler-0.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/modeler/modeler/0.1/modeler-0.1.pom" + "purl": "pkg:maven/org.modeler/modeler@0.1" }, { "type": "maven", @@ -4833,24 +5021,21 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT?classifier=sources" ], "extra_data": {}, - "package_uuid": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT", - "package_data_files": [ + "repository_homepage_url": "https://repo1.maven.org/maven2/no/knowit/seam/root/2.2.0-SNAPSHOT/", + "repository_download_url": "https://repo1.maven.org/maven2/no/knowit/seam/root/2.2.0-SNAPSHOT/root-2.2.0-SNAPSHOT.jar", + "api_data_url": "https://repo1.maven.org/maven2/no/knowit/seam/root/2.2.0-SNAPSHOT/root-2.2.0-SNAPSHOT.pom", + "package_uid": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "sea_pom/sea_pom.xml" ], - "files": [ - "sea_pom/sea_pom.xml", - "sea_pom/sea_pom.xml.json", - "sea_pom/sea_pom.xml.package.json" + "datasource_ids": [ + "maven_pom" ], - "purl": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT", - "repository_homepage_url": "https://repo1.maven.org/maven2/no/knowit/seam/root/2.2.0-SNAPSHOT/", - "repository_download_url": "https://repo1.maven.org/maven2/no/knowit/seam/root/2.2.0-SNAPSHOT/root-2.2.0-SNAPSHOT.jar", - "api_data_url": "https://repo1.maven.org/maven2/no/knowit/seam/root/2.2.0-SNAPSHOT/root-2.2.0-SNAPSHOT.pom" + "purl": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT" }, { "type": "maven", @@ -4878,24 +5063,21 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.geronimo.specs/specs@1.3?classifier=sources" ], "extra_data": {}, - "package_uuid": "pkg:maven/org.apache.geronimo.specs/specs@1.3", - "package_data_files": [ + "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/geronimo/specs/specs/1.3/", + "repository_download_url": "https://repo1.maven.org/maven2/org/apache/geronimo/specs/specs/1.3/specs-1.3.jar", + "api_data_url": "https://repo1.maven.org/maven2/org/apache/geronimo/specs/specs/1.3/specs-1.3.pom", + "package_uid": "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "specs-1.3/specs-1.3.pom" ], - "files": [ - "specs-1.3/specs-1.3.pom", - "specs-1.3/specs-1.3.pom.json", - "specs-1.3/specs-1.3.pom.package.json" + "datasource_ids": [ + "maven_pom" ], - "purl": "pkg:maven/org.apache.geronimo.specs/specs@1.3", - "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/geronimo/specs/specs/1.3/", - "repository_download_url": "https://repo1.maven.org/maven2/org/apache/geronimo/specs/specs/1.3/specs-1.3.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/geronimo/specs/specs/1.3/specs-1.3.pom" + "purl": "pkg:maven/org.apache.geronimo.specs/specs@1.3" }, { "type": "maven", @@ -4928,7 +5110,7 @@ "code_view_url": "http://springframework.cvs.sourceforge.net/springframework/", "vcs_url": "cvs+pserver:anonymous:@springframework.cvs.sourceforge.net:/cvsroot/springframework/spring", "copyright": null, - "license_expression": "apache-2.0", + "license_expression": "apache-2.0 AND unknown", "declared_license": [ { "name": "The Apache Software License, Version 2.0", @@ -4938,24 +5120,21 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.springframework/spring@2.5.4?classifier=sources" ], "extra_data": {}, - "package_uuid": "pkg:maven/org.springframework/spring@2.5.4", - "package_data_files": [ + "repository_homepage_url": "https://repo1.maven.org/maven2/org/springframework/spring/2.5.4/", + "repository_download_url": "https://repo1.maven.org/maven2/org/springframework/spring/2.5.4/spring-2.5.4.jar", + "api_data_url": "https://repo1.maven.org/maven2/org/springframework/spring/2.5.4/spring-2.5.4.pom", + "package_uid": "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "spring-2.5.4/spring-2.5.4.pom" ], - "files": [ - "spring-2.5.4/spring-2.5.4.pom", - "spring-2.5.4/spring-2.5.4.pom.json", - "spring-2.5.4/spring-2.5.4.pom.package.json" + "datasource_ids": [ + "maven_pom" ], - "purl": "pkg:maven/org.springframework/spring@2.5.4", - "repository_homepage_url": "https://repo1.maven.org/maven2/org/springframework/spring/2.5.4/", - "repository_download_url": "https://repo1.maven.org/maven2/org/springframework/spring/2.5.4/spring-2.5.4.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/springframework/spring/2.5.4/spring-2.5.4.pom" + "purl": "pkg:maven/org.springframework/spring@2.5.4" }, { "type": "maven", @@ -4988,7 +5167,7 @@ "code_view_url": "http://springframework.cvs.sourceforge.net/springframework/", "vcs_url": "cvs+pserver:anonymous:@springframework.cvs.sourceforge.net:/cvsroot/springframework/spring", "copyright": null, - "license_expression": "apache-2.0", + "license_expression": "apache-2.0 AND unknown", "declared_license": [ { "name": "The Apache Software License, Version 2.0", @@ -4998,24 +5177,21 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.springframework/spring-orm@2.5.3?classifier=sources" ], "extra_data": {}, - "package_uuid": "pkg:maven/org.springframework/spring-orm@2.5.3", - "package_data_files": [ + "repository_homepage_url": "https://repo1.maven.org/maven2/org/springframework/spring-orm/2.5.3/", + "repository_download_url": "https://repo1.maven.org/maven2/org/springframework/spring-orm/2.5.3/spring-orm-2.5.3.jar", + "api_data_url": "https://repo1.maven.org/maven2/org/springframework/spring-orm/2.5.3/spring-orm-2.5.3.pom", + "package_uid": "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "spring-orm-2.5.3/spring-orm-2.5.3.pom" ], - "files": [ - "spring-orm-2.5.3/spring-orm-2.5.3.pom", - "spring-orm-2.5.3/spring-orm-2.5.3.pom.json", - "spring-orm-2.5.3/spring-orm-2.5.3.pom.package.json" + "datasource_ids": [ + "maven_pom" ], - "purl": "pkg:maven/org.springframework/spring-orm@2.5.3", - "repository_homepage_url": "https://repo1.maven.org/maven2/org/springframework/spring-orm/2.5.3/", - "repository_download_url": "https://repo1.maven.org/maven2/org/springframework/spring-orm/2.5.3/spring-orm-2.5.3.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/springframework/spring-orm/2.5.3/spring-orm-2.5.3.pom" + "purl": "pkg:maven/org.springframework/spring-orm@2.5.3" }, { "type": "maven", @@ -5048,7 +5224,7 @@ "code_view_url": "http://springframework.cvs.sourceforge.net/springframework/", "vcs_url": "cvs+pserver:anonymous:@springframework.cvs.sourceforge.net:/cvsroot/springframework/spring", "copyright": null, - "license_expression": "apache-2.0", + "license_expression": "apache-2.0 AND unknown", "declared_license": [ { "name": "The Apache Software License, Version 2.0", @@ -5058,24 +5234,21 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.springframework/spring-webmvc@2.5.3?classifier=sources" ], "extra_data": {}, - "package_uuid": "pkg:maven/org.springframework/spring-webmvc@2.5.3", - "package_data_files": [ + "repository_homepage_url": "https://repo1.maven.org/maven2/org/springframework/spring-webmvc/2.5.3/", + "repository_download_url": "https://repo1.maven.org/maven2/org/springframework/spring-webmvc/2.5.3/spring-webmvc-2.5.3.jar", + "api_data_url": "https://repo1.maven.org/maven2/org/springframework/spring-webmvc/2.5.3/spring-webmvc-2.5.3.pom", + "package_uid": "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom" ], - "files": [ - "spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom", - "spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom.json", - "spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom.package.json" + "datasource_ids": [ + "maven_pom" ], - "purl": "pkg:maven/org.springframework/spring-webmvc@2.5.3", - "repository_homepage_url": "https://repo1.maven.org/maven2/org/springframework/spring-webmvc/2.5.3/", - "repository_download_url": "https://repo1.maven.org/maven2/org/springframework/spring-webmvc/2.5.3/spring-webmvc-2.5.3.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/springframework/spring-webmvc/2.5.3/spring-webmvc-2.5.3.pom" + "purl": "pkg:maven/org.springframework/spring-webmvc@2.5.3" }, { "type": "maven", @@ -5111,24 +5284,21 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?classifier=sources" ], "extra_data": {}, - "package_uuid": "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1", - "package_data_files": [ + "repository_homepage_url": "https://repo1.maven.org/maven2/org/jvnet/hudson/plugins/startup-trigger-plugin/0.1/", + "repository_download_url": "https://repo1.maven.org/maven2/org/jvnet/hudson/plugins/startup-trigger-plugin/0.1/startup-trigger-plugin-0.1.jar", + "api_data_url": "https://repo1.maven.org/maven2/org/jvnet/hudson/plugins/startup-trigger-plugin/0.1/startup-trigger-plugin-0.1.pom", + "package_uid": "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "startup-trigger-plugin-0.1/startup-trigger-plugin-0.1.pom" ], - "files": [ - "startup-trigger-plugin-0.1/startup-trigger-plugin-0.1.pom", - "startup-trigger-plugin-0.1/startup-trigger-plugin-0.1.pom.json", - "startup-trigger-plugin-0.1/startup-trigger-plugin-0.1.pom.package.json" + "datasource_ids": [ + "maven_pom" ], - "purl": "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1", - "repository_homepage_url": "https://repo1.maven.org/maven2/org/jvnet/hudson/plugins/startup-trigger-plugin/0.1/", - "repository_download_url": "https://repo1.maven.org/maven2/org/jvnet/hudson/plugins/startup-trigger-plugin/0.1/startup-trigger-plugin-0.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/jvnet/hudson/plugins/startup-trigger-plugin/0.1/startup-trigger-plugin-0.1.pom" + "purl": "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1" }, { "type": "maven", @@ -5156,24 +5326,21 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/de.fzj.unicore.rcp/eclipseSequencePlugin@0.0.1-SNAPSHOT?classifier=sources" ], "extra_data": {}, - "package_uuid": "pkg:maven/de.fzj.unicore.rcp/eclipseSequencePlugin@0.0.1-SNAPSHOT", - "package_data_files": [ + "repository_homepage_url": "https://repo1.maven.org/maven2/de/fzj/unicore/rcp/eclipseSequencePlugin/0.0.1-SNAPSHOT/", + "repository_download_url": "https://repo1.maven.org/maven2/de/fzj/unicore/rcp/eclipseSequencePlugin/0.0.1-SNAPSHOT/eclipseSequencePlugin-0.0.1-SNAPSHOT.jar", + "api_data_url": "https://repo1.maven.org/maven2/de/fzj/unicore/rcp/eclipseSequencePlugin/0.0.1-SNAPSHOT/eclipseSequencePlugin-0.0.1-SNAPSHOT.pom", + "package_uid": "pkg:maven/de.fzj.unicore.rcp/eclipseSequencePlugin@0.0.1-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "uni_pom/uni_pom.xml" ], - "files": [ - "uni_pom/uni_pom.xml", - "uni_pom/uni_pom.xml.json", - "uni_pom/uni_pom.xml.package.json" + "datasource_ids": [ + "maven_pom" ], - "purl": "pkg:maven/de.fzj.unicore.rcp/eclipseSequencePlugin@0.0.1-SNAPSHOT", - "repository_homepage_url": "https://repo1.maven.org/maven2/de/fzj/unicore/rcp/eclipseSequencePlugin/0.0.1-SNAPSHOT/", - "repository_download_url": "https://repo1.maven.org/maven2/de/fzj/unicore/rcp/eclipseSequencePlugin/0.0.1-SNAPSHOT/eclipseSequencePlugin-0.0.1-SNAPSHOT.jar", - "api_data_url": "https://repo1.maven.org/maven2/de/fzj/unicore/rcp/eclipseSequencePlugin/0.0.1-SNAPSHOT/eclipseSequencePlugin-0.0.1-SNAPSHOT.pom" + "purl": "pkg:maven/de.fzj.unicore.rcp/eclipseSequencePlugin@0.0.1-SNAPSHOT" }, { "type": "maven", @@ -5201,24 +5368,21 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/ur.urwerk.test/ur.urwerk.test.module-y@1.0.0?classifier=sources" ], "extra_data": {}, - "package_uuid": "pkg:maven/ur.urwerk.test/ur.urwerk.test.module-y@1.0.0", - "package_data_files": [ + "repository_homepage_url": "https://repo1.maven.org/maven2/ur/urwerk/test/ur.urwerk.test.module-y/1.0.0/", + "repository_download_url": "https://repo1.maven.org/maven2/ur/urwerk/test/ur.urwerk.test.module-y/1.0.0/ur.urwerk.test.module-y-1.0.0.jar", + "api_data_url": "https://repo1.maven.org/maven2/ur/urwerk/test/ur.urwerk.test.module-y/1.0.0/ur.urwerk.test.module-y-1.0.0.pom", + "package_uid": "pkg:maven/ur.urwerk.test/ur.urwerk.test.module-y@1.0.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "urwerky_pom/urwerky_pom.xml" ], - "files": [ - "urwerky_pom/urwerky_pom.xml", - "urwerky_pom/urwerky_pom.xml.json", - "urwerky_pom/urwerky_pom.xml.package.json" + "datasource_ids": [ + "maven_pom" ], - "purl": "pkg:maven/ur.urwerk.test/ur.urwerk.test.module-y@1.0.0", - "repository_homepage_url": "https://repo1.maven.org/maven2/ur/urwerk/test/ur.urwerk.test.module-y/1.0.0/", - "repository_download_url": "https://repo1.maven.org/maven2/ur/urwerk/test/ur.urwerk.test.module-y/1.0.0/ur.urwerk.test.module-y-1.0.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/ur/urwerk/test/ur.urwerk.test.module-y/1.0.0/ur.urwerk.test.module-y-1.0.0.pom" + "purl": "pkg:maven/ur.urwerk.test/ur.urwerk.test.module-y@1.0.0" }, { "type": "maven", @@ -5246,24 +5410,21 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.webreformatter.wrappers/com.google.gwt.query@0.1.5.SNAPSHOT?classifier=sources" ], "extra_data": {}, - "package_uuid": "pkg:maven/org.webreformatter.wrappers/com.google.gwt.query@0.1.5.SNAPSHOT", - "package_data_files": [ + "repository_homepage_url": "https://repo1.maven.org/maven2/org/webreformatter/wrappers/com.google.gwt.query/0.1.5.SNAPSHOT/", + "repository_download_url": "https://repo1.maven.org/maven2/org/webreformatter/wrappers/com.google.gwt.query/0.1.5.SNAPSHOT/com.google.gwt.query-0.1.5.SNAPSHOT.jar", + "api_data_url": "https://repo1.maven.org/maven2/org/webreformatter/wrappers/com.google.gwt.query/0.1.5.SNAPSHOT/com.google.gwt.query-0.1.5.SNAPSHOT.pom", + "package_uid": "pkg:maven/org.webreformatter.wrappers/com.google.gwt.query@0.1.5.SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "webre_pom/webre_pom.xml" ], - "files": [ - "webre_pom/webre_pom.xml", - "webre_pom/webre_pom.xml.json", - "webre_pom/webre_pom.xml.package.json" + "datasource_ids": [ + "maven_pom" ], - "purl": "pkg:maven/org.webreformatter.wrappers/com.google.gwt.query@0.1.5.SNAPSHOT", - "repository_homepage_url": "https://repo1.maven.org/maven2/org/webreformatter/wrappers/com.google.gwt.query/0.1.5.SNAPSHOT/", - "repository_download_url": "https://repo1.maven.org/maven2/org/webreformatter/wrappers/com.google.gwt.query/0.1.5.SNAPSHOT/com.google.gwt.query-0.1.5.SNAPSHOT.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/webreformatter/wrappers/com.google.gwt.query/0.1.5.SNAPSHOT/com.google.gwt.query-0.1.5.SNAPSHOT.pom" + "purl": "pkg:maven/org.webreformatter.wrappers/com.google.gwt.query@0.1.5.SNAPSHOT" }, { "type": "maven", @@ -5291,24 +5452,21 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?classifier=sources" ], "extra_data": {}, - "package_uuid": "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6", - "package_data_files": [ + "repository_homepage_url": "https://repo1.maven.org/maven2/au/com/acegi/xml-format-maven-plugin/3.0.6/", + "repository_download_url": "https://repo1.maven.org/maven2/au/com/acegi/xml-format-maven-plugin/3.0.6/xml-format-maven-plugin-3.0.6.jar", + "api_data_url": "https://repo1.maven.org/maven2/au/com/acegi/xml-format-maven-plugin/3.0.6/xml-format-maven-plugin-3.0.6.pom", + "package_uid": "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "xml-format-maven-plugin-3.0.6/xml-format-maven-plugin-3.0.6.pom" ], - "files": [ - "xml-format-maven-plugin-3.0.6/xml-format-maven-plugin-3.0.6.pom", - "xml-format-maven-plugin-3.0.6/xml-format-maven-plugin-3.0.6.pom.json", - "xml-format-maven-plugin-3.0.6/xml-format-maven-plugin-3.0.6.pom.package.json" + "datasource_ids": [ + "maven_pom" ], - "purl": "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6", - "repository_homepage_url": "https://repo1.maven.org/maven2/au/com/acegi/xml-format-maven-plugin/3.0.6/", - "repository_download_url": "https://repo1.maven.org/maven2/au/com/acegi/xml-format-maven-plugin/3.0.6/xml-format-maven-plugin-3.0.6.jar", - "api_data_url": "https://repo1.maven.org/maven2/au/com/acegi/xml-format-maven-plugin/3.0.6/xml-format-maven-plugin-3.0.6.pom" + "purl": "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6" } ], "files": [ @@ -5316,7 +5474,28 @@ "path": "activemq-camel", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:maven/org.apache.activemq/activemq-camel@5.4.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { @@ -5349,10 +5528,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.activemq/activemq-camel@5.4.2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -5455,14 +5634,34 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.activemq/activemq-camel@5.4.2", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/activemq/activemq-camel/5.4.2/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/activemq/activemq-camel/5.4.2/activemq-camel-5.4.2.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/activemq/activemq-camel/5.4.2/activemq-camel-5.4.2.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/activemq/activemq-camel/5.4.2/activemq-camel-5.4.2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.activemq/activemq-camel@5.4.2" } ], "for_packages": [ - "pkg:maven/org.apache.activemq/activemq-camel@5.4.2" + "pkg:maven/org.apache.activemq/activemq-camel@5.4.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -5471,7 +5670,26 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/org.apache.activemq/activemq-camel@5.4.2" + "pkg:maven/org.apache.activemq/activemq-camel@5.4.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -5480,7 +5698,26 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/org.apache.activemq/activemq-camel@5.4.2" + "pkg:maven/org.apache.activemq/activemq-camel@5.4.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -5488,7 +5725,27 @@ "path": "adarwin-1.0", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { @@ -5521,20 +5778,39 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/adarwin/adarwin@1.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/adarwin/adarwin@1.0", "repository_homepage_url": "https://repo1.maven.org/maven2/adarwin/adarwin/1.0/", "repository_download_url": "https://repo1.maven.org/maven2/adarwin/adarwin/1.0/adarwin-1.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/adarwin/adarwin/1.0/adarwin-1.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/adarwin/adarwin/1.0/adarwin-1.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/adarwin/adarwin@1.0" } ], "for_packages": [ - "pkg:maven/adarwin/adarwin@1.0" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -5543,7 +5819,25 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/adarwin/adarwin@1.0" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -5552,7 +5846,25 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/adarwin/adarwin@1.0" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -5560,7 +5872,27 @@ "path": "ant-jai-1.7.0", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { @@ -5593,10 +5925,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.ant/ant-jai@1.7.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -5627,14 +5959,33 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.ant/ant-jai@1.7.0", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/ant/ant-jai/1.7.0/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/ant/ant-jai/1.7.0/ant-jai-1.7.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/ant/ant-jai/1.7.0/ant-jai-1.7.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/ant/ant-jai/1.7.0/ant-jai-1.7.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.ant/ant-jai@1.7.0" } ], "for_packages": [ - "pkg:maven/org.apache.ant/ant-jai@1.7.0" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -5643,7 +5994,25 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/org.apache.ant/ant-jai@1.7.0" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -5652,7 +6021,25 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/org.apache.ant/ant-jai@1.7.0" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -5660,7 +6047,27 @@ "path": "ant-jsch-1.7.0", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { @@ -5693,10 +6100,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.ant/ant-jsch@1.7.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -5718,14 +6125,33 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.ant/ant-jsch@1.7.0", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/ant/ant-jsch/1.7.0/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/ant/ant-jsch/1.7.0/ant-jsch-1.7.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/ant/ant-jsch/1.7.0/ant-jsch-1.7.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/ant/ant-jsch/1.7.0/ant-jsch-1.7.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.ant/ant-jsch@1.7.0" } ], "for_packages": [ - "pkg:maven/org.apache.ant/ant-jsch@1.7.0" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -5734,7 +6160,25 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/org.apache.ant/ant-jsch@1.7.0" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -5743,7 +6187,25 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/org.apache.ant/ant-jsch@1.7.0" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -5751,7 +6213,27 @@ "path": "aopalliance-1.0", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { @@ -5781,7 +6263,7 @@ "code_view_url": null, "vcs_url": null, "copyright": null, - "license_expression": "public-domain AND gpl-1.0-plus", + "license_expression": "(public-domain AND gpl-1.0-plus) AND unknown", "declared_license": [ { "name": "Public Domain", @@ -5797,20 +6279,39 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/aopalliance/aopalliance@1.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/aopalliance/aopalliance@1.0", "repository_homepage_url": "https://repo1.maven.org/maven2/aopalliance/aopalliance/1.0/", "repository_download_url": "https://repo1.maven.org/maven2/aopalliance/aopalliance/1.0/aopalliance-1.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/aopalliance/aopalliance/1.0/aopalliance-1.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/aopalliance/aopalliance/1.0/aopalliance-1.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/aopalliance/aopalliance@1.0" } ], "for_packages": [ - "pkg:maven/aopalliance/aopalliance@1.0" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -5819,7 +6320,25 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/aopalliance/aopalliance@1.0" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -5828,7 +6347,25 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/aopalliance/aopalliance@1.0" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -5836,7 +6373,27 @@ "path": "bcel-5.1", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { @@ -5869,20 +6426,39 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/bcel/bcel@5.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/bcel/bcel@5.1", "repository_homepage_url": "https://repo1.maven.org/maven2/bcel/bcel/5.1/", "repository_download_url": "https://repo1.maven.org/maven2/bcel/bcel/5.1/bcel-5.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/bcel/bcel/5.1/bcel-5.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/bcel/bcel/5.1/bcel-5.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/bcel/bcel@5.1" } ], "for_packages": [ - "pkg:maven/bcel/bcel@5.1" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -5891,7 +6467,25 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/bcel/bcel@5.1" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -5900,7 +6494,25 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/bcel/bcel@5.1" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -5908,7 +6520,27 @@ "path": "classworlds-1.1-alpha2", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { @@ -5970,20 +6602,39 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/classworlds/classworlds@1.1-alpha-2?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/classworlds/classworlds@1.1-alpha-2", "repository_homepage_url": "https://repo1.maven.org/maven2/classworlds/classworlds/1.1-alpha-2/", "repository_download_url": "https://repo1.maven.org/maven2/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.jar", - "api_data_url": "https://repo1.maven.org/maven2/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.pom" + "api_data_url": "https://repo1.maven.org/maven2/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/classworlds/classworlds@1.1-alpha-2" } ], "for_packages": [ - "pkg:maven/classworlds/classworlds@1.1-alpha-2" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -5992,7 +6643,25 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/classworlds/classworlds@1.1-alpha-2" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -6001,7 +6670,25 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/classworlds/classworlds@1.1-alpha-2" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -6009,7 +6696,27 @@ "path": "commons-fileupload-1.0", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { @@ -6092,10 +6799,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/commons-fileupload/commons-fileupload@1.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -6117,14 +6824,33 @@ "resolved_package": {} } ], - "purl": "pkg:maven/commons-fileupload/commons-fileupload@1.0", "repository_homepage_url": "https://repo1.maven.org/maven2/commons-fileupload/commons-fileupload/1.0/", "repository_download_url": "https://repo1.maven.org/maven2/commons-fileupload/commons-fileupload/1.0/commons-fileupload-1.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/commons-fileupload/commons-fileupload/1.0/commons-fileupload-1.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/commons-fileupload/commons-fileupload/1.0/commons-fileupload-1.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/commons-fileupload/commons-fileupload@1.0" } ], "for_packages": [ - "pkg:maven/commons-fileupload/commons-fileupload@1.0" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -6133,7 +6859,25 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/commons-fileupload/commons-fileupload@1.0" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -6142,7 +6886,25 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/commons-fileupload/commons-fileupload@1.0" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -6150,7 +6912,27 @@ "path": "commons-validator-1.2.0", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { @@ -6405,7 +7187,7 @@ "code_view_url": "http://svn.apache.org/viewcvs.cgi", "vcs_url": "svn+http://svn.apache.org/repos/asf/jakarta/commons/proper/validator/trunk", "copyright": null, - "license_expression": "apache-2.0", + "license_expression": "(apache-2.0 AND apache-2.0) AND unknown", "declared_license": [ { "name": "The Apache Software License, Version 2.0", @@ -6415,10 +7197,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/commons-validator/commons-validator@1.2.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -6476,14 +7258,33 @@ "resolved_package": {} } ], - "purl": "pkg:maven/commons-validator/commons-validator@1.2.0", "repository_homepage_url": "https://repo1.maven.org/maven2/commons-validator/commons-validator/1.2.0/", "repository_download_url": "https://repo1.maven.org/maven2/commons-validator/commons-validator/1.2.0/commons-validator-1.2.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/commons-validator/commons-validator/1.2.0/commons-validator-1.2.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/commons-validator/commons-validator/1.2.0/commons-validator-1.2.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/commons-validator/commons-validator@1.2.0" } ], "for_packages": [ - "pkg:maven/commons-validator/commons-validator@1.2.0" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -6492,7 +7293,25 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/commons-validator/commons-validator@1.2.0" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -6501,7 +7320,25 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/commons-validator/commons-validator@1.2.0" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -6509,7 +7346,28 @@ "path": "dbwebx_pom", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.dbwebx/tools@0.0.1.SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { @@ -6542,20 +7400,40 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.dbwebx/tools@0.0.1.SNAPSHOT?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.dbwebx/tools@0.0.1.SNAPSHOT", "repository_homepage_url": "https://repo1.maven.org/maven2/org/dbwebx/tools/0.0.1.SNAPSHOT/", "repository_download_url": "https://repo1.maven.org/maven2/org/dbwebx/tools/0.0.1.SNAPSHOT/tools-0.0.1.SNAPSHOT.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/dbwebx/tools/0.0.1.SNAPSHOT/tools-0.0.1.SNAPSHOT.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/dbwebx/tools/0.0.1.SNAPSHOT/tools-0.0.1.SNAPSHOT.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.dbwebx/tools@0.0.1.SNAPSHOT" } ], "for_packages": [ - "pkg:maven/org.dbwebx/tools@0.0.1.SNAPSHOT" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.dbwebx/tools@0.0.1.SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -6564,7 +7442,26 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/org.dbwebx/tools@0.0.1.SNAPSHOT" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.dbwebx/tools@0.0.1.SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -6573,7 +7470,26 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/org.dbwebx/tools@0.0.1.SNAPSHOT" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.dbwebx/tools@0.0.1.SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -6581,7 +7497,27 @@ "path": "easyconf-0.9.0", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { @@ -6650,10 +7586,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/easyconf/easyconf@0.9.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -6819,14 +7755,33 @@ "resolved_package": {} } ], - "purl": "pkg:maven/easyconf/easyconf@0.9.0", "repository_homepage_url": "https://repo1.maven.org/maven2/easyconf/easyconf/0.9.0/", "repository_download_url": "https://repo1.maven.org/maven2/easyconf/easyconf/0.9.0/easyconf-0.9.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/easyconf/easyconf/0.9.0/easyconf-0.9.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/easyconf/easyconf/0.9.0/easyconf-0.9.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/easyconf/easyconf@0.9.0" } ], "for_packages": [ - "pkg:maven/easyconf/easyconf@0.9.0" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -6835,7 +7790,25 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/easyconf/easyconf@0.9.0" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -6844,7 +7817,25 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/easyconf/easyconf@0.9.0" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -6852,7 +7843,27 @@ "path": "findbugs-maven-plugin-1.1.1", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { @@ -6911,7 +7922,7 @@ "code_view_url": "https://svn.codehaus.org/mojo/tags/findbugs-maven-plugin-1.1.1", "vcs_url": "svn+https://svn.codehaus.org/mojo/tags/findbugs-maven-plugin-1.1.1", "copyright": null, - "license_expression": "mit", + "license_expression": "unknown", "declared_license": [ { "name": "MIT", @@ -6921,10 +7932,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -6973,14 +7984,33 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/findbugs-maven-plugin/1.1.1/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/findbugs-maven-plugin/1.1.1/findbugs-maven-plugin-1.1.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/findbugs-maven-plugin/1.1.1/findbugs-maven-plugin-1.1.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/mojo/findbugs-maven-plugin/1.1.1/findbugs-maven-plugin-1.1.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1" } ], "for_packages": [ - "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -6989,7 +8019,25 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -6998,7 +8046,25 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -7006,7 +8072,28 @@ "path": "fna2_pom", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/com.adobe.ac.samples.lcds/flex_app@1.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { @@ -7039,10 +8126,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/com.adobe.ac.samples.lcds/flex_app@1.0-SNAPSHOT?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -7136,14 +8223,34 @@ "resolved_package": {} } ], - "purl": "pkg:maven/com.adobe.ac.samples.lcds/flex_app@1.0-SNAPSHOT", "repository_homepage_url": "https://repo1.maven.org/maven2/com/adobe/ac/samples/lcds/flex_app/1.0-SNAPSHOT/", "repository_download_url": "https://repo1.maven.org/maven2/com/adobe/ac/samples/lcds/flex_app/1.0-SNAPSHOT/flex_app-1.0-SNAPSHOT.jar", - "api_data_url": "https://repo1.maven.org/maven2/com/adobe/ac/samples/lcds/flex_app/1.0-SNAPSHOT/flex_app-1.0-SNAPSHOT.pom" + "api_data_url": "https://repo1.maven.org/maven2/com/adobe/ac/samples/lcds/flex_app/1.0-SNAPSHOT/flex_app-1.0-SNAPSHOT.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/com.adobe.ac.samples.lcds/flex_app@1.0-SNAPSHOT" } ], "for_packages": [ - "pkg:maven/com.adobe.ac.samples.lcds/flex_app@1.0-SNAPSHOT" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/com.adobe.ac.samples.lcds/flex_app@1.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -7152,7 +8259,26 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/com.adobe.ac.samples.lcds/flex_app@1.0-SNAPSHOT" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/com.adobe.ac.samples.lcds/flex_app@1.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -7161,7 +8287,26 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/com.adobe.ac.samples.lcds/flex_app@1.0-SNAPSHOT" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/com.adobe.ac.samples.lcds/flex_app@1.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -7169,7 +8314,28 @@ "path": "fna_pom_project", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/com.adobe.ac.samples.bash/bash_flex_app@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { @@ -7202,10 +8368,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/com.adobe.ac.samples.bash/bash_flex_app@1.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -7272,14 +8438,34 @@ "resolved_package": {} } ], - "purl": "pkg:maven/com.adobe.ac.samples.bash/bash_flex_app@1.0", "repository_homepage_url": "https://repo1.maven.org/maven2/com/adobe/ac/samples/bash/bash_flex_app/1.0/", "repository_download_url": "https://repo1.maven.org/maven2/com/adobe/ac/samples/bash/bash_flex_app/1.0/bash_flex_app-1.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/com/adobe/ac/samples/bash/bash_flex_app/1.0/bash_flex_app-1.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/com/adobe/ac/samples/bash/bash_flex_app/1.0/bash_flex_app-1.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/com.adobe.ac.samples.bash/bash_flex_app@1.0" } ], "for_packages": [ - "pkg:maven/com.adobe.ac.samples.bash/bash_flex_app@1.0" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/com.adobe.ac.samples.bash/bash_flex_app@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -7288,7 +8474,26 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/com.adobe.ac.samples.bash/bash_flex_app@1.0" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/com.adobe.ac.samples.bash/bash_flex_app@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -7297,7 +8502,26 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/com.adobe.ac.samples.bash/bash_flex_app@1.0" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/com.adobe.ac.samples.bash/bash_flex_app@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -7305,7 +8529,28 @@ "path": "foo-pom", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/com.myco.foo.bar.baz/baz-bar-parent@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { @@ -7343,7 +8588,7 @@ "code_view_url": "https://github.com/jode/baz-bar-parent/tree/master", "vcs_url": "git://github.com/jode/baz-bar-parent.git", "copyright": null, - "license_expression": "epl-1.0", + "license_expression": "(epl-1.0 AND bsd-new) AND unknown", "declared_license": [ { "name": "Eclipse Public License - v 1.0", @@ -7353,10 +8598,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/com.myco.foo.bar.baz/baz-bar-parent@1.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -7432,14 +8677,34 @@ "resolved_package": {} } ], - "purl": "pkg:maven/com.myco.foo.bar.baz/baz-bar-parent@1.0", "repository_homepage_url": "https://repo1.maven.org/maven2/com/myco/foo/bar/baz/baz-bar-parent/1.0/", "repository_download_url": "https://repo1.maven.org/maven2/com/myco/foo/bar/baz/baz-bar-parent/1.0/baz-bar-parent-1.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/com/myco/foo/bar/baz/baz-bar-parent/1.0/baz-bar-parent-1.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/com/myco/foo/bar/baz/baz-bar-parent/1.0/baz-bar-parent-1.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/com.myco.foo.bar.baz/baz-bar-parent@1.0" } ], "for_packages": [ - "pkg:maven/com.myco.foo.bar.baz/baz-bar-parent@1.0" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/com.myco.foo.bar.baz/baz-bar-parent@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -7448,7 +8713,26 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/com.myco.foo.bar.baz/baz-bar-parent@1.0" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/com.myco.foo.bar.baz/baz-bar-parent@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -7457,7 +8741,26 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/com.myco.foo.bar.baz/baz-bar-parent@1.0" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/com.myco.foo.bar.baz/baz-bar-parent@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -7465,7 +8768,28 @@ "path": "gero_pom", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.bundles/axis@1.4_1-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { @@ -7498,10 +8822,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.geronimo.bundles/axis@1.4_1-SNAPSHOT?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -7514,14 +8838,34 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.geronimo.bundles/axis@1.4_1-SNAPSHOT", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/geronimo/bundles/axis/1.4_1-SNAPSHOT/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/geronimo/bundles/axis/1.4_1-SNAPSHOT/axis-1.4_1-SNAPSHOT.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/geronimo/bundles/axis/1.4_1-SNAPSHOT/axis-1.4_1-SNAPSHOT.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/geronimo/bundles/axis/1.4_1-SNAPSHOT/axis-1.4_1-SNAPSHOT.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.geronimo.bundles/axis@1.4_1-SNAPSHOT" } ], "for_packages": [ - "pkg:maven/org.apache.geronimo.bundles/axis@1.4_1-SNAPSHOT" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.bundles/axis@1.4_1-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -7530,7 +8874,26 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/org.apache.geronimo.bundles/axis@1.4_1-SNAPSHOT" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.bundles/axis@1.4_1-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -7539,7 +8902,26 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/org.apache.geronimo.bundles/axis@1.4_1-SNAPSHOT" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.bundles/axis@1.4_1-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -7547,7 +8929,28 @@ "path": "idega_pom", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/com.idega.block.addon/com.idega.block.contract@4.1.3-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { @@ -7609,10 +9012,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/com.idega.block.addon/com.idega.block.contract@4.1.3-SNAPSHOT?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -7652,14 +9055,34 @@ "resolved_package": {} } ], - "purl": "pkg:maven/com.idega.block.addon/com.idega.block.contract@4.1.3-SNAPSHOT", "repository_homepage_url": "https://repo1.maven.org/maven2/com/idega/block/addon/com.idega.block.contract/4.1.3-SNAPSHOT/", "repository_download_url": "https://repo1.maven.org/maven2/com/idega/block/addon/com.idega.block.contract/4.1.3-SNAPSHOT/com.idega.block.contract-4.1.3-SNAPSHOT.jar", - "api_data_url": "https://repo1.maven.org/maven2/com/idega/block/addon/com.idega.block.contract/4.1.3-SNAPSHOT/com.idega.block.contract-4.1.3-SNAPSHOT.pom" + "api_data_url": "https://repo1.maven.org/maven2/com/idega/block/addon/com.idega.block.contract/4.1.3-SNAPSHOT/com.idega.block.contract-4.1.3-SNAPSHOT.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/com.idega.block.addon/com.idega.block.contract@4.1.3-SNAPSHOT" } ], "for_packages": [ - "pkg:maven/com.idega.block.addon/com.idega.block.contract@4.1.3-SNAPSHOT" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/com.idega.block.addon/com.idega.block.contract@4.1.3-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -7668,7 +9091,26 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/com.idega.block.addon/com.idega.block.contract@4.1.3-SNAPSHOT" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/com.idega.block.addon/com.idega.block.contract@4.1.3-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -7677,7 +9119,26 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/com.idega.block.addon/com.idega.block.contract@4.1.3-SNAPSHOT" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/com.idega.block.addon/com.idega.block.contract@4.1.3-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -7685,7 +9146,27 @@ "path": "jrecordbind-2.3.4", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { @@ -7723,7 +9204,7 @@ "code_view_url": "https://jrecordbind.dev.java.net/source/browse/jrecordbind/", "vcs_url": "svn+https://jrecordbind.dev.java.net/svn/jrecordbind/trunk/", "copyright": null, - "license_expression": "lgpl-2.0-plus AND lgpl-2.1-plus", + "license_expression": "((lgpl-2.1 OR apache-2.0) AND lgpl-2.1-plus) AND unknown", "declared_license": [ { "name": "LGPL", @@ -7733,10 +9214,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -7776,14 +9257,33 @@ "resolved_package": {} } ], - "purl": "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4", "repository_homepage_url": "https://repo1.maven.org/maven2/it/assist/jrecordbind/jrecordbind${artifactId.ext}/2.3.4/", "repository_download_url": "https://repo1.maven.org/maven2/it/assist/jrecordbind/jrecordbind${artifactId.ext}/2.3.4/jrecordbind${artifactId.ext}-2.3.4.jar", - "api_data_url": "https://repo1.maven.org/maven2/it/assist/jrecordbind/jrecordbind${artifactId.ext}/2.3.4/jrecordbind${artifactId.ext}-2.3.4.pom" + "api_data_url": "https://repo1.maven.org/maven2/it/assist/jrecordbind/jrecordbind${artifactId.ext}/2.3.4/jrecordbind${artifactId.ext}-2.3.4.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4" } ], "for_packages": [ - "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -7792,7 +9292,25 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -7801,7 +9319,25 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -7809,7 +9345,28 @@ "path": "log4j", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/log4j/log4j@1.2.15?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { @@ -7847,7 +9404,7 @@ "code_view_url": "http://svn.apache.org/viewcvs.cgi/logging/log4j/tags/v1_2_15_rc6", "vcs_url": "svn+http://svn.apache.org/repos/asf/logging/log4j/tags/v1_2_15_rc6", "copyright": null, - "license_expression": "apache-2.0", + "license_expression": "apache-2.0 AND unknown", "declared_license": [ { "name": "The Apache Software License, Version 2.0", @@ -7857,10 +9414,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/log4j/log4j@1.2.15?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -7918,14 +9475,34 @@ "resolved_package": {} } ], - "purl": "pkg:maven/log4j/log4j@1.2.15", "repository_homepage_url": "https://repo1.maven.org/maven2/log4j/log4j/1.2.15/", "repository_download_url": "https://repo1.maven.org/maven2/log4j/log4j/1.2.15/log4j-1.2.15.jar", - "api_data_url": "https://repo1.maven.org/maven2/log4j/log4j/1.2.15/log4j-1.2.15.pom" + "api_data_url": "https://repo1.maven.org/maven2/log4j/log4j/1.2.15/log4j-1.2.15.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/log4j/log4j@1.2.15" } ], "for_packages": [ - "pkg:maven/log4j/log4j@1.2.15" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/log4j/log4j@1.2.15?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -7934,7 +9511,26 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/log4j/log4j@1.2.15" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/log4j/log4j@1.2.15?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -7943,7 +9539,26 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/log4j/log4j@1.2.15" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/log4j/log4j@1.2.15?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -7951,7 +9566,27 @@ "path": "logback-access", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { @@ -7981,7 +9616,7 @@ "code_view_url": "http://svn.qos.ch/viewcvs/logback/access/trunk/", "vcs_url": "http://svn.qos.ch/repos/logback/access/trunk/", "copyright": null, - "license_expression": "lgpl-2.0-plus", + "license_expression": "lgpl-2.1-plus AND unknown", "declared_license": [ { "name": "GNU Lesser General Public License", @@ -7991,10 +9626,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/ch.qos.logback/logback-access@0.2.5?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -8043,14 +9678,33 @@ "resolved_package": {} } ], - "purl": "pkg:maven/ch.qos.logback/logback-access@0.2.5", "repository_homepage_url": "https://repo1.maven.org/maven2/ch/qos/logback/logback-access/0.2.5/", "repository_download_url": "https://repo1.maven.org/maven2/ch/qos/logback/logback-access/0.2.5/logback-access-0.2.5.jar", - "api_data_url": "https://repo1.maven.org/maven2/ch/qos/logback/logback-access/0.2.5/logback-access-0.2.5.pom" + "api_data_url": "https://repo1.maven.org/maven2/ch/qos/logback/logback-access/0.2.5/logback-access-0.2.5.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/ch.qos.logback/logback-access@0.2.5" } ], "for_packages": [ - "pkg:maven/ch.qos.logback/logback-access@0.2.5" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -8059,7 +9713,25 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/ch.qos.logback/logback-access@0.2.5" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -8068,7 +9740,25 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/ch.qos.logback/logback-access@0.2.5" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -8076,7 +9766,27 @@ "path": "plexus-interactivity-api-1.0-alpha-4", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { @@ -8194,10 +9904,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -8237,14 +9947,33 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4", "repository_homepage_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/", "repository_download_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4" } ], "for_packages": [ - "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -8253,7 +9982,25 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -8262,7 +10009,25 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -8270,7 +10035,28 @@ "path": "pom-generic", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ur.urwerk.test.modules/main@1.0.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { @@ -8303,20 +10089,40 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/ur.urwerk.test.modules/main@1.0.0-SNAPSHOT?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/ur.urwerk.test.modules/main@1.0.0-SNAPSHOT", "repository_homepage_url": "https://repo1.maven.org/maven2/ur/urwerk/test/modules/main/1.0.0-SNAPSHOT/", "repository_download_url": "https://repo1.maven.org/maven2/ur/urwerk/test/modules/main/1.0.0-SNAPSHOT/main-1.0.0-SNAPSHOT.jar", - "api_data_url": "https://repo1.maven.org/maven2/ur/urwerk/test/modules/main/1.0.0-SNAPSHOT/main-1.0.0-SNAPSHOT.pom" + "api_data_url": "https://repo1.maven.org/maven2/ur/urwerk/test/modules/main/1.0.0-SNAPSHOT/main-1.0.0-SNAPSHOT.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/ur.urwerk.test.modules/main@1.0.0-SNAPSHOT" } ], "for_packages": [ - "pkg:maven/ur.urwerk.test.modules/main@1.0.0-SNAPSHOT" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ur.urwerk.test.modules/main@1.0.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -8325,7 +10131,26 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/ur.urwerk.test.modules/main@1.0.0-SNAPSHOT" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ur.urwerk.test.modules/main@1.0.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -8334,7 +10159,26 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/ur.urwerk.test.modules/main@1.0.0-SNAPSHOT" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ur.urwerk.test.modules/main@1.0.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -8342,7 +10186,28 @@ "path": "proper-pom", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.bundles/axis@1.4_1-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { @@ -8375,10 +10240,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.geronimo.bundles/axis@1.4_1-SNAPSHOT?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -8391,14 +10256,34 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.geronimo.bundles/axis@1.4_1-SNAPSHOT", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/geronimo/bundles/axis/1.4_1-SNAPSHOT/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/geronimo/bundles/axis/1.4_1-SNAPSHOT/axis-1.4_1-SNAPSHOT.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/geronimo/bundles/axis/1.4_1-SNAPSHOT/axis-1.4_1-SNAPSHOT.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/geronimo/bundles/axis/1.4_1-SNAPSHOT/axis-1.4_1-SNAPSHOT.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.geronimo.bundles/axis@1.4_1-SNAPSHOT" } ], "for_packages": [ - "pkg:maven/org.apache.geronimo.bundles/axis@1.4_1-SNAPSHOT" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.bundles/axis@1.4_1-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -8407,7 +10292,26 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/org.apache.geronimo.bundles/axis@1.4_1-SNAPSHOT" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.bundles/axis@1.4_1-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -8416,7 +10320,26 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/org.apache.geronimo.bundles/axis@1.4_1-SNAPSHOT" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.bundles/axis@1.4_1-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -8424,7 +10347,28 @@ "path": "rel_pom", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.modeler/modeler@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { @@ -8457,10 +10401,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.modeler/modeler@0.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -8545,14 +10489,34 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.modeler/modeler@0.1", "repository_homepage_url": "https://repo1.maven.org/maven2/org/modeler/modeler/0.1/", "repository_download_url": "https://repo1.maven.org/maven2/org/modeler/modeler/0.1/modeler-0.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/modeler/modeler/0.1/modeler-0.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/modeler/modeler/0.1/modeler-0.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.modeler/modeler@0.1" } ], "for_packages": [ - "pkg:maven/org.modeler/modeler@0.1" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.modeler/modeler@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -8561,7 +10525,26 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/org.modeler/modeler@0.1" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.modeler/modeler@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -8570,7 +10553,26 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/org.modeler/modeler@0.1" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.modeler/modeler@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -8578,7 +10580,28 @@ "path": "sea_pom", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { @@ -8633,10 +10656,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -8973,14 +10996,34 @@ "resolved_package": {} } ], - "purl": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT", "repository_homepage_url": "https://repo1.maven.org/maven2/no/knowit/seam/root/2.2.0-SNAPSHOT/", "repository_download_url": "https://repo1.maven.org/maven2/no/knowit/seam/root/2.2.0-SNAPSHOT/root-2.2.0-SNAPSHOT.jar", - "api_data_url": "https://repo1.maven.org/maven2/no/knowit/seam/root/2.2.0-SNAPSHOT/root-2.2.0-SNAPSHOT.pom" + "api_data_url": "https://repo1.maven.org/maven2/no/knowit/seam/root/2.2.0-SNAPSHOT/root-2.2.0-SNAPSHOT.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT" } ], "for_packages": [ - "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -8989,7 +11032,26 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -8998,7 +11060,26 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/no.knowit.seam/root@2.2.0-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -9006,7 +11087,27 @@ "path": "specs-1.3", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { @@ -9039,10 +11140,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.apache.geronimo.specs/specs@1.3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -9055,14 +11156,33 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.apache.geronimo.specs/specs@1.3", "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/geronimo/specs/specs/1.3/", "repository_download_url": "https://repo1.maven.org/maven2/org/apache/geronimo/specs/specs/1.3/specs-1.3.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/apache/geronimo/specs/specs/1.3/specs-1.3.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/apache/geronimo/specs/specs/1.3/specs-1.3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.geronimo.specs/specs@1.3" } ], "for_packages": [ - "pkg:maven/org.apache.geronimo.specs/specs@1.3" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -9071,7 +11191,25 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/org.apache.geronimo.specs/specs@1.3" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -9080,7 +11218,25 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/org.apache.geronimo.specs/specs@1.3" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -9088,7 +11244,27 @@ "path": "spring-2.5.4", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { @@ -9126,7 +11302,7 @@ "code_view_url": "http://springframework.cvs.sourceforge.net/springframework/", "vcs_url": "cvs+pserver:anonymous:@springframework.cvs.sourceforge.net:/cvsroot/springframework/spring", "copyright": null, - "license_expression": "apache-2.0", + "license_expression": "apache-2.0 AND unknown", "declared_license": [ { "name": "The Apache Software License, Version 2.0", @@ -9136,10 +11312,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.springframework/spring@2.5.4?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -9728,14 +11904,33 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.springframework/spring@2.5.4", "repository_homepage_url": "https://repo1.maven.org/maven2/org/springframework/spring/2.5.4/", "repository_download_url": "https://repo1.maven.org/maven2/org/springframework/spring/2.5.4/spring-2.5.4.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/springframework/spring/2.5.4/spring-2.5.4.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/springframework/spring/2.5.4/spring-2.5.4.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.springframework/spring@2.5.4" } ], "for_packages": [ - "pkg:maven/org.springframework/spring@2.5.4" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -9744,7 +11939,25 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/org.springframework/spring@2.5.4" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -9753,7 +11966,25 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/org.springframework/spring@2.5.4" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -9761,7 +11992,27 @@ "path": "spring-orm-2.5.3", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { @@ -9799,7 +12050,7 @@ "code_view_url": "http://springframework.cvs.sourceforge.net/springframework/", "vcs_url": "cvs+pserver:anonymous:@springframework.cvs.sourceforge.net:/cvsroot/springframework/spring", "copyright": null, - "license_expression": "apache-2.0", + "license_expression": "apache-2.0 AND unknown", "declared_license": [ { "name": "The Apache Software License, Version 2.0", @@ -9809,10 +12060,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.springframework/spring-orm@2.5.3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -9960,14 +12211,33 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.springframework/spring-orm@2.5.3", "repository_homepage_url": "https://repo1.maven.org/maven2/org/springframework/spring-orm/2.5.3/", "repository_download_url": "https://repo1.maven.org/maven2/org/springframework/spring-orm/2.5.3/spring-orm-2.5.3.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/springframework/spring-orm/2.5.3/spring-orm-2.5.3.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/springframework/spring-orm/2.5.3/spring-orm-2.5.3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.springframework/spring-orm@2.5.3" } ], "for_packages": [ - "pkg:maven/org.springframework/spring-orm@2.5.3" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -9976,7 +12246,25 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/org.springframework/spring-orm@2.5.3" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -9985,7 +12273,25 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/org.springframework/spring-orm@2.5.3" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -9993,7 +12299,27 @@ "path": "spring-webmvc-2.5.3", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { @@ -10031,7 +12357,7 @@ "code_view_url": "http://springframework.cvs.sourceforge.net/springframework/", "vcs_url": "cvs+pserver:anonymous:@springframework.cvs.sourceforge.net:/cvsroot/springframework/spring", "copyright": null, - "license_expression": "apache-2.0", + "license_expression": "apache-2.0 AND unknown", "declared_license": [ { "name": "The Apache Software License, Version 2.0", @@ -10041,10 +12367,10 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.springframework/spring-webmvc@2.5.3?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -10246,14 +12572,33 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.springframework/spring-webmvc@2.5.3", "repository_homepage_url": "https://repo1.maven.org/maven2/org/springframework/spring-webmvc/2.5.3/", "repository_download_url": "https://repo1.maven.org/maven2/org/springframework/spring-webmvc/2.5.3/spring-webmvc-2.5.3.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/springframework/spring-webmvc/2.5.3/spring-webmvc-2.5.3.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/springframework/spring-webmvc/2.5.3/spring-webmvc-2.5.3.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.springframework/spring-webmvc@2.5.3" } ], "for_packages": [ - "pkg:maven/org.springframework/spring-webmvc@2.5.3" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -10262,7 +12607,25 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/org.springframework/spring-webmvc@2.5.3" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -10271,7 +12634,25 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/org.springframework/spring-webmvc@2.5.3" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -10279,7 +12660,27 @@ "path": "startup-trigger-plugin-0.1", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { @@ -10320,10 +12721,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -10336,14 +12737,33 @@ "resolved_package": {} } ], - "purl": "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1", "repository_homepage_url": "https://repo1.maven.org/maven2/org/jvnet/hudson/plugins/startup-trigger-plugin/0.1/", "repository_download_url": "https://repo1.maven.org/maven2/org/jvnet/hudson/plugins/startup-trigger-plugin/0.1/startup-trigger-plugin-0.1.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/jvnet/hudson/plugins/startup-trigger-plugin/0.1/startup-trigger-plugin-0.1.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/jvnet/hudson/plugins/startup-trigger-plugin/0.1/startup-trigger-plugin-0.1.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1" } ], "for_packages": [ - "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -10352,7 +12772,25 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -10361,7 +12799,25 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -10369,7 +12825,28 @@ "path": "uni_pom", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/de.fzj.unicore.rcp/eclipseSequencePlugin@0.0.1-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { @@ -10402,10 +12879,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/de.fzj.unicore.rcp/eclipseSequencePlugin@0.0.1-SNAPSHOT?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -10454,14 +12931,34 @@ "resolved_package": {} } ], - "purl": "pkg:maven/de.fzj.unicore.rcp/eclipseSequencePlugin@0.0.1-SNAPSHOT", "repository_homepage_url": "https://repo1.maven.org/maven2/de/fzj/unicore/rcp/eclipseSequencePlugin/0.0.1-SNAPSHOT/", "repository_download_url": "https://repo1.maven.org/maven2/de/fzj/unicore/rcp/eclipseSequencePlugin/0.0.1-SNAPSHOT/eclipseSequencePlugin-0.0.1-SNAPSHOT.jar", - "api_data_url": "https://repo1.maven.org/maven2/de/fzj/unicore/rcp/eclipseSequencePlugin/0.0.1-SNAPSHOT/eclipseSequencePlugin-0.0.1-SNAPSHOT.pom" + "api_data_url": "https://repo1.maven.org/maven2/de/fzj/unicore/rcp/eclipseSequencePlugin/0.0.1-SNAPSHOT/eclipseSequencePlugin-0.0.1-SNAPSHOT.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/de.fzj.unicore.rcp/eclipseSequencePlugin@0.0.1-SNAPSHOT" } ], "for_packages": [ - "pkg:maven/de.fzj.unicore.rcp/eclipseSequencePlugin@0.0.1-SNAPSHOT" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/de.fzj.unicore.rcp/eclipseSequencePlugin@0.0.1-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -10470,7 +12967,26 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/de.fzj.unicore.rcp/eclipseSequencePlugin@0.0.1-SNAPSHOT" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/de.fzj.unicore.rcp/eclipseSequencePlugin@0.0.1-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -10479,7 +12995,26 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/de.fzj.unicore.rcp/eclipseSequencePlugin@0.0.1-SNAPSHOT" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/de.fzj.unicore.rcp/eclipseSequencePlugin@0.0.1-SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -10487,7 +13022,28 @@ "path": "urwerky_pom", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ur.urwerk.test/ur.urwerk.test.module-y@1.0.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { @@ -10520,20 +13076,40 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/ur.urwerk.test/ur.urwerk.test.module-y@1.0.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/ur.urwerk.test/ur.urwerk.test.module-y@1.0.0", "repository_homepage_url": "https://repo1.maven.org/maven2/ur/urwerk/test/ur.urwerk.test.module-y/1.0.0/", "repository_download_url": "https://repo1.maven.org/maven2/ur/urwerk/test/ur.urwerk.test.module-y/1.0.0/ur.urwerk.test.module-y-1.0.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/ur/urwerk/test/ur.urwerk.test.module-y/1.0.0/ur.urwerk.test.module-y-1.0.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/ur/urwerk/test/ur.urwerk.test.module-y/1.0.0/ur.urwerk.test.module-y-1.0.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/ur.urwerk.test/ur.urwerk.test.module-y@1.0.0" } ], "for_packages": [ - "pkg:maven/ur.urwerk.test/ur.urwerk.test.module-y@1.0.0" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ur.urwerk.test/ur.urwerk.test.module-y@1.0.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -10542,7 +13118,26 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/ur.urwerk.test/ur.urwerk.test.module-y@1.0.0" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ur.urwerk.test/ur.urwerk.test.module-y@1.0.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -10551,7 +13146,26 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/ur.urwerk.test/ur.urwerk.test.module-y@1.0.0" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ur.urwerk.test/ur.urwerk.test.module-y@1.0.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -10559,7 +13173,28 @@ "path": "webre_pom", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.webreformatter.wrappers/com.google.gwt.query@0.1.5.SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { @@ -10592,20 +13227,40 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/org.webreformatter.wrappers/com.google.gwt.query@0.1.5.SNAPSHOT?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/org.webreformatter.wrappers/com.google.gwt.query@0.1.5.SNAPSHOT", "repository_homepage_url": "https://repo1.maven.org/maven2/org/webreformatter/wrappers/com.google.gwt.query/0.1.5.SNAPSHOT/", "repository_download_url": "https://repo1.maven.org/maven2/org/webreformatter/wrappers/com.google.gwt.query/0.1.5.SNAPSHOT/com.google.gwt.query-0.1.5.SNAPSHOT.jar", - "api_data_url": "https://repo1.maven.org/maven2/org/webreformatter/wrappers/com.google.gwt.query/0.1.5.SNAPSHOT/com.google.gwt.query-0.1.5.SNAPSHOT.pom" + "api_data_url": "https://repo1.maven.org/maven2/org/webreformatter/wrappers/com.google.gwt.query/0.1.5.SNAPSHOT/com.google.gwt.query-0.1.5.SNAPSHOT.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.webreformatter.wrappers/com.google.gwt.query@0.1.5.SNAPSHOT" } ], "for_packages": [ - "pkg:maven/org.webreformatter.wrappers/com.google.gwt.query@0.1.5.SNAPSHOT" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.webreformatter.wrappers/com.google.gwt.query@0.1.5.SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -10614,7 +13269,26 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/org.webreformatter.wrappers/com.google.gwt.query@0.1.5.SNAPSHOT" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.webreformatter.wrappers/com.google.gwt.query@0.1.5.SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -10623,7 +13297,26 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/org.webreformatter.wrappers/com.google.gwt.query@0.1.5.SNAPSHOT" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.webreformatter.wrappers/com.google.gwt.query@0.1.5.SNAPSHOT?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -10631,7 +13324,27 @@ "path": "xml-format-maven-plugin-3.0.6", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { @@ -10664,10 +13377,10 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -10734,14 +13447,33 @@ "resolved_package": {} } ], - "purl": "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6", "repository_homepage_url": "https://repo1.maven.org/maven2/au/com/acegi/xml-format-maven-plugin/3.0.6/", "repository_download_url": "https://repo1.maven.org/maven2/au/com/acegi/xml-format-maven-plugin/3.0.6/xml-format-maven-plugin-3.0.6.jar", - "api_data_url": "https://repo1.maven.org/maven2/au/com/acegi/xml-format-maven-plugin/3.0.6/xml-format-maven-plugin-3.0.6.pom" + "api_data_url": "https://repo1.maven.org/maven2/au/com/acegi/xml-format-maven-plugin/3.0.6/xml-format-maven-plugin-3.0.6.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6" } ], "for_packages": [ - "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -10750,7 +13482,25 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -10759,7 +13509,25 @@ "type": "file", "package_data": [], "for_packages": [ - "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6" + "pkg:maven/adarwin/adarwin@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jai@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.ant/ant-jsch@1.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/bcel/bcel@5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/classworlds/classworlds@1.1-alpha-2?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-fileupload/commons-fileupload@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/commons-validator/commons-validator@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/easyconf/easyconf@0.9.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/ch.qos.logback/logback-access@0.2.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.codehaus.plexus/plexus-interactivity-api@1.0-alpha-4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.apache.geronimo.specs/specs@1.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring@2.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-orm@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.springframework/spring-webmvc@2.5.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/org.jvnet.hudson.plugins/startup-trigger-plugin@0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:maven/au.com.acegi/xml-format-maven-plugin@3.0.6?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] } diff --git a/tests/packagedcode/data/plugin/mui-package-expected.json b/tests/packagedcode/data/plugin/mui-package-expected.json index de19896d197..84df1bd6eec 100644 --- a/tests/packagedcode/data/plugin/mui-package-expected.json +++ b/tests/packagedcode/data/plugin/mui-package-expected.json @@ -21,61 +21,7 @@ } ], "dependencies": [], - "packages": [ - { - "type": "winexe", - "namespace": null, - "name": "Microsoft\u00ae Windows\u00ae Operating System", - "version": "10.0.18362.1256", - "qualifiers": {}, - "subpath": null, - "primary_language": null, - "description": "Common Log File System Driver", - "release_date": null, - "parties": [ - { - "type": "organization", - "role": "author", - "name": "Microsoft Corporation", - "email": null, - "url": null - } - ], - "keywords": [], - "homepage_url": null, - "download_url": null, - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": "\u00a9 Microsoft Corporation. All rights reserved.", - "license_expression": "unknown", - "declared_license": { - "LegalCopyright": "\u00a9 Microsoft Corporation. All rights reserved.", - "LegalTrademarks": "", - "License": null - }, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "package_uuid": "pkg:winexe/Microsoft%C2%AE%20Windows%C2%AE%20Operating%20System@10.0.18362.1256", - "package_data_files": [ - "clfs.sys.mui" - ], - "files": [ - "clfs.sys.mui" - ], - "purl": "pkg:winexe/Microsoft%C2%AE%20Windows%C2%AE%20Operating%20System@10.0.18362.1256", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null - } - ], + "packages": [], "files": [ { "path": "clfs.sys.mui", @@ -112,26 +58,25 @@ "code_view_url": null, "vcs_url": null, "copyright": "\u00a9 Microsoft Corporation. All rights reserved.", - "license_expression": "unknown", + "license_expression": "unknown AND unknown", "declared_license": { "LegalCopyright": "\u00a9 Microsoft Corporation. All rights reserved.", "LegalTrademarks": "", "License": null }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:winexe/Microsoft%C2%AE%20Windows%C2%AE%20Operating%20System@10.0.18362.1256", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "windows_executable", + "purl": "pkg:winexe/Microsoft%C2%AE%20Windows%C2%AE%20Operating%20System@10.0.18362.1256" } ], - "for_packages": [ - "pkg:winexe/Microsoft%C2%AE%20Windows%C2%AE%20Operating%20System@10.0.18362.1256" - ], + "for_packages": [], "scan_errors": [] } ] diff --git a/tests/packagedcode/data/plugin/mum-package-expected.json b/tests/packagedcode/data/plugin/mum-package-expected.json index 2a444e2329a..bd39112528d 100644 --- a/tests/packagedcode/data/plugin/mum-package-expected.json +++ b/tests/packagedcode/data/plugin/mum-package-expected.json @@ -61,14 +61,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:windows-update/Package_1_for_KB4601060@10.0.3770.4", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "microsoft_update_manifest_mum", + "purl": "pkg:windows-update/Package_1_for_KB4601060@10.0.3770.4" } ], "for_packages": [], diff --git a/tests/packagedcode/data/plugin/mun-package-expected.json b/tests/packagedcode/data/plugin/mun-package-expected.json index 9227a3da03c..34d6f62d4b4 100644 --- a/tests/packagedcode/data/plugin/mun-package-expected.json +++ b/tests/packagedcode/data/plugin/mun-package-expected.json @@ -21,61 +21,7 @@ } ], "dependencies": [], - "packages": [ - { - "type": "winexe", - "namespace": null, - "name": "Microsoft\u00ae Windows\u00ae Operating System", - "version": "10.0.18362.1256", - "qualifiers": {}, - "subpath": null, - "primary_language": null, - "description": "Crypto API32", - "release_date": null, - "parties": [ - { - "type": "organization", - "role": "author", - "name": "Microsoft Corporation", - "email": null, - "url": null - } - ], - "keywords": [], - "homepage_url": null, - "download_url": null, - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": "\u00a9 Microsoft Corporation. All rights reserved.", - "license_expression": "unknown", - "declared_license": { - "LegalCopyright": "\u00a9 Microsoft Corporation. All rights reserved.", - "LegalTrademarks": "", - "License": null - }, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "package_uuid": "pkg:winexe/Microsoft%C2%AE%20Windows%C2%AE%20Operating%20System@10.0.18362.1256", - "package_data_files": [ - "crypt32.dll.mun" - ], - "files": [ - "crypt32.dll.mun" - ], - "purl": "pkg:winexe/Microsoft%C2%AE%20Windows%C2%AE%20Operating%20System@10.0.18362.1256", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null - } - ], + "packages": [], "files": [ { "path": "crypt32.dll.mun", @@ -112,26 +58,25 @@ "code_view_url": null, "vcs_url": null, "copyright": "\u00a9 Microsoft Corporation. All rights reserved.", - "license_expression": "unknown", + "license_expression": "unknown AND unknown", "declared_license": { "LegalCopyright": "\u00a9 Microsoft Corporation. All rights reserved.", "LegalTrademarks": "", "License": null }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:winexe/Microsoft%C2%AE%20Windows%C2%AE%20Operating%20System@10.0.18362.1256", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "windows_executable", + "purl": "pkg:winexe/Microsoft%C2%AE%20Windows%C2%AE%20Operating%20System@10.0.18362.1256" } ], - "for_packages": [ - "pkg:winexe/Microsoft%C2%AE%20Windows%C2%AE%20Operating%20System@10.0.18362.1256" - ], + "for_packages": [], "scan_errors": [] } ] diff --git a/tests/packagedcode/data/plugin/npm-package-expected.json b/tests/packagedcode/data/plugin/npm-package-expected.json index dafa8429aa2..11bf5f87ffa 100644 --- a/tests/packagedcode/data/plugin/npm-package-expected.json +++ b/tests/packagedcode/data/plugin/npm-package-expected.json @@ -29,9 +29,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/mocha", - "for_package": "pkg:npm/cookie-signature@1.0.3", - "lockfile": "package.json" + "dependency_uid": "pkg:npm/mocha?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/cookie-signature@1.0.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/should", @@ -41,9 +42,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/should", - "for_package": "pkg:npm/cookie-signature@1.0.3", - "lockfile": "package.json" + "dependency_uid": "pkg:npm/should?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/cookie-signature@1.0.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "package.json", + "datasource_id": "npm_package_json" } ], "packages": [ @@ -85,20 +87,19 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, - "package_uuid": "pkg:npm/cookie-signature@1.0.3", - "package_data_files": [ + "repository_homepage_url": "https://www.npmjs.com/package/cookie-signature", + "repository_download_url": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.3.tgz", + "api_data_url": "https://registry.npmjs.org/cookie-signature/1.0.3", + "package_uid": "pkg:npm/cookie-signature@1.0.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "package.json" ], - "files": [ - "package.json" + "datasource_ids": [ + "npm_package_json" ], - "purl": "pkg:npm/cookie-signature@1.0.3", - "repository_homepage_url": "https://www.npmjs.com/package/cookie-signature", - "repository_download_url": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.3.tgz", - "api_data_url": "https://registry.npmjs.org/cookie-signature/1.0.3" + "purl": "pkg:npm/cookie-signature@1.0.3" } ], "files": [ @@ -144,8 +145,8 @@ "license_expression": null, "declared_license": [], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -167,14 +168,15 @@ "resolved_package": {} } ], - "purl": "pkg:npm/cookie-signature@1.0.3", "repository_homepage_url": "https://www.npmjs.com/package/cookie-signature", "repository_download_url": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.3.tgz", - "api_data_url": "https://registry.npmjs.org/cookie-signature/1.0.3" + "api_data_url": "https://registry.npmjs.org/cookie-signature/1.0.3", + "datasource_id": "npm_package_json", + "purl": "pkg:npm/cookie-signature@1.0.3" } ], "for_packages": [ - "pkg:npm/cookie-signature@1.0.3" + "pkg:npm/cookie-signature@1.0.3?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] } diff --git a/tests/packagedcode/data/plugin/nuget-package-expected.json b/tests/packagedcode/data/plugin/nuget-package-expected.json index c65f7383929..91db04d670e 100644 --- a/tests/packagedcode/data/plugin/nuget-package-expected.json +++ b/tests/packagedcode/data/plugin/nuget-package-expected.json @@ -63,20 +63,19 @@ "license_expression": "apache-2.0", "declared_license": "http://www.apache.org/licenses/LICENSE-2.0.html", "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, - "package_uuid": "pkg:nuget/Castle.Core@4.2.1", - "package_data_files": [ + "repository_homepage_url": "https://www.nuget.org/packages/Castle.Core/4.2.1", + "repository_download_url": "https://www.nuget.org/api/v2/package/Castle.Core/4.2.1", + "api_data_url": "https://api.nuget.org/v3/registration3/castle.core/4.2.1.json", + "package_uid": "pkg:nuget/Castle.Core@4.2.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "Castle.Core.nuspec" ], - "files": [ - "Castle.Core.nuspec" + "datasource_ids": [ + "nuget_nupsec" ], - "purl": "pkg:nuget/Castle.Core@4.2.1", - "repository_homepage_url": "https://www.nuget.org/packages/Castle.Core/4.2.1", - "repository_download_url": "https://www.nuget.org/api/v2/package/Castle.Core/4.2.1", - "api_data_url": "https://api.nuget.org/v3/registration3/castle.core/4.2.1.json" + "purl": "pkg:nuget/Castle.Core@4.2.1" } ], "files": [ @@ -125,18 +124,19 @@ "license_expression": "apache-2.0", "declared_license": "http://www.apache.org/licenses/LICENSE-2.0.html", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:nuget/Castle.Core@4.2.1", "repository_homepage_url": "https://www.nuget.org/packages/Castle.Core/4.2.1", "repository_download_url": "https://www.nuget.org/api/v2/package/Castle.Core/4.2.1", - "api_data_url": "https://api.nuget.org/v3/registration3/castle.core/4.2.1.json" + "api_data_url": "https://api.nuget.org/v3/registration3/castle.core/4.2.1.json", + "datasource_id": "nuget_nupsec", + "purl": "pkg:nuget/Castle.Core@4.2.1" } ], "for_packages": [ - "pkg:nuget/Castle.Core@4.2.1" + "pkg:nuget/Castle.Core@4.2.1?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] } diff --git a/tests/packagedcode/data/plugin/opam-package-expected.json b/tests/packagedcode/data/plugin/opam-package-expected.json index 3da4d9bc905..4982b914fee 100644 --- a/tests/packagedcode/data/plugin/opam-package-expected.json +++ b/tests/packagedcode/data/plugin/opam-package-expected.json @@ -29,9 +29,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:opam/ocaml", - "for_package": null, - "lockfile": "ocaml-variants.opam" + "dependency_uid": "pkg:opam/ocaml?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "ocaml-variants.opam", + "datasource_id": "opam_file" }, { "purl": "pkg:opam/base-unix", @@ -41,9 +42,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:opam/base-unix", - "for_package": null, - "lockfile": "ocaml-variants.opam" + "dependency_uid": "pkg:opam/base-unix?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "ocaml-variants.opam", + "datasource_id": "opam_file" }, { "purl": "pkg:opam/base-bigarray", @@ -53,9 +55,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:opam/base-bigarray", - "for_package": null, - "lockfile": "ocaml-variants.opam" + "dependency_uid": "pkg:opam/base-bigarray?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "ocaml-variants.opam", + "datasource_id": "opam_file" }, { "purl": "pkg:opam/base-threads", @@ -65,9 +68,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:opam/base-threads", - "for_package": null, - "lockfile": "ocaml-variants.opam" + "dependency_uid": "pkg:opam/base-threads?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "ocaml-variants.opam", + "datasource_id": "opam_file" } ], "packages": [], @@ -152,8 +156,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -193,10 +197,11 @@ "resolved_package": {} } ], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "opam_file", + "purl": null } ], "for_packages": [], diff --git a/tests/packagedcode/data/plugin/phpcomposer-package-expected.json b/tests/packagedcode/data/plugin/phpcomposer-package-expected.json index e36d12b76b2..52cc46e4b7a 100644 --- a/tests/packagedcode/data/plugin/phpcomposer-package-expected.json +++ b/tests/packagedcode/data/plugin/phpcomposer-package-expected.json @@ -29,9 +29,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:composer/php", - "for_package": "pkg:composer/jandreasn/a-timer", - "lockfile": "composer.json" + "dependency_uid": "pkg:composer/php?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:composer/jandreasn/a-timer?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "composer.json", + "datasource_id": "php_composer_json" }, { "purl": "pkg:composer/phpunit/phpunit", @@ -41,9 +42,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:composer/phpunit/phpunit", - "for_package": "pkg:composer/jandreasn/a-timer", - "lockfile": "composer.json" + "dependency_uid": "pkg:composer/phpunit/phpunit?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:composer/jandreasn/a-timer?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "composer.json", + "datasource_id": "php_composer_json" }, { "purl": "pkg:composer/squizlabs/php_codesniffer", @@ -53,9 +55,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:composer/squizlabs/php_codesniffer", - "for_package": "pkg:composer/jandreasn/a-timer", - "lockfile": "composer.json" + "dependency_uid": "pkg:composer/squizlabs/php_codesniffer?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:composer/jandreasn/a-timer?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "composer.json", + "datasource_id": "php_composer_json" } ], "packages": [ @@ -100,20 +103,19 @@ "license_expression": "mit", "declared_license": "MIT", "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, - "package_uuid": "pkg:composer/jandreasn/a-timer", - "package_data_files": [ + "repository_homepage_url": "https://packagist.org/packages/jandreasn/a-timer", + "repository_download_url": null, + "api_data_url": "https://packagist.org/p/packages/jandreasn/a-timer.json", + "package_uid": "pkg:composer/jandreasn/a-timer?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "composer.json" ], - "files": [ - "composer.json" + "datasource_ids": [ + "php_composer_json" ], - "purl": "pkg:composer/jandreasn/a-timer", - "repository_homepage_url": "https://packagist.org/packages/jandreasn/a-timer", - "repository_download_url": null, - "api_data_url": "https://packagist.org/p/packages/jandreasn/a-timer.json" + "purl": "pkg:composer/jandreasn/a-timer" } ], "files": [ @@ -162,8 +164,8 @@ "license_expression": "mit", "declared_license": "MIT", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -194,14 +196,15 @@ "resolved_package": {} } ], - "purl": "pkg:composer/jandreasn/a-timer", "repository_homepage_url": "https://packagist.org/packages/jandreasn/a-timer", "repository_download_url": null, - "api_data_url": "https://packagist.org/p/packages/jandreasn/a-timer.json" + "api_data_url": "https://packagist.org/p/packages/jandreasn/a-timer.json", + "datasource_id": "php_composer_json", + "purl": "pkg:composer/jandreasn/a-timer" } ], "for_packages": [ - "pkg:composer/jandreasn/a-timer" + "pkg:composer/jandreasn/a-timer?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] } diff --git a/tests/packagedcode/data/plugin/pubspec-expected.json b/tests/packagedcode/data/plugin/pubspec-expected.json index 4ff4f130f8f..765f8b2f98d 100644 --- a/tests/packagedcode/data/plugin/pubspec-expected.json +++ b/tests/packagedcode/data/plugin/pubspec-expected.json @@ -20,14 +20,192 @@ } } ], - "dependencies": [], - "packages": [], + "dependencies": [ + { + "purl": "pkg:pubspec/http", + "extracted_requirement": ">=0.12.0 <0.13.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:pubspec/http?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:dart/openapi@1.0.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "authors-pubspec.yaml", + "datasource_id": "pubspec_yaml" + }, + { + "purl": "pkg:pubspec/test", + "extracted_requirement": "^1.3.0", + "scope": "dev_dependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:pubspec/test?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:dart/openapi@1.0.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "authors-pubspec.yaml", + "datasource_id": "pubspec_yaml" + }, + { + "purl": "pkg:pubspec/sdk", + "extracted_requirement": ">=2.0.0 <3.0.0", + "scope": "environment", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:pubspec/sdk?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:dart/openapi@1.0.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "authors-pubspec.yaml", + "datasource_id": "pubspec_yaml" + } + ], + "packages": [ + { + "type": "dart", + "namespace": null, + "name": "openapi", + "version": "1.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "dart", + "description": "OpenAPI API client", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "John Does", + "email": null, + "url": null + }, + { + "type": "person", + "role": "author", + "name": "Author ", + "email": null, + "url": null + } + ], + "keywords": [], + "homepage_url": "homepage", + "download_url": "https://pub.dartlang.org/packages/openapi/versions/1.0.0.tar.gz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "extra_data": {}, + "repository_homepage_url": "https://pub.dev/packages/openapi/versions/1.0.0", + "repository_download_url": "https://pub.dartlang.org/packages/openapi/versions/1.0.0.tar.gz", + "api_data_url": "https://pub.dev/api/packages/openapi/versions/1.0.0", + "package_uid": "pkg:dart/openapi@1.0.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "authors-pubspec.yaml" + ], + "datasource_ids": [ + "pubspec_yaml" + ], + "purl": "pkg:dart/openapi@1.0.0" + } + ], "files": [ { "path": "authors-pubspec.yaml", "type": "file", - "package_data": [], - "for_packages": [], + "package_data": [ + { + "type": "dart", + "namespace": null, + "name": "openapi", + "version": "1.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "dart", + "description": "OpenAPI API client", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "John Does", + "email": null, + "url": null + }, + { + "type": "person", + "role": "author", + "name": "Author ", + "email": null, + "url": null + } + ], + "keywords": [], + "homepage_url": "homepage", + "download_url": "https://pub.dartlang.org/packages/openapi/versions/1.0.0.tar.gz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:pubspec/http", + "extracted_requirement": ">=0.12.0 <0.13.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:pubspec/test", + "extracted_requirement": "^1.3.0", + "scope": "dev_dependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:pubspec/sdk", + "extracted_requirement": ">=2.0.0 <3.0.0", + "scope": "environment", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + } + ], + "repository_homepage_url": "https://pub.dev/packages/openapi/versions/1.0.0", + "repository_download_url": "https://pub.dartlang.org/packages/openapi/versions/1.0.0.tar.gz", + "api_data_url": "https://pub.dev/api/packages/openapi/versions/1.0.0", + "datasource_id": "pubspec_yaml", + "purl": "pkg:dart/openapi@1.0.0" + } + ], + "for_packages": [ + "pkg:dart/openapi@1.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] } ] diff --git a/tests/packagedcode/data/plugin/pubspec-lock-expected.json b/tests/packagedcode/data/plugin/pubspec-lock-expected.json index 77e7665cc05..fa3dca4daf7 100644 --- a/tests/packagedcode/data/plugin/pubspec-lock-expected.json +++ b/tests/packagedcode/data/plugin/pubspec-lock-expected.json @@ -29,9 +29,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/dart", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/dart?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/_fe_analyzer_shared@22.0.0", @@ -41,9 +42,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/_fe_analyzer_shared@22.0.0", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/_fe_analyzer_shared@22.0.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/analyzer@1.7.1", @@ -53,9 +55,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/analyzer@1.7.1", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/analyzer@1.7.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/args@2.1.1", @@ -65,9 +68,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/args@2.1.1", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/args@2.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/async@2.7.0", @@ -77,9 +81,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/async@2.7.0", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/async@2.7.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/boolean_selector@2.1.0", @@ -89,9 +94,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/boolean_selector@2.1.0", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/boolean_selector@2.1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/charcode@1.3.1", @@ -101,9 +107,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/charcode@1.3.1", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/charcode@1.3.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/cli_util@0.3.2", @@ -113,9 +120,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/cli_util@0.3.2", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/cli_util@0.3.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/collection@1.15.0", @@ -125,9 +133,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/collection@1.15.0", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/collection@1.15.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/convert@3.0.1", @@ -137,9 +146,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/convert@3.0.1", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/convert@3.0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/coverage@1.0.3", @@ -149,9 +159,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/coverage@1.0.3", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/coverage@1.0.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/crypto@3.0.1", @@ -161,9 +172,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/crypto@3.0.1", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/crypto@3.0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/csslib@0.17.0", @@ -173,9 +185,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/csslib@0.17.0", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/csslib@0.17.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/dartdoc@1.0.0", @@ -185,9 +198,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/dartdoc@1.0.0", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/dartdoc@1.0.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/file@6.1.2", @@ -197,9 +211,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/file@6.1.2", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/file@6.1.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/frontend_server_client@2.1.0", @@ -209,9 +224,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/frontend_server_client@2.1.0", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/frontend_server_client@2.1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/glob@2.0.1", @@ -221,9 +237,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/glob@2.0.1", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/glob@2.0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/html@0.15.0", @@ -233,9 +250,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/html@0.15.0", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/html@0.15.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/http@0.13.3", @@ -245,9 +263,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/http@0.13.3", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/http@0.13.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/http_multi_server@3.0.1", @@ -257,9 +276,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/http_multi_server@3.0.1", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/http_multi_server@3.0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/http_parser@4.0.0", @@ -269,9 +289,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/http_parser@4.0.0", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/http_parser@4.0.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/io@1.0.2", @@ -281,9 +302,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/io@1.0.2", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/io@1.0.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/js@0.6.3", @@ -293,9 +315,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/js@0.6.3", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/js@0.6.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/json_annotation@4.0.1", @@ -305,9 +328,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/json_annotation@4.0.1", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/json_annotation@4.0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/logging@1.0.1", @@ -317,9 +341,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/logging@1.0.1", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/logging@1.0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/markdown@4.0.0", @@ -329,9 +354,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/markdown@4.0.0", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/markdown@4.0.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/matcher@0.12.10", @@ -341,9 +367,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/matcher@0.12.10", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/matcher@0.12.10?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/meta@1.3.0", @@ -353,9 +380,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/meta@1.3.0", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/meta@1.3.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/mime@1.0.0", @@ -365,9 +393,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/mime@1.0.0", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/mime@1.0.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/node_preamble@2.0.1", @@ -377,9 +406,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/node_preamble@2.0.1", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/node_preamble@2.0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/package_config@2.0.0", @@ -389,9 +419,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/package_config@2.0.0", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/package_config@2.0.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/path@1.8.0", @@ -401,9 +432,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/path@1.8.0", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/path@1.8.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/pedantic@1.11.1", @@ -413,9 +445,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/pedantic@1.11.1", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/pedantic@1.11.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/pool@1.5.0", @@ -425,9 +458,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/pool@1.5.0", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/pool@1.5.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/pub_dartdoc_data@0.0.0", @@ -437,9 +471,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/pub_dartdoc_data@0.0.0", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/pub_dartdoc_data@0.0.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/pub_semver@2.0.0", @@ -449,9 +484,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/pub_semver@2.0.0", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/pub_semver@2.0.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/shelf@1.1.4", @@ -461,9 +497,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/shelf@1.1.4", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/shelf@1.1.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/shelf_packages_handler@3.0.0", @@ -473,9 +510,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/shelf_packages_handler@3.0.0", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/shelf_packages_handler@3.0.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/shelf_static@1.0.0", @@ -485,9 +523,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/shelf_static@1.0.0", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/shelf_static@1.0.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/shelf_web_socket@1.0.1", @@ -497,9 +536,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/shelf_web_socket@1.0.1", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/shelf_web_socket@1.0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/source_map_stack_trace@2.1.0", @@ -509,9 +549,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/source_map_stack_trace@2.1.0", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/source_map_stack_trace@2.1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/source_maps@0.10.10", @@ -521,9 +562,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/source_maps@0.10.10", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/source_maps@0.10.10?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/source_span@1.8.1", @@ -533,9 +575,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/source_span@1.8.1", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/source_span@1.8.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/stack_trace@1.10.0", @@ -545,9 +588,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/stack_trace@1.10.0", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/stack_trace@1.10.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/stream_channel@2.1.0", @@ -557,9 +601,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/stream_channel@2.1.0", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/stream_channel@2.1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/string_scanner@1.1.0", @@ -569,9 +614,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/string_scanner@1.1.0", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/string_scanner@1.1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/tar@0.4.0", @@ -581,9 +627,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/tar@0.4.0", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/tar@0.4.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/term_glyph@1.2.0", @@ -593,9 +640,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/term_glyph@1.2.0", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/term_glyph@1.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/test@1.17.9", @@ -605,9 +653,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/test@1.17.9", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/test@1.17.9?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/test_api@0.4.1", @@ -617,9 +666,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/test_api@0.4.1", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/test_api@0.4.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/test_core@0.3.29", @@ -629,9 +679,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/test_core@0.3.29", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/test_core@0.3.29?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/typed_data@1.3.0", @@ -641,9 +692,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/typed_data@1.3.0", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/typed_data@1.3.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/vm_service@7.1.0", @@ -653,9 +705,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/vm_service@7.1.0", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/vm_service@7.1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/watcher@1.0.0", @@ -665,9 +718,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/watcher@1.0.0", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/watcher@1.0.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/web_socket_channel@2.1.0", @@ -677,9 +731,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/web_socket_channel@2.1.0", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/web_socket_channel@2.1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/webkit_inspection_protocol@1.0.0", @@ -689,9 +744,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/webkit_inspection_protocol@1.0.0", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/webkit_inspection_protocol@1.0.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" }, { "purl": "pkg:pubspec/yaml@3.1.0", @@ -701,9 +757,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pubspec/yaml@3.1.0", - "for_package": null, - "lockfile": "dart-pubspec.lock" + "dependency_uid": "pkg:pubspec/yaml@3.1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "dart-pubspec.lock", + "datasource_id": "pubspec_lock" } ], "packages": [], @@ -738,8 +795,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -1256,10 +1313,11 @@ "resolved_package": {} } ], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "pubspec_lock", + "purl": null } ], "for_packages": [], diff --git a/tests/packagedcode/data/plugin/python-package-expected.json b/tests/packagedcode/data/plugin/python-package-expected.json index 6c21ad06e36..4e25cb64fb0 100644 --- a/tests/packagedcode/data/plugin/python-package-expected.json +++ b/tests/packagedcode/data/plugin/python-package-expected.json @@ -29,9 +29,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pypi/atomicwrites@1.1.5", - "for_package": "pkg:pypi/atomicwrites@1.2.1", - "lockfile": "atomicwrites/Pipfile.lock" + "dependency_uid": "pkg:pypi/atomicwrites@1.1.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "atomicwrites/Pipfile.lock", + "datasource_id": "pipfile_lock" }, { "purl": "pkg:pypi/attrs@18.1.0", @@ -41,9 +42,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pypi/attrs@18.1.0", - "for_package": "pkg:pypi/atomicwrites@1.2.1", - "lockfile": "atomicwrites/Pipfile.lock" + "dependency_uid": "pkg:pypi/attrs@18.1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "atomicwrites/Pipfile.lock", + "datasource_id": "pipfile_lock" }, { "purl": "pkg:pypi/contextlib2@0.5.5", @@ -53,9 +55,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pypi/contextlib2@0.5.5", - "for_package": "pkg:pypi/atomicwrites@1.2.1", - "lockfile": "atomicwrites/Pipfile.lock" + "dependency_uid": "pkg:pypi/contextlib2@0.5.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "atomicwrites/Pipfile.lock", + "datasource_id": "pipfile_lock" }, { "purl": "pkg:pypi/coverage@4.5.1", @@ -65,9 +68,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pypi/coverage@4.5.1", - "for_package": "pkg:pypi/atomicwrites@1.2.1", - "lockfile": "atomicwrites/Pipfile.lock" + "dependency_uid": "pkg:pypi/coverage@4.5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "atomicwrites/Pipfile.lock", + "datasource_id": "pipfile_lock" }, { "purl": "pkg:pypi/funcsigs@1.0.2", @@ -77,9 +81,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pypi/funcsigs@1.0.2", - "for_package": "pkg:pypi/atomicwrites@1.2.1", - "lockfile": "atomicwrites/Pipfile.lock" + "dependency_uid": "pkg:pypi/funcsigs@1.0.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "atomicwrites/Pipfile.lock", + "datasource_id": "pipfile_lock" }, { "purl": "pkg:pypi/mock@2.0.0", @@ -89,9 +94,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pypi/mock@2.0.0", - "for_package": "pkg:pypi/atomicwrites@1.2.1", - "lockfile": "atomicwrites/Pipfile.lock" + "dependency_uid": "pkg:pypi/mock@2.0.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "atomicwrites/Pipfile.lock", + "datasource_id": "pipfile_lock" }, { "purl": "pkg:pypi/more-itertools@4.2.0", @@ -101,9 +107,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pypi/more-itertools@4.2.0", - "for_package": "pkg:pypi/atomicwrites@1.2.1", - "lockfile": "atomicwrites/Pipfile.lock" + "dependency_uid": "pkg:pypi/more-itertools@4.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "atomicwrites/Pipfile.lock", + "datasource_id": "pipfile_lock" }, { "purl": "pkg:pypi/pbr@4.2.0", @@ -113,9 +120,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pypi/pbr@4.2.0", - "for_package": "pkg:pypi/atomicwrites@1.2.1", - "lockfile": "atomicwrites/Pipfile.lock" + "dependency_uid": "pkg:pypi/pbr@4.2.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "atomicwrites/Pipfile.lock", + "datasource_id": "pipfile_lock" }, { "purl": "pkg:pypi/pluggy@0.6.0", @@ -125,9 +133,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pypi/pluggy@0.6.0", - "for_package": "pkg:pypi/atomicwrites@1.2.1", - "lockfile": "atomicwrites/Pipfile.lock" + "dependency_uid": "pkg:pypi/pluggy@0.6.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "atomicwrites/Pipfile.lock", + "datasource_id": "pipfile_lock" }, { "purl": "pkg:pypi/py@1.5.4", @@ -137,9 +146,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pypi/py@1.5.4", - "for_package": "pkg:pypi/atomicwrites@1.2.1", - "lockfile": "atomicwrites/Pipfile.lock" + "dependency_uid": "pkg:pypi/py@1.5.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "atomicwrites/Pipfile.lock", + "datasource_id": "pipfile_lock" }, { "purl": "pkg:pypi/pytest@3.6.3", @@ -149,9 +159,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pypi/pytest@3.6.3", - "for_package": "pkg:pypi/atomicwrites@1.2.1", - "lockfile": "atomicwrites/Pipfile.lock" + "dependency_uid": "pkg:pypi/pytest@3.6.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "atomicwrites/Pipfile.lock", + "datasource_id": "pipfile_lock" }, { "purl": "pkg:pypi/pytest-cov@2.5.1", @@ -161,9 +172,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pypi/pytest-cov@2.5.1", - "for_package": "pkg:pypi/atomicwrites@1.2.1", - "lockfile": "atomicwrites/Pipfile.lock" + "dependency_uid": "pkg:pypi/pytest-cov@2.5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "atomicwrites/Pipfile.lock", + "datasource_id": "pipfile_lock" }, { "purl": "pkg:pypi/pytest-vcr@0.3.0", @@ -173,9 +185,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pypi/pytest-vcr@0.3.0", - "for_package": "pkg:pypi/atomicwrites@1.2.1", - "lockfile": "atomicwrites/Pipfile.lock" + "dependency_uid": "pkg:pypi/pytest-vcr@0.3.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "atomicwrites/Pipfile.lock", + "datasource_id": "pipfile_lock" }, { "purl": "pkg:pypi/pyyaml@3.13", @@ -185,9 +198,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pypi/pyyaml@3.13", - "for_package": "pkg:pypi/atomicwrites@1.2.1", - "lockfile": "atomicwrites/Pipfile.lock" + "dependency_uid": "pkg:pypi/pyyaml@3.13?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "atomicwrites/Pipfile.lock", + "datasource_id": "pipfile_lock" }, { "purl": "pkg:pypi/six@1.11.0", @@ -197,9 +211,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pypi/six@1.11.0", - "for_package": "pkg:pypi/atomicwrites@1.2.1", - "lockfile": "atomicwrites/Pipfile.lock" + "dependency_uid": "pkg:pypi/six@1.11.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "atomicwrites/Pipfile.lock", + "datasource_id": "pipfile_lock" }, { "purl": "pkg:pypi/vcrpy@1.13.0", @@ -209,9 +224,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pypi/vcrpy@1.13.0", - "for_package": "pkg:pypi/atomicwrites@1.2.1", - "lockfile": "atomicwrites/Pipfile.lock" + "dependency_uid": "pkg:pypi/vcrpy@1.13.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "atomicwrites/Pipfile.lock", + "datasource_id": "pipfile_lock" }, { "purl": "pkg:pypi/wrapt@1.10.11", @@ -221,9 +237,10 @@ "is_optional": false, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:pypi/wrapt@1.10.11", - "for_package": "pkg:pypi/atomicwrites@1.2.1", - "lockfile": "atomicwrites/Pipfile.lock" + "dependency_uid": "pkg:pypi/wrapt@1.10.11?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "atomicwrites/Pipfile.lock", + "datasource_id": "pipfile_lock" }, { "purl": "pkg:pypi/setuptools", @@ -233,9 +250,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:pypi/setuptools", - "for_package": null, - "lockfile": "requirements/requirements.txt" + "dependency_uid": "pkg:pypi/setuptools?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "requirements/requirements.txt", + "datasource_id": "pip_requirements" }, { "purl": "pkg:pypi/nose", @@ -245,9 +263,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:pypi/nose", - "for_package": null, - "lockfile": "requirements/requirements.txt" + "dependency_uid": "pkg:pypi/nose?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "requirements/requirements.txt", + "datasource_id": "pip_requirements" }, { "purl": "pkg:pypi/chardet", @@ -257,9 +276,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:pypi/chardet", - "for_package": null, - "lockfile": "requirements/requirements.txt" + "dependency_uid": "pkg:pypi/chardet?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": null, + "datafile_path": "requirements/requirements.txt", + "datasource_id": "pip_requirements" } ], "packages": [ @@ -299,20 +319,19 @@ "license": "Simplified BSD" }, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, - "package_uuid": "pkg:pypi/arpy@0.1.1", - "package_data_files": [ + "repository_homepage_url": "https://pypi.org/project/arpy", + "repository_download_url": "https://pypi.org/packages/source/a/arpy/arpy-0.1.1.tar.gz", + "api_data_url": "https://pypi.org/pypi/arpy/0.1.1/json", + "package_uid": "pkg:pypi/arpy@0.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "arpy/setup.py" ], - "files": [ - "arpy/setup.py" + "datasource_ids": [ + "pypi_setup_py" ], - "purl": "pkg:pypi/arpy@0.1.1", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", - "repository_download_url": "https://pypi.org/packages/source/a/arpy/arpy-0.1.1.tar.gz", - "api_data_url": "https://pypi.org/pypi/arpy/0.1.1/json" + "purl": "pkg:pypi/arpy@0.1.1" }, { "type": "pypi", @@ -347,13 +366,13 @@ "size": null, "sha1": null, "md5": null, - "sha256": "6e45251662433bf51f96fb3d2204b65416fece329d60e6235c0f0edc416cfe24", + "sha256": null, "sha512": null, "bug_tracking_url": null, "code_view_url": null, "vcs_url": null, "copyright": null, - "license_expression": "mit", + "license_expression": "mit AND mit", "declared_license": { "license": "MIT", "classifiers": [ @@ -361,22 +380,59 @@ ] }, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, - "package_uuid": "pkg:pypi/atomicwrites@1.2.1", - "package_data_files": [ - "atomicwrites/atomicwrites-1.2.1-py2.py3-none-any.whl", - "atomicwrites/Pipfile.lock" + "repository_homepage_url": "https://pypi.org/project/atomicwrites", + "repository_download_url": "https://pypi.org/packages/source/a/atomicwrites/atomicwrites-1.2.1.tar.gz", + "api_data_url": "https://pypi.org/pypi/atomicwrites/1.2.1/json", + "package_uid": "pkg:pypi/atomicwrites@1.2.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "atomicwrites/atomicwrites-1.2.1-py2.py3-none-any.whl" ], - "files": [ - "atomicwrites/atomicwrites-1.2.1-py2.py3-none-any.whl", - "atomicwrites/Pipfile.lock" + "datasource_ids": [ + "pypi_wheel" ], - "purl": "pkg:pypi/atomicwrites@1.2.1", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", - "repository_download_url": "https://pypi.org/packages/source/a/atomicwrites/atomicwrites-1.2.1.tar.gz", - "api_data_url": "https://pypi.org/pypi/atomicwrites/1.2.1/json" + "purl": "pkg:pypi/atomicwrites@1.2.1" + }, + { + "type": "chef", + "namespace": null, + "name": "six", + "version": "1.10.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "Ruby", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://supermarket.chef.io/cookbooks/six/versions/1.10.0/download", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": "mit", + "declared_license": "MIT", + "notice_text": null, + "source_packages": [], + "extra_data": {}, + "repository_homepage_url": "https://supermarket.chef.io/cookbooks/six/versions/1.10.0/", + "repository_download_url": "https://supermarket.chef.io/cookbooks/six/versions/1.10.0/download", + "api_data_url": "https://supermarket.chef.io/api/v1/cookbooks/six/versions/1.10.0", + "package_uid": "pkg:chef/six@1.10.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "Six/metadata.json" + ], + "datasource_ids": [ + "chef_cookbook_metadata_json" + ], + "purl": "pkg:chef/six@1.10.0" }, { "type": "pypi", @@ -415,7 +471,7 @@ "code_view_url": null, "vcs_url": null, "copyright": null, - "license_expression": "mit", + "license_expression": "mit AND mit", "declared_license": { "license": "MIT", "classifiers": [ @@ -423,65 +479,19 @@ ] }, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, - "package_uuid": "pkg:pypi/six@1.10.0", - "package_data_files": [ - "Six/METADATA" - ], - "files": [ - "Six/DESCRIPTION.rst", - "Six/METADATA", - "Six/metadata.json" - ], - "purl": "pkg:pypi/six@1.10.0", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/six", "repository_download_url": "https://pypi.org/packages/source/s/six/six-1.10.0.tar.gz", - "api_data_url": "https://pypi.org/pypi/six/1.10.0/json" - }, - { - "type": "chef", - "namespace": null, - "name": "six", - "version": "1.10.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "Ruby", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://supermarket.chef.io/cookbooks/six/versions/1.10.0/download", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": "mit", - "declared_license": "MIT", - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "package_uuid": "pkg:chef/six@1.10.0", - "package_data_files": [ - "Six/metadata.json" + "api_data_url": "https://pypi.org/pypi/six/1.10.0/json", + "package_uid": "pkg:pypi/six@1.10.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "Six/Six.dist-info/METADATA" ], - "files": [ - "Six/DESCRIPTION.rst", - "Six/METADATA", - "Six/metadata.json" + "datasource_ids": [ + "pypi_wheel_metadata" ], - "purl": "pkg:chef/six@1.10.0", - "repository_homepage_url": null, - "repository_download_url": "https://supermarket.chef.io/cookbooks/six/versions/1.10.0/download", - "api_data_url": "https://supermarket.chef.io/api/v1/cookbooks/six/versions/1.10.0" + "purl": "pkg:pypi/six@1.10.0" }, { "type": "pypi", @@ -514,25 +524,24 @@ "code_view_url": null, "vcs_url": null, "copyright": null, - "license_expression": "unknown", + "license_expression": "bsd-new", "declared_license": { "license": "BSD" }, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, - "package_uuid": "pkg:pypi/ticketimport@0.7a", - "package_data_files": [ + "repository_homepage_url": "https://pypi.org/project/TicketImport", + "repository_download_url": "https://pypi.org/packages/source/T/TicketImport/TicketImport-0.7a.tar.gz", + "api_data_url": "https://pypi.org/pypi/TicketImport/0.7a/json", + "package_uid": "pkg:pypi/ticketimport@0.7a?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "TicketImport/PKG-INFO" ], - "files": [ - "TicketImport/PKG-INFO" + "datasource_ids": [ + "pypi_sdist_pkginfo" ], - "purl": "pkg:pypi/ticketimport@0.7a", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", - "repository_download_url": "https://pypi.org/packages/source/T/TicketImport/TicketImport-0.7a.tar.gz", - "api_data_url": "https://pypi.org/pypi/TicketImport/0.7a/json" + "purl": "pkg:pypi/ticketimport@0.7a" } ], "files": [ @@ -547,14 +556,18 @@ "path": "Six/DESCRIPTION.rst", "type": "file", "package_data": [], - "for_packages": [ - "pkg:pypi/six@1.10.0", - "pkg:chef/six@1.10.0" - ], + "for_packages": [], "scan_errors": [] }, { - "path": "Six/METADATA", + "path": "Six/Six.dist-info", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "Six/Six.dist-info/METADATA", "type": "file", "package_data": [ { @@ -594,7 +607,7 @@ "code_view_url": null, "vcs_url": null, "copyright": null, - "license_expression": "mit", + "license_expression": "mit AND mit", "declared_license": { "license": "MIT", "classifiers": [ @@ -602,19 +615,19 @@ ] }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:pypi/six@1.10.0", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/six", "repository_download_url": "https://pypi.org/packages/source/s/six/six-1.10.0.tar.gz", - "api_data_url": "https://pypi.org/pypi/six/1.10.0/json" + "api_data_url": "https://pypi.org/pypi/six/1.10.0/json", + "datasource_id": "pypi_wheel_metadata", + "purl": "pkg:pypi/six@1.10.0" } ], "for_packages": [ - "pkg:pypi/six@1.10.0", - "pkg:chef/six@1.10.0" + "pkg:pypi/six@1.10.0?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -648,19 +661,19 @@ "license_expression": "mit", "declared_license": "MIT", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:chef/six@1.10.0", - "repository_homepage_url": null, + "repository_homepage_url": "https://supermarket.chef.io/cookbooks/six/versions/1.10.0/", "repository_download_url": "https://supermarket.chef.io/cookbooks/six/versions/1.10.0/download", - "api_data_url": "https://supermarket.chef.io/api/v1/cookbooks/six/versions/1.10.0" + "api_data_url": "https://supermarket.chef.io/api/v1/cookbooks/six/versions/1.10.0", + "datasource_id": "chef_cookbook_metadata_json", + "purl": "pkg:chef/six@1.10.0" } ], "for_packages": [ - "pkg:pypi/six@1.10.0", - "pkg:chef/six@1.10.0" + "pkg:chef/six@1.10.0?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -706,23 +719,24 @@ "code_view_url": null, "vcs_url": null, "copyright": null, - "license_expression": "unknown", + "license_expression": "bsd-new", "declared_license": { "license": "BSD" }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:pypi/ticketimport@0.7a", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/TicketImport", "repository_download_url": "https://pypi.org/packages/source/T/TicketImport/TicketImport-0.7a.tar.gz", - "api_data_url": "https://pypi.org/pypi/TicketImport/0.7a/json" + "api_data_url": "https://pypi.org/pypi/TicketImport/0.7a/json", + "datasource_id": "pypi_sdist_pkginfo", + "purl": "pkg:pypi/ticketimport@0.7a" } ], "for_packages": [ - "pkg:pypi/ticketimport@0.7a" + "pkg:pypi/ticketimport@0.7a?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -768,23 +782,24 @@ "code_view_url": null, "vcs_url": null, "copyright": null, - "license_expression": "bsd-simplified", + "license_expression": null, "declared_license": { "license": "Simplified BSD" }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:pypi/arpy@0.1.1", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/arpy", "repository_download_url": "https://pypi.org/packages/source/a/arpy/arpy-0.1.1.tar.gz", - "api_data_url": "https://pypi.org/pypi/arpy/0.1.1/json" + "api_data_url": "https://pypi.org/pypi/arpy/0.1.1/json", + "datasource_id": "pypi_setup_py", + "purl": "pkg:pypi/arpy@0.1.1" } ], "for_packages": [ - "pkg:pypi/arpy@0.1.1" + "pkg:pypi/arpy@0.1.1?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -825,8 +840,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -983,15 +998,14 @@ "resolved_package": {} } ], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "pipfile_lock", + "purl": null } ], - "for_packages": [ - "pkg:pypi/atomicwrites@1.2.1" - ], + "for_packages": [], "scan_errors": [] }, { @@ -1037,7 +1051,7 @@ "code_view_url": null, "vcs_url": null, "copyright": null, - "license_expression": "mit", + "license_expression": "mit AND mit", "declared_license": { "license": "MIT", "classifiers": [ @@ -1045,18 +1059,65 @@ ] }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [ + { + "path": "atomicwrites/__init__.py", + "size": 6428, + "sha1": null, + "md5": null, + "sha256": "e99fd5a033165d8a870e730383a30199798cc5fd31194cec120b616d8f59c71c", + "sha512": null, + "extra_data": {} + }, + { + "path": "atomicwrites-1.2.1.dist-info/METADATA", + "size": 5535, + "sha1": null, + "md5": null, + "sha256": "0289c810b3daea2a81801eac17154b464b8eb7b34c5ae2c8de6706d18205a358", + "sha512": null, + "extra_data": {} + }, + { + "path": "atomicwrites-1.2.1.dist-info/RECORD", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "atomicwrites-1.2.1.dist-info/WHEEL", + "size": 110, + "sha1": null, + "md5": null, + "sha256": "81dbae3f206f149412434cddcb117b934cf29c35db21bbe0e59047a17ba6e6e9", + "sha512": null, + "extra_data": {} + }, + { + "path": "atomicwrites-1.2.1.dist-info/top_level.txt", + "size": 13, + "sha1": null, + "md5": null, + "sha256": "92ceb8cca55492b97666bacfd38e82b32b5795219ff202c6f887285e93727a87", + "sha512": null, + "extra_data": {} + } + ], "extra_data": {}, "dependencies": [], - "purl": "pkg:pypi/atomicwrites@1.2.1", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/atomicwrites", "repository_download_url": "https://pypi.org/packages/source/a/atomicwrites/atomicwrites-1.2.1.tar.gz", - "api_data_url": "https://pypi.org/pypi/atomicwrites/1.2.1/json" + "api_data_url": "https://pypi.org/pypi/atomicwrites/1.2.1/json", + "datasource_id": "pypi_wheel", + "purl": "pkg:pypi/atomicwrites@1.2.1" } ], "for_packages": [ - "pkg:pypi/atomicwrites@1.2.1" + "pkg:pypi/atomicwrites@1.2.1?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -1097,8 +1158,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -1129,10 +1190,11 @@ "resolved_package": {} } ], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "pip_requirements", + "purl": null } ], "for_packages": [], diff --git a/tests/packagedcode/data/plugin/rpm-package-expected.json b/tests/packagedcode/data/plugin/rpm-package-expected.json index 4d241385fc6..cacd3b6428b 100644 --- a/tests/packagedcode/data/plugin/rpm-package-expected.json +++ b/tests/packagedcode/data/plugin/rpm-package-expected.json @@ -48,22 +48,21 @@ "license_expression": "gpl-1.0-plus", "declared_license": "GPL", "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:rpm/alfandega@2.0-1.7.3?arch=src" ], "extra_data": {}, - "package_uuid": "pkg:rpm/alfandega@2.0-1.7.3", - "package_data_files": [ + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "package_uid": "pkg:rpm/alfandega@2.0-1.7.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "alfandega-2.0-1.7.3.noarch.rpm" ], - "files": [ - "alfandega-2.0-1.7.3.noarch.rpm" + "datasource_ids": [ + "rpm_archive" ], - "purl": "pkg:rpm/alfandega@2.0-1.7.3", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null + "purl": "pkg:rpm/alfandega@2.0-1.7.3" } ], "files": [ @@ -94,23 +93,24 @@ "code_view_url": null, "vcs_url": null, "copyright": null, - "license_expression": "gpl-1.0-plus", + "license_expression": null, "declared_license": "GPL", "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:rpm/alfandega@2.0-1.7.3?arch=src" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:rpm/alfandega@2.0-1.7.3", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "rpm_archive", + "purl": "pkg:rpm/alfandega@2.0-1.7.3" } ], "for_packages": [ - "pkg:rpm/alfandega@2.0-1.7.3" + "pkg:rpm/alfandega@2.0-1.7.3?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] } diff --git a/tests/packagedcode/data/plugin/rubygems-package-expected.json b/tests/packagedcode/data/plugin/rubygems-package-expected.json index 10e0b4f39d4..032eb83f10d 100644 --- a/tests/packagedcode/data/plugin/rubygems-package-expected.json +++ b/tests/packagedcode/data/plugin/rubygems-package-expected.json @@ -29,9 +29,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:gem/ffi-rzmq", - "for_package": "pkg:gem/m2r@2.1.0", - "lockfile": "m2r-2.1.0.gem" + "dependency_uid": "pkg:gem/ffi-rzmq?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:gem/m2r@2.1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "m2r-2.1.0.gem", + "datasource_id": "gem_archive" }, { "purl": "pkg:gem/ffi", @@ -41,9 +42,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:gem/ffi", - "for_package": "pkg:gem/m2r@2.1.0", - "lockfile": "m2r-2.1.0.gem" + "dependency_uid": "pkg:gem/ffi?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:gem/m2r@2.1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "m2r-2.1.0.gem", + "datasource_id": "gem_archive" }, { "purl": "pkg:gem/multi_json", @@ -53,9 +55,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:gem/multi_json", - "for_package": "pkg:gem/m2r@2.1.0", - "lockfile": "m2r-2.1.0.gem" + "dependency_uid": "pkg:gem/multi_json?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:gem/m2r@2.1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "m2r-2.1.0.gem", + "datasource_id": "gem_archive" }, { "purl": "pkg:gem/tnetstring", @@ -65,9 +68,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:gem/tnetstring", - "for_package": "pkg:gem/m2r@2.1.0", - "lockfile": "m2r-2.1.0.gem" + "dependency_uid": "pkg:gem/tnetstring?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:gem/m2r@2.1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "m2r-2.1.0.gem", + "datasource_id": "gem_archive" }, { "purl": "pkg:gem/rack", @@ -77,9 +81,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:gem/rack", - "for_package": "pkg:gem/m2r@2.1.0", - "lockfile": "m2r-2.1.0.gem" + "dependency_uid": "pkg:gem/rack?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:gem/m2r@2.1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "m2r-2.1.0.gem", + "datasource_id": "gem_archive" }, { "purl": "pkg:gem/rake", @@ -89,9 +94,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:gem/rake", - "for_package": "pkg:gem/m2r@2.1.0", - "lockfile": "m2r-2.1.0.gem" + "dependency_uid": "pkg:gem/rake?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:gem/m2r@2.1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "m2r-2.1.0.gem", + "datasource_id": "gem_archive" }, { "purl": "pkg:gem/minitest", @@ -101,9 +107,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:gem/minitest", - "for_package": "pkg:gem/m2r@2.1.0", - "lockfile": "m2r-2.1.0.gem" + "dependency_uid": "pkg:gem/minitest?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:gem/m2r@2.1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "m2r-2.1.0.gem", + "datasource_id": "gem_archive" }, { "purl": "pkg:gem/mocha", @@ -113,9 +120,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:gem/mocha", - "for_package": "pkg:gem/m2r@2.1.0", - "lockfile": "m2r-2.1.0.gem" + "dependency_uid": "pkg:gem/mocha?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:gem/m2r@2.1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "m2r-2.1.0.gem", + "datasource_id": "gem_archive" }, { "purl": "pkg:gem/bbq", @@ -125,9 +133,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:gem/bbq", - "for_package": "pkg:gem/m2r@2.1.0", - "lockfile": "m2r-2.1.0.gem" + "dependency_uid": "pkg:gem/bbq?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:gem/m2r@2.1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "m2r-2.1.0.gem", + "datasource_id": "gem_archive" }, { "purl": "pkg:gem/capybara-mechanize", @@ -137,9 +146,10 @@ "is_optional": true, "is_resolved": true, "resolved_package": {}, - "dependency_uuid": "pkg:gem/capybara-mechanize", - "for_package": "pkg:gem/m2r@2.1.0", - "lockfile": "m2r-2.1.0.gem" + "dependency_uid": "pkg:gem/capybara-mechanize?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:gem/m2r@2.1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "m2r-2.1.0.gem", + "datasource_id": "gem_archive" }, { "purl": "pkg:gem/activesupport", @@ -149,9 +159,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:gem/activesupport", - "for_package": "pkg:gem/m2r@2.1.0", - "lockfile": "m2r-2.1.0.gem" + "dependency_uid": "pkg:gem/activesupport?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:gem/m2r@2.1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "m2r-2.1.0.gem", + "datasource_id": "gem_archive" }, { "purl": "pkg:gem/yard", @@ -161,9 +172,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:gem/yard", - "for_package": "pkg:gem/m2r@2.1.0", - "lockfile": "m2r-2.1.0.gem" + "dependency_uid": "pkg:gem/yard?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:gem/m2r@2.1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "m2r-2.1.0.gem", + "datasource_id": "gem_archive" }, { "purl": "pkg:gem/kramdown", @@ -173,9 +185,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:gem/kramdown", - "for_package": "pkg:gem/m2r@2.1.0", - "lockfile": "m2r-2.1.0.gem" + "dependency_uid": "pkg:gem/kramdown?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:gem/m2r@2.1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "m2r-2.1.0.gem", + "datasource_id": "gem_archive" } ], "packages": [ @@ -236,21 +249,19 @@ "MIT" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, - "package_uuid": "pkg:gem/m2r@2.1.0", - "package_data_files": [ + "repository_homepage_url": "https://rubygems.org/gems/m2r/versions/2.1.0", + "repository_download_url": "https://rubygems.org/downloads/m2r-2.1.0.gem", + "api_data_url": "https://rubygems.org/api/v2/rubygems/m2r/versions/2.1.0.json", + "package_uid": "pkg:gem/m2r@2.1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "m2r-2.1.0.gem" ], - "files": [ - "m2r-2.1.0.gem", - "m2r-2.1.0.gem.json" + "datasource_ids": [ + "gem_archive" ], - "purl": "pkg:gem/m2r@2.1.0", - "repository_homepage_url": "https://rubygems.org/gems/m2r/versions/2.1.0", - "repository_download_url": "https://rubygems.org/downloads/m2r-2.1.0.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/m2r/versions/2.1.0.json" + "purl": "pkg:gem/m2r@2.1.0" } ], "files": [ @@ -315,8 +326,8 @@ "MIT" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -437,14 +448,15 @@ "resolved_package": {} } ], - "purl": "pkg:gem/m2r@2.1.0", "repository_homepage_url": "https://rubygems.org/gems/m2r/versions/2.1.0", "repository_download_url": "https://rubygems.org/downloads/m2r-2.1.0.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/m2r/versions/2.1.0.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/m2r/versions/2.1.0.json", + "datasource_id": "gem_archive", + "purl": "pkg:gem/m2r@2.1.0" } ], "for_packages": [ - "pkg:gem/m2r@2.1.0" + "pkg:gem/m2r@2.1.0?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -452,9 +464,7 @@ "path": "m2r-2.1.0.gem.json", "type": "file", "package_data": [], - "for_packages": [ - "pkg:gem/m2r@2.1.0" - ], + "for_packages": [], "scan_errors": [] } ] diff --git a/tests/packagedcode/data/plugin/sys-package-expected.json b/tests/packagedcode/data/plugin/sys-package-expected.json index 4b280754c16..9e8de1ee1e5 100644 --- a/tests/packagedcode/data/plugin/sys-package-expected.json +++ b/tests/packagedcode/data/plugin/sys-package-expected.json @@ -21,61 +21,7 @@ } ], "dependencies": [], - "packages": [ - { - "type": "winexe", - "namespace": null, - "name": "Microsoft\u00ae Windows\u00ae Operating System", - "version": "10.0.17763.1697", - "qualifiers": {}, - "subpath": null, - "primary_language": null, - "description": "Export driver for kernel mode TPM API", - "release_date": null, - "parties": [ - { - "type": "organization", - "role": "author", - "name": "Microsoft Corporation", - "email": null, - "url": null - } - ], - "keywords": [], - "homepage_url": null, - "download_url": null, - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": "\u00a9 Microsoft Corporation. All rights reserved.", - "license_expression": "unknown", - "declared_license": { - "LegalCopyright": "\u00a9 Microsoft Corporation. All rights reserved.", - "LegalTrademarks": "", - "License": null - }, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "package_uuid": "pkg:winexe/Microsoft%C2%AE%20Windows%C2%AE%20Operating%20System@10.0.17763.1697", - "package_data_files": [ - "tbs.sys" - ], - "files": [ - "tbs.sys" - ], - "purl": "pkg:winexe/Microsoft%C2%AE%20Windows%C2%AE%20Operating%20System@10.0.17763.1697", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null - } - ], + "packages": [], "files": [ { "path": "tbs.sys", @@ -112,26 +58,25 @@ "code_view_url": null, "vcs_url": null, "copyright": "\u00a9 Microsoft Corporation. All rights reserved.", - "license_expression": "unknown", + "license_expression": "unknown AND unknown", "declared_license": { "LegalCopyright": "\u00a9 Microsoft Corporation. All rights reserved.", "LegalTrademarks": "", "License": null }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:winexe/Microsoft%C2%AE%20Windows%C2%AE%20Operating%20System@10.0.17763.1697", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "windows_executable", + "purl": "pkg:winexe/Microsoft%C2%AE%20Windows%C2%AE%20Operating%20System@10.0.17763.1697" } ], - "for_packages": [ - "pkg:winexe/Microsoft%C2%AE%20Windows%C2%AE%20Operating%20System@10.0.17763.1697" - ], + "for_packages": [], "scan_errors": [] } ] diff --git a/tests/packagedcode/data/plugin/tlb-package-expected.json b/tests/packagedcode/data/plugin/tlb-package-expected.json index d513d466c24..a2cd5a25416 100644 --- a/tests/packagedcode/data/plugin/tlb-package-expected.json +++ b/tests/packagedcode/data/plugin/tlb-package-expected.json @@ -21,61 +21,7 @@ } ], "dependencies": [], - "packages": [ - { - "type": "winexe", - "namespace": null, - "name": "Microsoft\u00ae Windows\u00ae Operating System", - "version": "10.0.18362.1256", - "qualifiers": {}, - "subpath": null, - "primary_language": null, - "description": "STDOLE2.TLB", - "release_date": null, - "parties": [ - { - "type": "organization", - "role": "author", - "name": "Microsoft Corporation", - "email": null, - "url": null - } - ], - "keywords": [], - "homepage_url": null, - "download_url": null, - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": "\u00a9 Microsoft Corporation. All rights reserved.", - "license_expression": "unknown", - "declared_license": { - "LegalCopyright": "\u00a9 Microsoft Corporation. All rights reserved.", - "LegalTrademarks": "", - "License": null - }, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "package_uuid": "pkg:winexe/Microsoft%C2%AE%20Windows%C2%AE%20Operating%20System@10.0.18362.1256", - "package_data_files": [ - "stdole2.tlb" - ], - "files": [ - "stdole2.tlb" - ], - "purl": "pkg:winexe/Microsoft%C2%AE%20Windows%C2%AE%20Operating%20System@10.0.18362.1256", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null - } - ], + "packages": [], "files": [ { "path": "stdole2.tlb", @@ -112,26 +58,25 @@ "code_view_url": null, "vcs_url": null, "copyright": "\u00a9 Microsoft Corporation. All rights reserved.", - "license_expression": "unknown", + "license_expression": "unknown AND unknown", "declared_license": { "LegalCopyright": "\u00a9 Microsoft Corporation. All rights reserved.", "LegalTrademarks": "", "License": null }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:winexe/Microsoft%C2%AE%20Windows%C2%AE%20Operating%20System@10.0.18362.1256", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "windows_executable", + "purl": "pkg:winexe/Microsoft%C2%AE%20Windows%C2%AE%20Operating%20System@10.0.18362.1256" } ], - "for_packages": [ - "pkg:winexe/Microsoft%C2%AE%20Windows%C2%AE%20Operating%20System@10.0.18362.1256" - ], + "for_packages": [], "scan_errors": [] } ] diff --git a/tests/packagedcode/data/plugin/win_pe-package-expected.json b/tests/packagedcode/data/plugin/win_pe-package-expected.json index 037f86327fd..a7d44dd8d6f 100644 --- a/tests/packagedcode/data/plugin/win_pe-package-expected.json +++ b/tests/packagedcode/data/plugin/win_pe-package-expected.json @@ -21,61 +21,7 @@ } ], "dependencies": [], - "packages": [ - { - "type": "winexe", - "namespace": null, - "name": "File", - "version": "5.03.3414.16721", - "qualifiers": {}, - "subpath": null, - "primary_language": null, - "description": "File: determine file type", - "release_date": null, - "parties": [ - { - "type": "organization", - "role": "author", - "name": "GnuWin32 ", - "email": null, - "url": null - } - ], - "keywords": [], - "homepage_url": "http://www.darwinsys.com/file/", - "download_url": null, - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": "\u00a9 2009 Ian F. Darwin", - "license_expression": "unknown", - "declared_license": { - "LegalCopyright": "\u00a9 2009 Ian F. Darwin", - "LegalTrademarks": "GnuWin32\u00ae, File\u00ae, file\u00ae", - "License": "Copyright (c) Ian F. Darwin 1986, 1987, 1989, 1990, 1991, 1992, 1994, 1995. Software written by Ian F. Darwin and others; maintained 1994-2004 Christos Zoulas. This software is not subject to any export provision of the United States Department of Commerce, and may be exported to any country or planet. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice immediately at the beginning of the file, without modification, this list of conditions, and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." - }, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "package_uuid": "pkg:winexe/File@5.03.3414.16721", - "package_data_files": [ - "file.exe" - ], - "files": [ - "file.exe" - ], - "purl": "pkg:winexe/File@5.03.3414.16721", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null - } - ], + "packages": [], "files": [ { "path": "file.exe", @@ -112,26 +58,25 @@ "code_view_url": null, "vcs_url": null, "copyright": "\u00a9 2009 Ian F. Darwin", - "license_expression": "unknown", + "license_expression": "bsd-simplified-darwin AND unknown", "declared_license": { "LegalCopyright": "\u00a9 2009 Ian F. Darwin", "LegalTrademarks": "GnuWin32\u00ae, File\u00ae, file\u00ae", "License": "Copyright (c) Ian F. Darwin 1986, 1987, 1989, 1990, 1991, 1992, 1994, 1995. Software written by Ian F. Darwin and others; maintained 1994-2004 Christos Zoulas. This software is not subject to any export provision of the United States Department of Commerce, and may be exported to any country or planet. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice immediately at the beginning of the file, without modification, this list of conditions, and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:winexe/File@5.03.3414.16721", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "windows_executable", + "purl": "pkg:winexe/File@5.03.3414.16721" } ], - "for_packages": [ - "pkg:winexe/File@5.03.3414.16721" - ], + "for_packages": [], "scan_errors": [] } ] diff --git a/tests/packagedcode/data/plugin/winmd-package-expected.json b/tests/packagedcode/data/plugin/winmd-package-expected.json index fee3c58d84f..72a8b6241b3 100644 --- a/tests/packagedcode/data/plugin/winmd-package-expected.json +++ b/tests/packagedcode/data/plugin/winmd-package-expected.json @@ -21,61 +21,7 @@ } ], "dependencies": [], - "packages": [ - { - "type": "winexe", - "namespace": null, - "name": "Windows SDK", - "version": "10.0.10011.16384", - "qualifiers": {}, - "subpath": null, - "primary_language": null, - "description": "Windows SDK metadata", - "release_date": null, - "parties": [ - { - "type": "organization", - "role": "author", - "name": "Microsoft Corporation", - "email": null, - "url": null - } - ], - "keywords": [], - "homepage_url": null, - "download_url": null, - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": "\u00a9 Microsoft Corporation. All rights reserved.", - "license_expression": "unknown", - "declared_license": { - "LegalCopyright": "\u00a9 Microsoft Corporation. All rights reserved.", - "LegalTrademarks": "", - "License": null - }, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "extra_data": {}, - "package_uuid": "pkg:winexe/Windows%20SDK@10.0.10011.16384", - "package_data_files": [ - "Windows.AI.winmd" - ], - "files": [ - "Windows.AI.winmd" - ], - "purl": "pkg:winexe/Windows%20SDK@10.0.10011.16384", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null - } - ], + "packages": [], "files": [ { "path": "Windows.AI.winmd", @@ -112,26 +58,25 @@ "code_view_url": null, "vcs_url": null, "copyright": "\u00a9 Microsoft Corporation. All rights reserved.", - "license_expression": "unknown", + "license_expression": "unknown AND unknown", "declared_license": { "LegalCopyright": "\u00a9 Microsoft Corporation. All rights reserved.", "LegalTrademarks": "", "License": null }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:winexe/Windows%20SDK@10.0.10011.16384", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "windows_executable", + "purl": "pkg:winexe/Windows%20SDK@10.0.10011.16384" } ], - "for_packages": [ - "pkg:winexe/Windows%20SDK@10.0.10011.16384" - ], + "for_packages": [], "scan_errors": [] } ] diff --git a/tests/packagedcode/data/pubspec/locks/dart-pubspec.lock-expected.json b/tests/packagedcode/data/pubspec/locks/dart-pubspec.lock-expected.json index 055ad3a13de..66e4ec31d3d 100644 --- a/tests/packagedcode/data/pubspec/locks/dart-pubspec.lock-expected.json +++ b/tests/packagedcode/data/pubspec/locks/dart-pubspec.lock-expected.json @@ -25,8 +25,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -543,9 +543,10 @@ "resolved_package": {} } ], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "pubspec_lock", + "purl": null } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pubspec/locks/stock-pubspec.lock-expected.json b/tests/packagedcode/data/pubspec/locks/stock-pubspec.lock-expected.json index 89648c39b1a..0b0cdf4edca 100644 --- a/tests/packagedcode/data/pubspec/locks/stock-pubspec.lock-expected.json +++ b/tests/packagedcode/data/pubspec/locks/stock-pubspec.lock-expected.json @@ -25,8 +25,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -417,9 +417,10 @@ "resolved_package": {} } ], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "pubspec_lock", + "purl": null } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pubspec/locks/weather-pubspec.lock-expected.json b/tests/packagedcode/data/pubspec/locks/weather-pubspec.lock-expected.json index b4e6a52ab90..e49bd6d1346 100644 --- a/tests/packagedcode/data/pubspec/locks/weather-pubspec.lock-expected.json +++ b/tests/packagedcode/data/pubspec/locks/weather-pubspec.lock-expected.json @@ -25,8 +25,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -660,9 +660,10 @@ "resolved_package": {} } ], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "pubspec_lock", + "purl": null } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pubspec/mini-pubspec.lock-expected.json b/tests/packagedcode/data/pubspec/mini-pubspec.lock-expected.json index 3c25829541d..625a34f758f 100644 --- a/tests/packagedcode/data/pubspec/mini-pubspec.lock-expected.json +++ b/tests/packagedcode/data/pubspec/mini-pubspec.lock-expected.json @@ -25,8 +25,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -93,9 +93,10 @@ "resolved_package": {} } ], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "pubspec_lock", + "purl": null } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pubspec/specs/authors-pubspec.yaml-expected.json b/tests/packagedcode/data/pubspec/specs/authors-pubspec.yaml-expected.json index 753a2c4d6eb..3e70646a4c7 100644 --- a/tests/packagedcode/data/pubspec/specs/authors-pubspec.yaml-expected.json +++ b/tests/packagedcode/data/pubspec/specs/authors-pubspec.yaml-expected.json @@ -1,6 +1,6 @@ [ { - "type": "pubspec", + "type": "dart", "namespace": null, "name": "openapi", "version": "1.0.0", @@ -40,8 +40,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -72,9 +72,10 @@ "resolved_package": {} } ], - "purl": "pkg:pubspec/openapi@1.0.0", "repository_homepage_url": "https://pub.dev/packages/openapi/versions/1.0.0", "repository_download_url": "https://pub.dartlang.org/packages/openapi/versions/1.0.0.tar.gz", - "api_data_url": "https://pub.dev/api/packages/openapi/versions/1.0.0" + "api_data_url": "https://pub.dev/api/packages/openapi/versions/1.0.0", + "datasource_id": "pubspec_yaml", + "purl": "pkg:dart/openapi@1.0.0" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pubspec/specs/deps-versions-dict-pubspec.yaml-expected.json b/tests/packagedcode/data/pubspec/specs/deps-versions-dict-pubspec.yaml-expected.json index 78a447141be..0f57673c97f 100644 --- a/tests/packagedcode/data/pubspec/specs/deps-versions-dict-pubspec.yaml-expected.json +++ b/tests/packagedcode/data/pubspec/specs/deps-versions-dict-pubspec.yaml-expected.json @@ -1,6 +1,6 @@ [ { - "type": "pubspec", + "type": "dart", "namespace": null, "name": "foobar", "version": "1.0.0+1", @@ -25,8 +25,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -75,9 +75,10 @@ "resolved_package": {} } ], - "purl": "pkg:pubspec/foobar@1.0.0%2B1", "repository_homepage_url": "https://pub.dev/packages/foobar/versions/1.0.0+1", "repository_download_url": "https://pub.dartlang.org/packages/foobar/versions/1.0.0+1.tar.gz", - "api_data_url": "https://pub.dev/api/packages/foobar/versions/1.0.0+1" + "api_data_url": "https://pub.dev/api/packages/foobar/versions/1.0.0+1", + "datasource_id": "pubspec_yaml", + "purl": "pkg:dart/foobar@1.0.0%2B1" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pubspec/specs/many-deps-pubspec.yaml-expected.json b/tests/packagedcode/data/pubspec/specs/many-deps-pubspec.yaml-expected.json index 6e16b76e1d4..2215118f9e8 100644 --- a/tests/packagedcode/data/pubspec/specs/many-deps-pubspec.yaml-expected.json +++ b/tests/packagedcode/data/pubspec/specs/many-deps-pubspec.yaml-expected.json @@ -1,6 +1,6 @@ [ { - "type": "pubspec", + "type": "dart", "namespace": null, "name": "built_collection", "version": "5.1.0", @@ -25,8 +25,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -57,9 +57,10 @@ "resolved_package": {} } ], - "purl": "pkg:pubspec/built_collection@5.1.0", "repository_homepage_url": "https://pub.dev/packages/built_collection/versions/5.1.0", "repository_download_url": "https://pub.dartlang.org/packages/built_collection/versions/5.1.0.tar.gz", - "api_data_url": "https://pub.dev/api/packages/built_collection/versions/5.1.0" + "api_data_url": "https://pub.dev/api/packages/built_collection/versions/5.1.0", + "datasource_id": "pubspec_yaml", + "purl": "pkg:dart/built_collection@5.1.0" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pubspec/specs/mini-deps-pubspec.yaml-expected.json b/tests/packagedcode/data/pubspec/specs/mini-deps-pubspec.yaml-expected.json index 07b8fa7f402..a1c519e445f 100644 --- a/tests/packagedcode/data/pubspec/specs/mini-deps-pubspec.yaml-expected.json +++ b/tests/packagedcode/data/pubspec/specs/mini-deps-pubspec.yaml-expected.json @@ -1,6 +1,6 @@ [ { - "type": "pubspec", + "type": "dart", "namespace": null, "name": "flutter_oss_licenses", "version": "1.0.1", @@ -25,8 +25,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "executables": { "generate": "" @@ -70,9 +70,10 @@ "resolved_package": {} } ], - "purl": "pkg:pubspec/flutter_oss_licenses@1.0.1", "repository_homepage_url": "https://pub.dev/packages/flutter_oss_licenses/versions/1.0.1", "repository_download_url": "https://pub.dartlang.org/packages/flutter_oss_licenses/versions/1.0.1.tar.gz", - "api_data_url": "https://pub.dev/api/packages/flutter_oss_licenses/versions/1.0.1" + "api_data_url": "https://pub.dev/api/packages/flutter_oss_licenses/versions/1.0.1", + "datasource_id": "pubspec_yaml", + "purl": "pkg:dart/flutter_oss_licenses@1.0.1" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pubspec/specs/publish-pubspec.yaml-expected.json b/tests/packagedcode/data/pubspec/specs/publish-pubspec.yaml-expected.json index 6ee7fcd90b9..727629cb1df 100644 --- a/tests/packagedcode/data/pubspec/specs/publish-pubspec.yaml-expected.json +++ b/tests/packagedcode/data/pubspec/specs/publish-pubspec.yaml-expected.json @@ -1,6 +1,6 @@ [ { - "type": "pubspec", + "type": "dart", "namespace": null, "name": "mock_name", "version": "1.1.0", @@ -33,8 +33,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": { "executables": { "abide": "" @@ -88,9 +88,10 @@ "resolved_package": {} } ], - "purl": "pkg:pubspec/mock_name@1.1.0", "repository_homepage_url": "https://pub.dev/packages/mock_name/versions/1.1.0", "repository_download_url": "https://pub.dartlang.org/packages/mock_name/versions/1.1.0.tar.gz", - "api_data_url": "https://pub.dev/api/packages/mock_name/versions/1.1.0" + "api_data_url": "https://pub.dev/api/packages/mock_name/versions/1.1.0", + "datasource_id": "pubspec_yaml", + "purl": "pkg:dart/mock_name@1.1.0" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pubspec/specs/simple-pubspec.yaml-expected.json b/tests/packagedcode/data/pubspec/specs/simple-pubspec.yaml-expected.json index 854129a73d2..a8e4be6e806 100644 --- a/tests/packagedcode/data/pubspec/specs/simple-pubspec.yaml-expected.json +++ b/tests/packagedcode/data/pubspec/specs/simple-pubspec.yaml-expected.json @@ -1,6 +1,6 @@ [ { - "type": "pubspec", + "type": "dart", "namespace": null, "name": "painter", "version": "2.0.0", @@ -25,8 +25,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -57,9 +57,10 @@ "resolved_package": {} } ], - "purl": "pkg:pubspec/painter@2.0.0", "repository_homepage_url": "https://pub.dev/packages/painter/versions/2.0.0", "repository_download_url": "https://pub.dartlang.org/packages/painter/versions/2.0.0.tar.gz", - "api_data_url": "https://pub.dev/api/packages/painter/versions/2.0.0" + "api_data_url": "https://pub.dev/api/packages/painter/versions/2.0.0", + "datasource_id": "pubspec_yaml", + "purl": "pkg:dart/painter@2.0.0" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/archive/atomicwrites-1.2.1-py2.py3-none-any.whl-expected.json b/tests/packagedcode/data/pypi/archive/atomicwrites-1.2.1-py2.py3-none-any.whl-expected.json index cda84d97a5d..6868b7809dc 100644 --- a/tests/packagedcode/data/pypi/archive/atomicwrites-1.2.1-py2.py3-none-any.whl-expected.json +++ b/tests/packagedcode/data/pypi/archive/atomicwrites-1.2.1-py2.py3-none-any.whl-expected.json @@ -38,7 +38,7 @@ "code_view_url": null, "vcs_url": null, "copyright": null, - "license_expression": "mit", + "license_expression": "mit AND mit", "declared_license": { "license": "MIT", "classifiers": [ @@ -46,13 +46,60 @@ ] }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [ + { + "path": "atomicwrites/__init__.py", + "size": 6428, + "sha1": null, + "md5": null, + "sha256": "e99fd5a033165d8a870e730383a30199798cc5fd31194cec120b616d8f59c71c", + "sha512": null, + "extra_data": {} + }, + { + "path": "atomicwrites-1.2.1.dist-info/METADATA", + "size": 5535, + "sha1": null, + "md5": null, + "sha256": "0289c810b3daea2a81801eac17154b464b8eb7b34c5ae2c8de6706d18205a358", + "sha512": null, + "extra_data": {} + }, + { + "path": "atomicwrites-1.2.1.dist-info/RECORD", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "atomicwrites-1.2.1.dist-info/WHEEL", + "size": 110, + "sha1": null, + "md5": null, + "sha256": "81dbae3f206f149412434cddcb117b934cf29c35db21bbe0e59047a17ba6e6e9", + "sha512": null, + "extra_data": {} + }, + { + "path": "atomicwrites-1.2.1.dist-info/top_level.txt", + "size": 13, + "sha1": null, + "md5": null, + "sha256": "92ceb8cca55492b97666bacfd38e82b32b5795219ff202c6f887285e93727a87", + "sha512": null, + "extra_data": {} + } + ], "extra_data": {}, "dependencies": [], - "purl": "pkg:pypi/atomicwrites@1.2.1", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/atomicwrites", "repository_download_url": "https://pypi.org/packages/source/a/atomicwrites/atomicwrites-1.2.1.tar.gz", - "api_data_url": "https://pypi.org/pypi/atomicwrites/1.2.1/json" + "api_data_url": "https://pypi.org/pypi/atomicwrites/1.2.1/json", + "datasource_id": "pypi_wheel", + "purl": "pkg:pypi/atomicwrites@1.2.1" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/archive/commoncode-21.5.12-py3.9.egg-expected.json b/tests/packagedcode/data/pypi/archive/commoncode-21.5.12-py3.9.egg-expected.json index ded69e4fd35..31e3decdf7b 100644 --- a/tests/packagedcode/data/pypi/archive/commoncode-21.5.12-py3.9.egg-expected.json +++ b/tests/packagedcode/data/pypi/archive/commoncode-21.5.12-py3.9.egg-expected.json @@ -44,8 +44,27 @@ "license": "Apache-2.0" }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [ + { + "path": "src/commoncode/__init__.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": ".", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ], "extra_data": {}, "dependencies": [ { @@ -166,9 +185,10 @@ "resolved_package": {} } ], - "purl": "pkg:pypi/commoncode@21.5.12", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/commoncode", "repository_download_url": "https://pypi.org/packages/source/c/commoncode/commoncode-21.5.12.tar.gz", - "api_data_url": "https://pypi.org/pypi/commoncode/21.5.12/json" + "api_data_url": "https://pypi.org/pypi/commoncode/21.5.12/json", + "datasource_id": "pypi_egg", + "purl": "pkg:pypi/commoncode@21.5.12" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/develop/scancode_toolkit.egg-info-expected.json b/tests/packagedcode/data/pypi/develop/scancode_toolkit.egg-info-expected.json index d3698ec7503..f9ef9fd1336 100644 --- a/tests/packagedcode/data/pypi/develop/scancode_toolkit.egg-info-expected.json +++ b/tests/packagedcode/data/pypi/develop/scancode_toolkit.egg-info-expected.json @@ -50,13 +50,1031 @@ "code_view_url": null, "vcs_url": null, "copyright": null, - "license_expression": "apache-2.0 AND cc-by-4.0 AND other-permissive AND other-copyleft", + "license_expression": "(apache-2.0 AND cc-by-4.0) AND unknown", "declared_license": { "license": "Apache-2.0 AND CC-BY-4.0 AND LicenseRef-scancode-other-permissive AND LicenseRef-scancode-other-copyleft" }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [ + { + "path": ".VERSION", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "AUTHORS.rst", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "CHANGELOG.rst", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "CODE_OF_CONDUCT.rst", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "CONTRIBUTING.rst", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "Dockerfile", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "INSTALL.rst", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "MANIFEST.in", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "NOTICE", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "README.rst", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "apache-2.0.LICENSE", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "cc-by-4.0.LICENSE", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "configure", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "configure.bat", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "extractcode", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "extractcode.bat", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "origin.ABOUT", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pyproject.toml", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "requirements-dev.txt", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "requirements.txt", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "scancode", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "scancode-toolkit-licenses.tar.gz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "scancode-toolkit.ABOUT", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "scancode.bat", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "setup.cfg", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "setup.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "etc/configure.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "etc/thirdparty/apache-2.0.LICENSE", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "etc/thirdparty/bsd-new.LICENSE", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "etc/thirdparty/bsd-simplified.LICENSE", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "etc/thirdparty/isc.LICENSE", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "etc/thirdparty/lgpl-2.1-plus.LICENSE", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "etc/thirdparty/mit.LICENSE", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "etc/thirdparty/python.LICENSE", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "etc/thirdparty/virtualenv.pyz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "etc/thirdparty/virtualenv.pyz.ABOUT", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/scancode_config.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/cluecode/__init__.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/cluecode/copyrights.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/cluecode/copyrights_hint.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/cluecode/finder.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/cluecode/finder_data.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/cluecode/plugin_copyright.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/cluecode/plugin_email.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/cluecode/plugin_filter_clues.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/cluecode/plugin_ignore_copyrights.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/cluecode/plugin_url.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/__init__.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/output_csv.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/output_debian.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/output_html.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/output_json.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/output_jsonlines.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/output_spdx.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/templates/html/template.html", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/templates/html-app/help_template.html", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/templates/html-app/template.html", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/templates/html-app/assets/32px.png", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/templates/html-app/assets/DataTables.ABOUT", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/templates/html-app/assets/DataTables.LICENSE", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/templates/html-app/assets/bootstrap-fonts.ABOUT", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/templates/html-app/assets/bootstrap.min.css", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/templates/html-app/assets/bootstrap.min.css.ABOUT", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/templates/html-app/assets/bootstrap.min.js", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/templates/html-app/assets/bootstrap.min.js.ABOUT", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/templates/html-app/assets/bsd-new.LICENSE", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/templates/html-app/assets/chart.js", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/templates/html-app/assets/d3.min.js", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/templates/html-app/assets/d3.min.js.ABOUT", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/templates/html-app/assets/d3.min.js.NOTICE", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/templates/html-app/assets/html5shiv.ABOUT", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/templates/html-app/assets/html5shiv.LICENSE", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/templates/html-app/assets/html5shiv.js", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/templates/html-app/assets/jquery.ABOUT", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/templates/html-app/assets/jquery.LICENSE", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/templates/html-app/assets/jquery.dataTables.min.css", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/templates/html-app/assets/jquery.dataTables.min.js", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/templates/html-app/assets/jquery.min.js", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/templates/html-app/assets/jstree.ABOUT", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/templates/html-app/assets/jstree.LICENSE", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/templates/html-app/assets/jstree.min.js", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/templates/html-app/assets/main.css", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/templates/html-app/assets/mit.LICENSE", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/templates/html-app/assets/respond.ABOUT", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/templates/html-app/assets/respond.LICENSE", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/templates/html-app/assets/respond.min.js", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/templates/html-app/assets/scancode_datatable.js", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/templates/html-app/assets/scancode_jstree.js", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/templates/html-app/assets/simple-sidebar.ABOUT", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/templates/html-app/assets/simple-sidebar.LICENSE", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/templates/html-app/assets/simple-sidebar.css", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/templates/html-app/assets/style.min.css", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/templates/html-app/assets/throbber.gif", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/templates/html-app/assets/fonts/glyphicons-halflings-regular.eot", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/templates/html-app/assets/fonts/glyphicons-halflings-regular.svg", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/templates/html-app/assets/fonts/glyphicons-halflings-regular.ttf", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/templates/html-app/assets/fonts/glyphicons-halflings-regular.woff", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/templates/html-app/assets/fonts/glyphicons-halflings-regular.woff2", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/templates/html-app/assets/images/Sorting icons.psd", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/templates/html-app/assets/images/favicon.ico", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/templates/html-app/assets/images/sort_asc.png", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/templates/html-app/assets/images/sort_asc_disabled.png", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/templates/html-app/assets/images/sort_both.png", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/templates/html-app/assets/images/sort_desc.png", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/formattedcode/templates/html-app/assets/images/sort_desc_disabled.png", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/licensedcode/README.rst", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/licensedcode/__init__.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/licensedcode/cache.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/licensedcode/dmp.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/licensedcode/dmp.py.ABOUT", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/licensedcode/dmp.py.LICENSE", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/licensedcode/index.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "src/licensedcode/legal.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ], "extra_data": {}, "dependencies": [ { @@ -546,9 +1564,10 @@ "resolved_package": {} } ], - "purl": "pkg:pypi/scancode-toolkit@21.3.31", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/scancode-toolkit", "repository_download_url": "https://pypi.org/packages/source/s/scancode-toolkit/scancode-toolkit-21.3.31.tar.gz", - "api_data_url": "https://pypi.org/pypi/scancode-toolkit/21.3.31/json" + "api_data_url": "https://pypi.org/pypi/scancode-toolkit/21.3.31/json", + "datasource_id": "pypi_editable_egg_pkginfo", + "purl": "pkg:pypi/scancode-toolkit@21.3.31" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/dist-info-metadata/METADATA-expected.json b/tests/packagedcode/data/pypi/dist-info-metadata/METADATA-expected.json new file mode 100644 index 00000000000..b7a55f10886 --- /dev/null +++ b/tests/packagedcode/data/pypi/dist-info-metadata/METADATA-expected.json @@ -0,0 +1,57 @@ +[ + { + "type": "pypi", + "namespace": null, + "name": "six", + "version": "1.10.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "Python", + "description": "Python 2 and 3 compatibility utilities\nSix is a Python 2 and 3 compatibility library. It provides utility functions\nfor smoothing over the differences between the Python versions with the goal of\nwriting Python code that is compatible on both Python versions. See the\ndocumentation for more information on what is provided.\n\nSix supports every Python version since 2.6. It is contained in only one Python\nfile, so it can be easily copied into your project. (The copyright and license\nnotice must be retained.)\n\nOnline documentation is at https://pythonhosted.org/six/.\n\nBugs can be reported to https://bitbucket.org/gutworth/six. The code can also\nbe found there.\n\nFor questions about six or porting in general, email the python-porting mailing\nlist: https://mail.python.org/mailman/listinfo/python-porting", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Benjamin Peterson", + "email": "benjamin@python.org", + "url": null + } + ], + "keywords": [ + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 3", + "Intended Audience :: Developers", + "Topic :: Software Development :: Libraries", + "Topic :: Utilities" + ], + "homepage_url": "http://pypi.python.org/pypi/six/", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": "mit AND mit", + "declared_license": { + "license": "MIT", + "classifiers": [ + "License :: OSI Approved :: MIT License" + ] + }, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://pypi.org/project/six", + "repository_download_url": "https://pypi.org/packages/source/s/six/six-1.10.0.tar.gz", + "api_data_url": "https://pypi.org/pypi/six/1.10.0/json", + "datasource_id": "pypi_wheel_metadata", + "purl": "pkg:pypi/six@1.10.0" + } +] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/metadata/METADATA b/tests/packagedcode/data/pypi/dist-info-metadata/scan/.dist-info/METADATA similarity index 100% rename from tests/packagedcode/data/pypi/metadata/METADATA rename to tests/packagedcode/data/pypi/dist-info-metadata/scan/.dist-info/METADATA diff --git a/tests/packagedcode/data/pypi/metadata/PKG-INFO-expected.json b/tests/packagedcode/data/pypi/metadata/PKG-INFO-expected.json index 6c4f3dfe155..9a403b9a93b 100644 --- a/tests/packagedcode/data/pypi/metadata/PKG-INFO-expected.json +++ b/tests/packagedcode/data/pypi/metadata/PKG-INFO-expected.json @@ -46,13 +46,14 @@ ] }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:pypi/python-mimeparse@1.6.0", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/python-mimeparse", "repository_download_url": "https://pypi.org/packages/source/p/python-mimeparse/python-mimeparse-1.6.0.tar.gz", - "api_data_url": "https://pypi.org/pypi/python-mimeparse/1.6.0/json" + "api_data_url": "https://pypi.org/pypi/python-mimeparse/1.6.0/json", + "datasource_id": "pypi_sdist_pkginfo", + "purl": "pkg:pypi/python-mimeparse@1.6.0" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/recon/pypi/Six/METADATA b/tests/packagedcode/data/pypi/metadata/metadata.dist-info/METADATA similarity index 100% rename from tests/packagedcode/data/recon/pypi/Six/METADATA rename to tests/packagedcode/data/pypi/metadata/metadata.dist-info/METADATA diff --git a/tests/packagedcode/data/pypi/metadata/METADATA-expected.json b/tests/packagedcode/data/pypi/metadata/metadata.dist-info/METADATA-expected.json similarity index 90% rename from tests/packagedcode/data/pypi/metadata/METADATA-expected.json rename to tests/packagedcode/data/pypi/metadata/metadata.dist-info/METADATA-expected.json index 3082ee4535d..370b4a620fa 100644 --- a/tests/packagedcode/data/pypi/metadata/METADATA-expected.json +++ b/tests/packagedcode/data/pypi/metadata/metadata.dist-info/METADATA-expected.json @@ -44,13 +44,14 @@ ] }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:pypi/six@1.10.0", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/six", "repository_download_url": "https://pypi.org/packages/source/s/six/six-1.10.0.tar.gz", - "api_data_url": "https://pypi.org/pypi/six/1.10.0/json" + "api_data_url": "https://pypi.org/pypi/six/1.10.0/json", + "datasource_id": "pypi_wheel_metadata", + "purl": "pkg:pypi/six@1.10.0" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/metadata/v10/PKG-INFO-expected.json b/tests/packagedcode/data/pypi/metadata/v10/PKG-INFO-expected.json index 5e4c4fa736a..d0aba6cef6a 100644 --- a/tests/packagedcode/data/pypi/metadata/v10/PKG-INFO-expected.json +++ b/tests/packagedcode/data/pypi/metadata/v10/PKG-INFO-expected.json @@ -35,13 +35,14 @@ "license": "LICENSE.txt" }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:pypi/prompt-toolkit@0.53.1", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/prompt-toolkit", "repository_download_url": "https://pypi.org/packages/source/p/prompt-toolkit/prompt-toolkit-0.53.1.tar.gz", - "api_data_url": "https://pypi.org/pypi/prompt-toolkit/0.53.1/json" + "api_data_url": "https://pypi.org/pypi/prompt-toolkit/0.53.1/json", + "datasource_id": "pypi_sdist_pkginfo", + "purl": "pkg:pypi/prompt-toolkit@0.53.1" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/metadata/v11/PKG-INFO-expected.json b/tests/packagedcode/data/pypi/metadata/v11/PKG-INFO-expected.json index 6c4f3dfe155..9a403b9a93b 100644 --- a/tests/packagedcode/data/pypi/metadata/v11/PKG-INFO-expected.json +++ b/tests/packagedcode/data/pypi/metadata/v11/PKG-INFO-expected.json @@ -46,13 +46,14 @@ ] }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:pypi/python-mimeparse@1.6.0", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/python-mimeparse", "repository_download_url": "https://pypi.org/packages/source/p/python-mimeparse/python-mimeparse-1.6.0.tar.gz", - "api_data_url": "https://pypi.org/pypi/python-mimeparse/1.6.0/json" + "api_data_url": "https://pypi.org/pypi/python-mimeparse/1.6.0/json", + "datasource_id": "pypi_sdist_pkginfo", + "purl": "pkg:pypi/python-mimeparse@1.6.0" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/metadata/v12/PKG-INFO-expected.json b/tests/packagedcode/data/pypi/metadata/v12/PKG-INFO-expected.json index 60b67afca8c..d7ae7c24747 100644 --- a/tests/packagedcode/data/pypi/metadata/v12/PKG-INFO-expected.json +++ b/tests/packagedcode/data/pypi/metadata/v12/PKG-INFO-expected.json @@ -51,7 +51,7 @@ "code_view_url": null, "vcs_url": "https://pypi.python.org/pypi/pyldap/", "copyright": null, - "license_expression": "unknown AND python", + "license_expression": "python AND python", "declared_license": { "license": "Python style", "classifiers": [ @@ -59,13 +59,14 @@ ] }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:pypi/pyldap@2.4.45", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/pyldap", "repository_download_url": "https://pypi.org/packages/source/p/pyldap/pyldap-2.4.45.tar.gz", - "api_data_url": "https://pypi.org/pypi/pyldap/2.4.45/json" + "api_data_url": "https://pypi.org/pypi/pyldap/2.4.45/json", + "datasource_id": "pypi_sdist_pkginfo", + "purl": "pkg:pypi/pyldap@2.4.45" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/metadata/v20/PKG-INFO-expected.json b/tests/packagedcode/data/pypi/metadata/v20/PKG-INFO-expected.json index e1b35ba1d5a..45a423392be 100644 --- a/tests/packagedcode/data/pypi/metadata/v20/PKG-INFO-expected.json +++ b/tests/packagedcode/data/pypi/metadata/v20/PKG-INFO-expected.json @@ -51,7 +51,7 @@ "code_view_url": null, "vcs_url": null, "copyright": null, - "license_expression": "apache-2.0", + "license_expression": "apache-2.0 AND apache-2.0", "declared_license": { "license": "Apache License, Version 2.0", "classifiers": [ @@ -59,8 +59,8 @@ ] }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -91,9 +91,10 @@ "resolved_package": {} } ], - "purl": "pkg:pypi/pymongo@3.6.1", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/pymongo", "repository_download_url": "https://pypi.org/packages/source/p/pymongo/pymongo-3.6.1.tar.gz", - "api_data_url": "https://pypi.org/pypi/pymongo/3.6.1/json" + "api_data_url": "https://pypi.org/pypi/pymongo/3.6.1/json", + "datasource_id": "pypi_sdist_pkginfo", + "purl": "pkg:pypi/pymongo@3.6.1" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/metadata/v21/PKG-INFO-expected.json b/tests/packagedcode/data/pypi/metadata/v21/PKG-INFO-expected.json index 185a0a7f8f0..1b05665d0b7 100644 --- a/tests/packagedcode/data/pypi/metadata/v21/PKG-INFO-expected.json +++ b/tests/packagedcode/data/pypi/metadata/v21/PKG-INFO-expected.json @@ -51,13 +51,16 @@ ] }, "notice_text": null, - "contains_source_code": null, "source_packages": [], - "extra_data": {}, + "file_references": [], + "extra_data": { + "Documentation": "Documentation, https://docs.openstack.org/pbr/" + }, "dependencies": [], - "purl": "pkg:pypi/pbr@4.0.1", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/pbr", "repository_download_url": "https://pypi.org/packages/source/p/pbr/pbr-4.0.1.tar.gz", - "api_data_url": "https://pypi.org/pypi/pbr/4.0.1/json" + "api_data_url": "https://pypi.org/pypi/pbr/4.0.1/json", + "datasource_id": "pypi_sdist_pkginfo", + "purl": "pkg:pypi/pbr@4.0.1" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/pipfile.lock/sample1/Pipfile.lock-expected.json b/tests/packagedcode/data/pypi/pipfile.lock/sample1/Pipfile.lock-expected.json index 3e05e7f3ab9..b0e0ea1e142 100644 --- a/tests/packagedcode/data/pypi/pipfile.lock/sample1/Pipfile.lock-expected.json +++ b/tests/packagedcode/data/pypi/pipfile.lock/sample1/Pipfile.lock-expected.json @@ -25,8 +25,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -111,9 +111,10 @@ "resolved_package": {} } ], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "pipfile_lock", + "purl": null } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/pipfile.lock/sample1/output.expected.json b/tests/packagedcode/data/pypi/pipfile.lock/sample1/output.expected.json index 535d08d85a1..7b9a6ac2bf3 100644 --- a/tests/packagedcode/data/pypi/pipfile.lock/sample1/output.expected.json +++ b/tests/packagedcode/data/pypi/pipfile.lock/sample1/output.expected.json @@ -24,7 +24,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "root_path": null, "dependencies": [ { "purl": "pkg:pypi/django@1.7.1", @@ -99,7 +98,6 @@ "is_resolved": true } ], - "contains_source_code": null, "source_packages": [], "extra_data": {}, "purl": null, diff --git a/tests/packagedcode/data/pypi/pipfile.lock/sample2/Pipfile.lock-expected.json b/tests/packagedcode/data/pypi/pipfile.lock/sample2/Pipfile.lock-expected.json index 7c91fdb8661..df5b95dbce7 100644 --- a/tests/packagedcode/data/pypi/pipfile.lock/sample2/Pipfile.lock-expected.json +++ b/tests/packagedcode/data/pypi/pipfile.lock/sample2/Pipfile.lock-expected.json @@ -25,8 +25,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -183,9 +183,10 @@ "resolved_package": {} } ], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "pipfile_lock", + "purl": null } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/pipfile.lock/sample2/output.expected.json b/tests/packagedcode/data/pypi/pipfile.lock/sample2/output.expected.json index 477e71760cb..ac82559237c 100644 --- a/tests/packagedcode/data/pypi/pipfile.lock/sample2/output.expected.json +++ b/tests/packagedcode/data/pypi/pipfile.lock/sample2/output.expected.json @@ -24,7 +24,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "root_path": null, "dependencies": [ { "purl": "pkg:pypi/atomicwrites@1.1.5", @@ -163,7 +162,6 @@ "is_resolved": true } ], - "contains_source_code": null, "source_packages": [], "extra_data": {}, "purl": null, diff --git a/tests/packagedcode/data/pypi/pipfile.lock/sample3/Pipfile.lock-expected.json b/tests/packagedcode/data/pypi/pipfile.lock/sample3/Pipfile.lock-expected.json index 3ada4908e9f..208dcca20fd 100644 --- a/tests/packagedcode/data/pypi/pipfile.lock/sample3/Pipfile.lock-expected.json +++ b/tests/packagedcode/data/pypi/pipfile.lock/sample3/Pipfile.lock-expected.json @@ -25,8 +25,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -39,9 +39,10 @@ "resolved_package": {} } ], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "pipfile_lock", + "purl": null } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/pipfile.lock/sample3/output.expected.json b/tests/packagedcode/data/pypi/pipfile.lock/sample3/output.expected.json index 7579c989e5c..2aa262bade3 100644 --- a/tests/packagedcode/data/pypi/pipfile.lock/sample3/output.expected.json +++ b/tests/packagedcode/data/pypi/pipfile.lock/sample3/output.expected.json @@ -24,7 +24,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "root_path": null, "dependencies": [ { "purl": "pkg:pypi/python-baseconv@1.2.2", @@ -35,7 +34,6 @@ "is_resolved": true } ], - "contains_source_code": null, "source_packages": [], "extra_data": {}, "purl": null, diff --git a/tests/packagedcode/data/pypi/pipfile.lock/sample4/Pipfile.lock-expected.json b/tests/packagedcode/data/pypi/pipfile.lock/sample4/Pipfile.lock-expected.json index 2c06aba7e82..19c005249e2 100644 --- a/tests/packagedcode/data/pypi/pipfile.lock/sample4/Pipfile.lock-expected.json +++ b/tests/packagedcode/data/pypi/pipfile.lock/sample4/Pipfile.lock-expected.json @@ -25,8 +25,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -147,9 +147,10 @@ "resolved_package": {} } ], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "pipfile_lock", + "purl": null } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/pipfile.lock/sample4/output.expected.json b/tests/packagedcode/data/pypi/pipfile.lock/sample4/output.expected.json index a4ca3b3dc7c..129e4229686 100644 --- a/tests/packagedcode/data/pypi/pipfile.lock/sample4/output.expected.json +++ b/tests/packagedcode/data/pypi/pipfile.lock/sample4/output.expected.json @@ -24,7 +24,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "root_path": null, "dependencies": [ { "purl": "pkg:pypi/functools32@3.2.3.post2", @@ -131,7 +130,6 @@ "is_resolved": true } ], - "contains_source_code": null, "source_packages": [], "extra_data": {}, "purl": null, diff --git a/tests/packagedcode/data/pypi/pipfile.lock/sample5/Pipfile.lock-expected.json b/tests/packagedcode/data/pypi/pipfile.lock/sample5/Pipfile.lock-expected.json index 3e05e7f3ab9..b0e0ea1e142 100644 --- a/tests/packagedcode/data/pypi/pipfile.lock/sample5/Pipfile.lock-expected.json +++ b/tests/packagedcode/data/pypi/pipfile.lock/sample5/Pipfile.lock-expected.json @@ -25,8 +25,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -111,9 +111,10 @@ "resolved_package": {} } ], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "pipfile_lock", + "purl": null } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/pipfile.lock/sample5/output.expected.json b/tests/packagedcode/data/pypi/pipfile.lock/sample5/output.expected.json index 535d08d85a1..7b9a6ac2bf3 100644 --- a/tests/packagedcode/data/pypi/pipfile.lock/sample5/output.expected.json +++ b/tests/packagedcode/data/pypi/pipfile.lock/sample5/output.expected.json @@ -24,7 +24,6 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "root_path": null, "dependencies": [ { "purl": "pkg:pypi/django@1.7.1", @@ -99,7 +98,6 @@ "is_resolved": true } ], - "contains_source_code": null, "source_packages": [], "extra_data": {}, "purl": null, diff --git a/tests/packagedcode/data/pypi/requirements_txt/basic/output.expected.json b/tests/packagedcode/data/pypi/requirements_txt/basic/output.expected.json index 4ab1edc6589..725a473824a 100644 --- a/tests/packagedcode/data/pypi/requirements_txt/basic/output.expected.json +++ b/tests/packagedcode/data/pypi/requirements_txt/basic/output.expected.json @@ -25,8 +25,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -57,9 +57,10 @@ "resolved_package": {} } ], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "pip_requirements", + "purl": null } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/requirements_txt/comments_and_empties/output.expected.json b/tests/packagedcode/data/pypi/requirements_txt/comments_and_empties/output.expected.json index 2fa884d6530..11c49398b06 100644 --- a/tests/packagedcode/data/pypi/requirements_txt/comments_and_empties/output.expected.json +++ b/tests/packagedcode/data/pypi/requirements_txt/comments_and_empties/output.expected.json @@ -25,8 +25,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -48,9 +48,10 @@ "resolved_package": {} } ], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "pip_requirements", + "purl": null } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/requirements_txt/complex/output.expected.json b/tests/packagedcode/data/pypi/requirements_txt/complex/output.expected.json index c9f697883b4..fe2ab3f4911 100644 --- a/tests/packagedcode/data/pypi/requirements_txt/complex/output.expected.json +++ b/tests/packagedcode/data/pypi/requirements_txt/complex/output.expected.json @@ -25,8 +25,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -66,9 +66,10 @@ "resolved_package": {} } ], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "pip_requirements", + "purl": null } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/requirements_txt/dev/output.expected.json b/tests/packagedcode/data/pypi/requirements_txt/dev/output.expected.json index f81e23f1f41..e116b523930 100644 --- a/tests/packagedcode/data/pypi/requirements_txt/dev/output.expected.json +++ b/tests/packagedcode/data/pypi/requirements_txt/dev/output.expected.json @@ -25,8 +25,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -57,9 +57,10 @@ "resolved_package": {} } ], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "pip_requirements", + "purl": null } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/requirements_txt/double_extras/output.expected.json b/tests/packagedcode/data/pypi/requirements_txt/double_extras/output.expected.json index 9e5d65156ff..439fc88f549 100644 --- a/tests/packagedcode/data/pypi/requirements_txt/double_extras/output.expected.json +++ b/tests/packagedcode/data/pypi/requirements_txt/double_extras/output.expected.json @@ -25,8 +25,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -48,9 +48,10 @@ "resolved_package": {} } ], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "pip_requirements", + "purl": null } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/requirements_txt/editable/output.expected.json b/tests/packagedcode/data/pypi/requirements_txt/editable/output.expected.json index b47298b1e03..491e5dff246 100644 --- a/tests/packagedcode/data/pypi/requirements_txt/editable/output.expected.json +++ b/tests/packagedcode/data/pypi/requirements_txt/editable/output.expected.json @@ -25,8 +25,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -66,9 +66,10 @@ "resolved_package": {} } ], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "pip_requirements", + "purl": null } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/requirements_txt/eol_comment/output.expected.json b/tests/packagedcode/data/pypi/requirements_txt/eol_comment/output.expected.json index 2357a632727..a40cfae936c 100644 --- a/tests/packagedcode/data/pypi/requirements_txt/eol_comment/output.expected.json +++ b/tests/packagedcode/data/pypi/requirements_txt/eol_comment/output.expected.json @@ -25,8 +25,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -39,9 +39,10 @@ "resolved_package": {} } ], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "pip_requirements", + "purl": null } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/requirements_txt/invalid_spec/output.expected.json b/tests/packagedcode/data/pypi/requirements_txt/invalid_spec/output.expected.json index 17955693993..5b784721640 100644 --- a/tests/packagedcode/data/pypi/requirements_txt/invalid_spec/output.expected.json +++ b/tests/packagedcode/data/pypi/requirements_txt/invalid_spec/output.expected.json @@ -25,8 +25,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -39,9 +39,10 @@ "resolved_package": {} } ], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "pip_requirements", + "purl": null } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/requirements_txt/local_paths_and_files/output.expected.json b/tests/packagedcode/data/pypi/requirements_txt/local_paths_and_files/output.expected.json index fff625a5aa3..038ba1b746d 100644 --- a/tests/packagedcode/data/pypi/requirements_txt/local_paths_and_files/output.expected.json +++ b/tests/packagedcode/data/pypi/requirements_txt/local_paths_and_files/output.expected.json @@ -25,8 +25,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -66,9 +66,10 @@ "resolved_package": {} } ], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "pip_requirements", + "purl": null } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/requirements_txt/many_specs/output.expected.json b/tests/packagedcode/data/pypi/requirements_txt/many_specs/output.expected.json index ea08abd46cf..3a769c0a639 100644 --- a/tests/packagedcode/data/pypi/requirements_txt/many_specs/output.expected.json +++ b/tests/packagedcode/data/pypi/requirements_txt/many_specs/output.expected.json @@ -25,8 +25,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -39,9 +39,10 @@ "resolved_package": {} } ], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "pip_requirements", + "purl": null } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/requirements_txt/mixed/output.expected.json b/tests/packagedcode/data/pypi/requirements_txt/mixed/output.expected.json index 65dd479d84f..0c0490e1295 100644 --- a/tests/packagedcode/data/pypi/requirements_txt/mixed/output.expected.json +++ b/tests/packagedcode/data/pypi/requirements_txt/mixed/output.expected.json @@ -25,8 +25,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -66,9 +66,10 @@ "resolved_package": {} } ], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "pip_requirements", + "purl": null } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/requirements_txt/pinned/output.expected.json b/tests/packagedcode/data/pypi/requirements_txt/pinned/output.expected.json index cafde6781ac..73ed5f04f81 100644 --- a/tests/packagedcode/data/pypi/requirements_txt/pinned/output.expected.json +++ b/tests/packagedcode/data/pypi/requirements_txt/pinned/output.expected.json @@ -25,8 +25,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -57,9 +57,10 @@ "resolved_package": {} } ], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "pip_requirements", + "purl": null } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/requirements_txt/repeated/output.expected.json b/tests/packagedcode/data/pypi/requirements_txt/repeated/output.expected.json index 056dd7b5756..0b7b932ed2a 100644 --- a/tests/packagedcode/data/pypi/requirements_txt/repeated/output.expected.json +++ b/tests/packagedcode/data/pypi/requirements_txt/repeated/output.expected.json @@ -25,8 +25,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -48,9 +48,10 @@ "resolved_package": {} } ], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "pip_requirements", + "purl": null } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/requirements_txt/requirements_in/output.expected.json b/tests/packagedcode/data/pypi/requirements_txt/requirements_in/output.expected.json index a2076872815..8d794572724 100644 --- a/tests/packagedcode/data/pypi/requirements_txt/requirements_in/output.expected.json +++ b/tests/packagedcode/data/pypi/requirements_txt/requirements_in/output.expected.json @@ -25,8 +25,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -48,9 +48,10 @@ "resolved_package": {} } ], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "pip_requirements", + "purl": null } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/requirements_txt/urls_wth_checksums/output.expected.json b/tests/packagedcode/data/pypi/requirements_txt/urls_wth_checksums/output.expected.json index 42aaf4333d6..54d6195e594 100644 --- a/tests/packagedcode/data/pypi/requirements_txt/urls_wth_checksums/output.expected.json +++ b/tests/packagedcode/data/pypi/requirements_txt/urls_wth_checksums/output.expected.json @@ -25,8 +25,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -48,9 +48,10 @@ "resolved_package": {} } ], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "pip_requirements", + "purl": null } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/requirements_txt/vcs-git/output.expected.json b/tests/packagedcode/data/pypi/requirements_txt/vcs-git/output.expected.json index 1d0166ab4cb..8c25c965aba 100644 --- a/tests/packagedcode/data/pypi/requirements_txt/vcs-git/output.expected.json +++ b/tests/packagedcode/data/pypi/requirements_txt/vcs-git/output.expected.json @@ -25,8 +25,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -147,9 +147,10 @@ "resolved_package": {} } ], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "pip_requirements", + "purl": null } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/requirements_txt/vcs_editable/output.expected.json b/tests/packagedcode/data/pypi/requirements_txt/vcs_editable/output.expected.json index 0b1bc529ede..924ed6b89fe 100644 --- a/tests/packagedcode/data/pypi/requirements_txt/vcs_editable/output.expected.json +++ b/tests/packagedcode/data/pypi/requirements_txt/vcs_editable/output.expected.json @@ -25,8 +25,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -138,9 +138,10 @@ "resolved_package": {} } ], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "pip_requirements", + "purl": null } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/requirements_txt/vcs_eggs/output.expected.json b/tests/packagedcode/data/pypi/requirements_txt/vcs_eggs/output.expected.json index d8a200a7a7e..3ace43142b4 100644 --- a/tests/packagedcode/data/pypi/requirements_txt/vcs_eggs/output.expected.json +++ b/tests/packagedcode/data/pypi/requirements_txt/vcs_eggs/output.expected.json @@ -25,8 +25,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -48,9 +48,10 @@ "resolved_package": {} } ], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "pip_requirements", + "purl": null } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/requirements_txt/vcs_extras_require/output.expected.json b/tests/packagedcode/data/pypi/requirements_txt/vcs_extras_require/output.expected.json index 972792454da..f19929ba240 100644 --- a/tests/packagedcode/data/pypi/requirements_txt/vcs_extras_require/output.expected.json +++ b/tests/packagedcode/data/pypi/requirements_txt/vcs_extras_require/output.expected.json @@ -25,8 +25,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -39,9 +39,10 @@ "resolved_package": {} } ], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "pip_requirements", + "purl": null } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/setup.py-versions/asyncio-master/setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py-versions/asyncio-master/setup.py-expected.json index 1a561080724..368c2eed701 100644 --- a/tests/packagedcode/data/pypi/setup.py-versions/asyncio-master/setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py-versions/asyncio-master/setup.py-expected.json @@ -31,9 +31,7 @@ "classifiers": [] }, "notice_text": null, - "root_path": null, "dependencies": [], - "contains_source_code": null, "source_packages": [], "purl": "pkg:pypi/asyncio@3.4.4", "repository_homepage_url": "https://pypi.org/project/asyncio", diff --git a/tests/packagedcode/data/pypi/setup.py-versions/certifi-2020.6.20/setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py-versions/certifi-2020.6.20/setup.py-expected.json index e469fad0c7a..dd38fd28989 100644 --- a/tests/packagedcode/data/pypi/setup.py-versions/certifi-2020.6.20/setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py-versions/certifi-2020.6.20/setup.py-expected.json @@ -49,9 +49,7 @@ ] }, "notice_text": null, - "root_path": null, "dependencies": [], - "contains_source_code": null, "source_packages": [], "purl": "pkg:pypi/certifi@2020.06.20", "repository_homepage_url": "https://pypi.org/project/certifi", diff --git a/tests/packagedcode/data/pypi/setup.py-versions/chardet-3.0.4/setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py-versions/chardet-3.0.4/setup.py-expected.json index d60bf6f6974..f139ac63d8d 100644 --- a/tests/packagedcode/data/pypi/setup.py-versions/chardet-3.0.4/setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py-versions/chardet-3.0.4/setup.py-expected.json @@ -52,9 +52,7 @@ ] }, "notice_text": null, - "root_path": null, "dependencies": [], - "contains_source_code": null, "source_packages": [], "purl": "pkg:pypi/chardet@3.0.4", "repository_homepage_url": "https://pypi.org/project/chardet", diff --git a/tests/packagedcode/data/pypi/setup.py-versions/flit-2.3.0/setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py-versions/flit-2.3.0/setup.py-expected.json index 78027a35603..acf83c7e405 100644 --- a/tests/packagedcode/data/pypi/setup.py-versions/flit-2.3.0/setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py-versions/flit-2.3.0/setup.py-expected.json @@ -35,9 +35,7 @@ "classifiers": [] }, "notice_text": null, - "root_path": null, "dependencies": [], - "contains_source_code": null, "source_packages": [], "purl": "pkg:pypi/flit@2.3.0", "repository_homepage_url": "https://pypi.org/project/flit", diff --git a/tests/packagedcode/data/pypi/setup.py-versions/paho-mqtt-1.5.0/setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py-versions/paho-mqtt-1.5.0/setup.py-expected.json index 3b6d5acedc3..361a596ef28 100644 --- a/tests/packagedcode/data/pypi/setup.py-versions/paho-mqtt-1.5.0/setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py-versions/paho-mqtt-1.5.0/setup.py-expected.json @@ -53,9 +53,7 @@ ] }, "notice_text": null, - "root_path": null, "dependencies": [], - "contains_source_code": null, "source_packages": [], "purl": "pkg:pypi/paho-mqtt@1.5.0", "repository_homepage_url": "https://pypi.org/project/paho-mqtt", diff --git a/tests/packagedcode/data/pypi/setup.py-versions/pexpect-4.6.0/setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py-versions/pexpect-4.6.0/setup.py-expected.json index b2c36908d53..9be8503d15a 100644 --- a/tests/packagedcode/data/pypi/setup.py-versions/pexpect-4.6.0/setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py-versions/pexpect-4.6.0/setup.py-expected.json @@ -57,9 +57,7 @@ ] }, "notice_text": null, - "root_path": null, "dependencies": [], - "contains_source_code": null, "source_packages": [], "purl": "pkg:pypi/pexpect@4.6.0", "repository_homepage_url": "https://pypi.org/project/pexpect", diff --git a/tests/packagedcode/data/pypi/setup.py-versions/pycparser-2.20/setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py-versions/pycparser-2.20/setup.py-expected.json index 459cc1327cd..db71d8ada9d 100644 --- a/tests/packagedcode/data/pypi/setup.py-versions/pycparser-2.20/setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py-versions/pycparser-2.20/setup.py-expected.json @@ -45,9 +45,7 @@ ] }, "notice_text": null, - "root_path": null, "dependencies": [], - "contains_source_code": null, "source_packages": [], "purl": "pkg:pypi/pycparser@2.20", "repository_homepage_url": "https://pypi.org/project/pycparser", diff --git a/tests/packagedcode/data/pypi/setup.py-versions/pyserial-3.4/setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py-versions/pyserial-3.4/setup.py-expected.json index 14a43c50144..73e763618de 100644 --- a/tests/packagedcode/data/pypi/setup.py-versions/pyserial-3.4/setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py-versions/pyserial-3.4/setup.py-expected.json @@ -58,9 +58,7 @@ ] }, "notice_text": null, - "root_path": null, "dependencies": [], - "contains_source_code": null, "source_packages": [], "purl": "pkg:pypi/pyserial@3.4", "repository_homepage_url": "https://pypi.org/project/pyserial", diff --git a/tests/packagedcode/data/pypi/setup.py-versions/pytoml-0.1.21/setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py-versions/pytoml-0.1.21/setup.py-expected.json index 22fa7f933b8..fc6d4b86f06 100644 --- a/tests/packagedcode/data/pypi/setup.py-versions/pytoml-0.1.21/setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py-versions/pytoml-0.1.21/setup.py-expected.json @@ -45,9 +45,7 @@ ] }, "notice_text": null, - "root_path": null, "dependencies": [], - "contains_source_code": null, "source_packages": [], "purl": "pkg:pypi/pytoml@0.1.21", "repository_homepage_url": "https://pypi.org/project/pytoml", diff --git a/tests/packagedcode/data/pypi/setup.py-versions/six-1.14.0/setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py-versions/six-1.14.0/setup.py-expected.json index d21890b1158..8d46d921a0a 100644 --- a/tests/packagedcode/data/pypi/setup.py-versions/six-1.14.0/setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py-versions/six-1.14.0/setup.py-expected.json @@ -35,9 +35,7 @@ "classifiers": [] }, "notice_text": null, - "root_path": null, "dependencies": [], - "contains_source_code": null, "source_packages": [], "purl": "pkg:pypi/six@1.14.0", "repository_homepage_url": "https://pypi.org/project/six", diff --git a/tests/packagedcode/data/pypi/setup.py-versions/urllib3-1.25.9/setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py-versions/urllib3-1.25.9/setup.py-expected.json index 9a8b70b8e96..03e317cfd31 100644 --- a/tests/packagedcode/data/pypi/setup.py-versions/urllib3-1.25.9/setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py-versions/urllib3-1.25.9/setup.py-expected.json @@ -54,9 +54,7 @@ ] }, "notice_text": null, - "root_path": null, "dependencies": [], - "contains_source_code": null, "source_packages": [], "purl": "pkg:pypi/urllib3@1.25.9", "repository_homepage_url": "https://pypi.org/project/urllib3", diff --git a/tests/packagedcode/data/pypi/setup.py/arpy_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/arpy_setup.py-expected.json index 8ab9ae110d5..249b30df150 100644 --- a/tests/packagedcode/data/pypi/setup.py/arpy_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/arpy_setup.py-expected.json @@ -35,13 +35,14 @@ "license": "Simplified BSD" }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:pypi/arpy@0.1.1", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/arpy", "repository_download_url": "https://pypi.org/packages/source/a/arpy/arpy-0.1.1.tar.gz", - "api_data_url": "https://pypi.org/pypi/arpy/0.1.1/json" + "api_data_url": "https://pypi.org/pypi/arpy/0.1.1/json", + "datasource_id": "pypi_setup_py", + "purl": "pkg:pypi/arpy@0.1.1" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/setup.py/boolean2_py_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/boolean2_py_setup.py-expected.json index d6e4e6610f2..75b5b98046e 100644 --- a/tests/packagedcode/data/pypi/setup.py/boolean2_py_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/boolean2_py_setup.py-expected.json @@ -53,13 +53,14 @@ ] }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:pypi/boolean.py@1.2", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/boolean.py", "repository_download_url": "https://pypi.org/packages/source/b/boolean.py/boolean.py-1.2.tar.gz", - "api_data_url": "https://pypi.org/pypi/boolean.py/1.2/json" + "api_data_url": "https://pypi.org/pypi/boolean.py/1.2/json", + "datasource_id": "pypi_setup_py", + "purl": "pkg:pypi/boolean.py@1.2" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/setup.py/container_check_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/container_check_setup.py-expected.json index caccf10d540..4fa4b75d844 100644 --- a/tests/packagedcode/data/pypi/setup.py/container_check_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/container_check_setup.py-expected.json @@ -49,13 +49,14 @@ ] }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:pypi/container-check@1.0.6", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/container-check", "repository_download_url": "https://pypi.org/packages/source/c/container-check/container-check-1.0.6.tar.gz", - "api_data_url": "https://pypi.org/pypi/container-check/1.0.6/json" + "api_data_url": "https://pypi.org/pypi/container-check/1.0.6/json", + "datasource_id": "pypi_setup_py", + "purl": "pkg:pypi/container-check@1.0.6" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/setup.py/fb303_py_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/fb303_py_setup.py-expected.json index dd761f7d922..5f134f833b7 100644 --- a/tests/packagedcode/data/pypi/setup.py/fb303_py_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/fb303_py_setup.py-expected.json @@ -45,13 +45,14 @@ "license": "Apache License 2.0" }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:pypi/thrift-fb303@0.10.0", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/thrift_fb303", "repository_download_url": "https://pypi.org/packages/source/t/thrift_fb303/thrift_fb303-0.10.0.tar.gz", - "api_data_url": "https://pypi.org/pypi/thrift_fb303/0.10.0/json" + "api_data_url": "https://pypi.org/pypi/thrift_fb303/0.10.0/json", + "datasource_id": "pypi_setup_py", + "purl": "pkg:pypi/thrift-fb303@0.10.0" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/setup.py/frell_src_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/frell_src_setup.py-expected.json index 4a38302265b..f25ef2211db 100644 --- a/tests/packagedcode/data/pypi/setup.py/frell_src_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/frell_src_setup.py-expected.json @@ -35,13 +35,14 @@ "license": "Apache License 2.0" }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:pypi/%40name%40", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/@NAME@", "repository_download_url": null, - "api_data_url": "https://pypi.org/pypi/@NAME@/json" + "api_data_url": "https://pypi.org/pypi/@NAME@/json", + "datasource_id": "pypi_setup_py", + "purl": "pkg:pypi/%40name%40" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/setup.py/gyp_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/gyp_setup.py-expected.json index 51fc7343715..e98a9babcd3 100644 --- a/tests/packagedcode/data/pypi/setup.py/gyp_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/gyp_setup.py-expected.json @@ -33,13 +33,14 @@ "license_expression": null, "declared_license": {}, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:pypi/gyp@0.1", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/gyp", "repository_download_url": "https://pypi.org/packages/source/g/gyp/gyp-0.1.tar.gz", - "api_data_url": "https://pypi.org/pypi/gyp/0.1/json" + "api_data_url": "https://pypi.org/pypi/gyp/0.1/json", + "datasource_id": "pypi_setup_py", + "purl": "pkg:pypi/gyp@0.1" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/setup.py/interlap_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/interlap_setup.py-expected.json index 1297e9922ca..9fec073f235 100644 --- a/tests/packagedcode/data/pypi/setup.py/interlap_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/interlap_setup.py-expected.json @@ -49,13 +49,14 @@ ] }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:pypi/interlap", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/interlap", "repository_download_url": null, - "api_data_url": "https://pypi.org/pypi/interlap/json" + "api_data_url": "https://pypi.org/pypi/interlap/json", + "datasource_id": "pypi_setup_py", + "purl": "pkg:pypi/interlap" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/setup.py/mb_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/mb_setup.py-expected.json index 7ededce536b..b9dc63d7788 100644 --- a/tests/packagedcode/data/pypi/setup.py/mb_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/mb_setup.py-expected.json @@ -35,13 +35,14 @@ "license": "GPLv2" }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:pypi/mb@2.19.0", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/mb", "repository_download_url": "https://pypi.org/packages/source/m/mb/mb-2.19.0.tar.gz", - "api_data_url": "https://pypi.org/pypi/mb/2.19.0/json" + "api_data_url": "https://pypi.org/pypi/mb/2.19.0/json", + "datasource_id": "pypi_setup_py", + "purl": "pkg:pypi/mb@2.19.0" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/setup.py/ntfs_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/ntfs_setup.py-expected.json index f93e25d57fb..0359f58f47f 100644 --- a/tests/packagedcode/data/pypi/setup.py/ntfs_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/ntfs_setup.py-expected.json @@ -46,13 +46,14 @@ ] }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:pypi/ntfsutils", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/ntfsutils", "repository_download_url": null, - "api_data_url": "https://pypi.org/pypi/ntfsutils/json" + "api_data_url": "https://pypi.org/pypi/ntfsutils/json", + "datasource_id": "pypi_setup_py", + "purl": "pkg:pypi/ntfsutils" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/setup.py/nvchecker_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/nvchecker_setup.py-expected.json index cfa9fd96733..6a9a8ba3c4d 100644 --- a/tests/packagedcode/data/pypi/setup.py/nvchecker_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/nvchecker_setup.py-expected.json @@ -56,8 +56,8 @@ ] }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -79,9 +79,10 @@ "resolved_package": {} } ], - "purl": "pkg:pypi/nvchecker", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/nvchecker", "repository_download_url": null, - "api_data_url": "https://pypi.org/pypi/nvchecker/json" + "api_data_url": "https://pypi.org/pypi/nvchecker/json", + "datasource_id": "pypi_setup_py", + "purl": "pkg:pypi/nvchecker" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/setup.py/oi_agents_common_code_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/oi_agents_common_code_setup.py-expected.json index 214c9832b79..aed0e04678b 100644 --- a/tests/packagedcode/data/pypi/setup.py/oi_agents_common_code_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/oi_agents_common_code_setup.py-expected.json @@ -48,13 +48,14 @@ ] }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:pypi/agents-common", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/agents_common", "repository_download_url": null, - "api_data_url": "https://pypi.org/pypi/agents_common/json" + "api_data_url": "https://pypi.org/pypi/agents_common/json", + "datasource_id": "pypi_setup_py", + "purl": "pkg:pypi/agents-common" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/setup.py/packageurl_python_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/packageurl_python_setup.py-expected.json index cad2dcfe0e8..2f4328327f7 100644 --- a/tests/packagedcode/data/pypi/setup.py/packageurl_python_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/packageurl_python_setup.py-expected.json @@ -53,13 +53,14 @@ ] }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:pypi/packageurl-python@0.8.5", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/packageurl-python", "repository_download_url": "https://pypi.org/packages/source/p/packageurl-python/packageurl-python-0.8.5.tar.gz", - "api_data_url": "https://pypi.org/pypi/packageurl-python/0.8.5/json" + "api_data_url": "https://pypi.org/pypi/packageurl-python/0.8.5/json", + "datasource_id": "pypi_setup_py", + "purl": "pkg:pypi/packageurl-python@0.8.5" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/setup.py/pipdeptree_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/pipdeptree_setup.py-expected.json index b027759c298..92f512c5b55 100644 --- a/tests/packagedcode/data/pypi/setup.py/pipdeptree_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/pipdeptree_setup.py-expected.json @@ -48,13 +48,14 @@ ] }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:pypi/pipdeptree", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/pipdeptree", "repository_download_url": null, - "api_data_url": "https://pypi.org/pypi/pipdeptree/json" + "api_data_url": "https://pypi.org/pypi/pipdeptree/json", + "datasource_id": "pypi_setup_py", + "purl": "pkg:pypi/pipdeptree" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/setup.py/pluggy_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/pluggy_setup.py-expected.json index dd5d7a351f0..20219bff27e 100644 --- a/tests/packagedcode/data/pypi/setup.py/pluggy_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/pluggy_setup.py-expected.json @@ -25,13 +25,14 @@ "license_expression": null, "declared_license": {}, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "pypi_setup_py", + "purl": null } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/setup.py/pydep_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/pydep_setup.py-expected.json index 8403e72b009..85fcddea437 100644 --- a/tests/packagedcode/data/pypi/setup.py/pydep_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/pydep_setup.py-expected.json @@ -33,8 +33,8 @@ "license_expression": null, "declared_license": {}, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -47,9 +47,10 @@ "resolved_package": {} } ], - "purl": "pkg:pypi/pydep@0.0", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/pydep", "repository_download_url": "https://pypi.org/packages/source/p/pydep/pydep-0.0.tar.gz", - "api_data_url": "https://pypi.org/pypi/pydep/0.0/json" + "api_data_url": "https://pypi.org/pypi/pydep/0.0/json", + "datasource_id": "pypi_setup_py", + "purl": "pkg:pypi/pydep@0.0" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/setup.py/pygtrie_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/pygtrie_setup.py-expected.json index dd5d7a351f0..20219bff27e 100644 --- a/tests/packagedcode/data/pypi/setup.py/pygtrie_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/pygtrie_setup.py-expected.json @@ -25,13 +25,14 @@ "license_expression": null, "declared_license": {}, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "pypi_setup_py", + "purl": null } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/setup.py/pyrpm_2_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/pyrpm_2_setup.py-expected.json index 9764c8186c4..375ed5a1082 100644 --- a/tests/packagedcode/data/pypi/setup.py/pyrpm_2_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/pyrpm_2_setup.py-expected.json @@ -50,13 +50,14 @@ ] }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:pypi/pyrpm-02strich@0.5.3", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/pyrpm-02strich", "repository_download_url": "https://pypi.org/packages/source/p/pyrpm-02strich/pyrpm-02strich-0.5.3.tar.gz", - "api_data_url": "https://pypi.org/pypi/pyrpm-02strich/0.5.3/json" + "api_data_url": "https://pypi.org/pypi/pyrpm-02strich/0.5.3/json", + "datasource_id": "pypi_setup_py", + "purl": "pkg:pypi/pyrpm-02strich@0.5.3" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/setup.py/python_publicsuffix_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/python_publicsuffix_setup.py-expected.json index ed0eef9668b..3244826ac11 100644 --- a/tests/packagedcode/data/pypi/setup.py/python_publicsuffix_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/python_publicsuffix_setup.py-expected.json @@ -43,13 +43,14 @@ ] }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:pypi/publicsuffix@1.1.1", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/publicsuffix", "repository_download_url": "https://pypi.org/packages/source/p/publicsuffix/publicsuffix-1.1.1.tar.gz", - "api_data_url": "https://pypi.org/pypi/publicsuffix/1.1.1/json" + "api_data_url": "https://pypi.org/pypi/publicsuffix/1.1.1/json", + "datasource_id": "pypi_setup_py", + "purl": "pkg:pypi/publicsuffix@1.1.1" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/setup.py/repology_py_libversion_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/repology_py_libversion_setup.py-expected.json index cb24dd8fb49..021a3c86fdc 100644 --- a/tests/packagedcode/data/pypi/setup.py/repology_py_libversion_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/repology_py_libversion_setup.py-expected.json @@ -48,13 +48,14 @@ ] }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:pypi/libversion", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/libversion", "repository_download_url": null, - "api_data_url": "https://pypi.org/pypi/libversion/json" + "api_data_url": "https://pypi.org/pypi/libversion/json", + "datasource_id": "pypi_setup_py", + "purl": "pkg:pypi/libversion" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/setup.py/saneyaml_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/saneyaml_setup.py-expected.json index 00c415e42f5..6050d2fbd6d 100644 --- a/tests/packagedcode/data/pypi/setup.py/saneyaml_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/saneyaml_setup.py-expected.json @@ -53,8 +53,8 @@ ] }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -67,9 +67,10 @@ "resolved_package": {} } ], - "purl": "pkg:pypi/saneyaml@0.2dev", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/saneyaml", "repository_download_url": "https://pypi.org/packages/source/s/saneyaml/saneyaml-0.2dev.tar.gz", - "api_data_url": "https://pypi.org/pypi/saneyaml/0.2dev/json" + "api_data_url": "https://pypi.org/pypi/saneyaml/0.2dev/json", + "datasource_id": "pypi_setup_py", + "purl": "pkg:pypi/saneyaml@0.2dev" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/setup.py/setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/setup.py-expected.json index 741372fb8fe..fb775c57f1f 100644 --- a/tests/packagedcode/data/pypi/setup.py/setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/setup.py-expected.json @@ -50,8 +50,8 @@ ] }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -244,9 +244,10 @@ "resolved_package": {} } ], - "purl": "pkg:pypi/scancode-toolkit@1.5.0", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/scancode-toolkit", "repository_download_url": "https://pypi.org/packages/source/s/scancode-toolkit/scancode-toolkit-1.5.0.tar.gz", - "api_data_url": "https://pypi.org/pypi/scancode-toolkit/1.5.0/json" + "api_data_url": "https://pypi.org/pypi/scancode-toolkit/1.5.0/json", + "datasource_id": "pypi_setup_py", + "purl": "pkg:pypi/scancode-toolkit@1.5.0" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/setup.py/setup.py-simple-expected.json b/tests/packagedcode/data/pypi/setup.py/setup.py-simple-expected.json index 0f25f62eb88..7a65bc7b941 100644 --- a/tests/packagedcode/data/pypi/setup.py/setup.py-simple-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/setup.py-simple-expected.json @@ -49,9 +49,7 @@ ] }, "notice_text": null, - "root_path": null, "dependencies": [], - "contains_source_code": null, "source_packages": [], "purl": "pkg:pypi/scancode-toolkit@1.5.0", "repository_homepage_url": "https://pypi.org/project/scancode-toolkit", diff --git a/tests/packagedcode/data/pypi/setup.py/setuppycheck_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/setuppycheck_setup.py-expected.json index 927a2ec726f..8657861425e 100644 --- a/tests/packagedcode/data/pypi/setup.py/setuppycheck_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/setuppycheck_setup.py-expected.json @@ -37,8 +37,8 @@ "license": "MIT" }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -51,9 +51,10 @@ "resolved_package": {} } ], - "purl": "pkg:pypi/setuppycheck", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/setuppycheck", "repository_download_url": null, - "api_data_url": "https://pypi.org/pypi/setuppycheck/json" + "api_data_url": "https://pypi.org/pypi/setuppycheck/json", + "datasource_id": "pypi_setup_py", + "purl": "pkg:pypi/setuppycheck" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/setup.py/url_py_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/url_py_setup.py-expected.json index b5e01179d9c..8160c7679a4 100644 --- a/tests/packagedcode/data/pypi/setup.py/url_py_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/url_py_setup.py-expected.json @@ -43,8 +43,8 @@ ] }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -57,9 +57,10 @@ "resolved_package": {} } ], - "purl": "pkg:pypi/urlpy@0.2.0.2", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/urlpy", "repository_download_url": "https://pypi.org/packages/source/u/urlpy/urlpy-0.2.0.2.tar.gz", - "api_data_url": "https://pypi.org/pypi/urlpy/0.2.0.2/json" + "api_data_url": "https://pypi.org/pypi/urlpy/0.2.0.2/json", + "datasource_id": "pypi_setup_py", + "purl": "pkg:pypi/urlpy@0.2.0.2" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/setup.py/venv_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/venv_setup.py-expected.json index 97ace20dc7b..ccfa974baee 100644 --- a/tests/packagedcode/data/pypi/setup.py/venv_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/venv_setup.py-expected.json @@ -56,13 +56,14 @@ ] }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:pypi/virtualenv", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/virtualenv", "repository_download_url": null, - "api_data_url": "https://pypi.org/pypi/virtualenv/json" + "api_data_url": "https://pypi.org/pypi/virtualenv/json", + "datasource_id": "pypi_setup_py", + "purl": "pkg:pypi/virtualenv" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/setup.py/with_name-setup.py.expected.json b/tests/packagedcode/data/pypi/setup.py/with_name-setup.py.expected.json index 8ab9ae110d5..249b30df150 100644 --- a/tests/packagedcode/data/pypi/setup.py/with_name-setup.py.expected.json +++ b/tests/packagedcode/data/pypi/setup.py/with_name-setup.py.expected.json @@ -35,13 +35,14 @@ "license": "Simplified BSD" }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:pypi/arpy@0.1.1", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/arpy", "repository_download_url": "https://pypi.org/packages/source/a/arpy/arpy-0.1.1.tar.gz", - "api_data_url": "https://pypi.org/pypi/arpy/0.1.1/json" + "api_data_url": "https://pypi.org/pypi/arpy/0.1.1/json", + "datasource_id": "pypi_setup_py", + "purl": "pkg:pypi/arpy@0.1.1" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/setup.py/without_name-setup.py.expected.json b/tests/packagedcode/data/pypi/setup.py/without_name-setup.py.expected.json index 4854217f9db..daec2aa7e64 100644 --- a/tests/packagedcode/data/pypi/setup.py/without_name-setup.py.expected.json +++ b/tests/packagedcode/data/pypi/setup.py/without_name-setup.py.expected.json @@ -33,13 +33,14 @@ "license_expression": null, "declared_license": {}, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "pypi_setup_py", + "purl": null } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/setup.py/xmltodict_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/xmltodict_setup.py-expected.json index 35684d5721a..235539d68ea 100644 --- a/tests/packagedcode/data/pypi/setup.py/xmltodict_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/xmltodict_setup.py-expected.json @@ -45,13 +45,14 @@ ] }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:pypi/xmltodict", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/xmltodict", "repository_download_url": null, - "api_data_url": "https://pypi.org/pypi/xmltodict/json" + "api_data_url": "https://pypi.org/pypi/xmltodict/json", + "datasource_id": "pypi_setup_py", + "purl": "pkg:pypi/xmltodict" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/unpackage_source_parser-expected.json b/tests/packagedcode/data/pypi/unpackage_source_parser-expected.json index 993a67b6c27..27db5ddee91 100644 --- a/tests/packagedcode/data/pypi/unpackage_source_parser-expected.json +++ b/tests/packagedcode/data/pypi/unpackage_source_parser-expected.json @@ -34,9 +34,7 @@ "license": "BSD" }, "notice_text": null, - "root_path": null, "dependencies": [], - "contains_source_code": null, "source_packages": [], "extra_data": {}, "purl": "pkg:pypi/ticketimport@0.7a", diff --git a/tests/packagedcode/data/pypi/unpacked_sdist/metadata-1.0/PyJPString-0.0.3-expected.json b/tests/packagedcode/data/pypi/unpacked_sdist/metadata-1.0/PyJPString-0.0.3-expected.json index 1cebe35e57a..f7012754354 100644 --- a/tests/packagedcode/data/pypi/unpacked_sdist/metadata-1.0/PyJPString-0.0.3-expected.json +++ b/tests/packagedcode/data/pypi/unpacked_sdist/metadata-1.0/PyJPString-0.0.3-expected.json @@ -38,13 +38,14 @@ "license": "MIT" }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:pypi/pyjpstring@0.0.3", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/PyJPString", "repository_download_url": "https://pypi.org/packages/source/P/PyJPString/PyJPString-0.0.3.tar.gz", - "api_data_url": "https://pypi.org/pypi/PyJPString/0.0.3/json" + "api_data_url": "https://pypi.org/pypi/PyJPString/0.0.3/json", + "datasource_id": "pypi_sdist_pkginfo", + "purl": "pkg:pypi/pyjpstring@0.0.3" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/unpacked_sdist/metadata-1.0/PyJPString-0.0.3-subdir-expected.json b/tests/packagedcode/data/pypi/unpacked_sdist/metadata-1.0/PyJPString-0.0.3-subdir-expected.json index 2e3e3b2a559..a611a88d286 100644 --- a/tests/packagedcode/data/pypi/unpacked_sdist/metadata-1.0/PyJPString-0.0.3-subdir-expected.json +++ b/tests/packagedcode/data/pypi/unpacked_sdist/metadata-1.0/PyJPString-0.0.3-subdir-expected.json @@ -38,8 +38,135 @@ "license": "MIT" }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [ + { + "path": "setup.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "PyJPString.egg-info/PKG-INFO", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "PyJPString.egg-info/SOURCES.txt", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "PyJPString.egg-info/dependency_links.txt", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "PyJPString.egg-info/requires.txt", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "PyJPString.egg-info/top_level.txt", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "jpstring/__init__.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "jpstring/converters.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "jpstring/normalizers.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "jpstring/patterns.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "jpstring/string.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "jpstring/validators.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "jpstring/django/__init__.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "jpstring/django/validators.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ], "extra_data": {}, "dependencies": [ { @@ -79,9 +206,10 @@ "resolved_package": {} } ], - "purl": "pkg:pypi/pyjpstring@0.0.3", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/PyJPString", "repository_download_url": "https://pypi.org/packages/source/P/PyJPString/PyJPString-0.0.3.tar.gz", - "api_data_url": "https://pypi.org/pypi/PyJPString/0.0.3/json" + "api_data_url": "https://pypi.org/pypi/PyJPString/0.0.3/json", + "datasource_id": "pypi_editable_egg_pkginfo", + "purl": "pkg:pypi/pyjpstring@0.0.3" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/unpacked_sdist/metadata-1.1/python-mimeparse-1.6.0-expected.json b/tests/packagedcode/data/pypi/unpacked_sdist/metadata-1.1/python-mimeparse-1.6.0-expected.json index 6c4f3dfe155..9a403b9a93b 100644 --- a/tests/packagedcode/data/pypi/unpacked_sdist/metadata-1.1/python-mimeparse-1.6.0-expected.json +++ b/tests/packagedcode/data/pypi/unpacked_sdist/metadata-1.1/python-mimeparse-1.6.0-expected.json @@ -46,13 +46,14 @@ ] }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:pypi/python-mimeparse@1.6.0", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/python-mimeparse", "repository_download_url": "https://pypi.org/packages/source/p/python-mimeparse/python-mimeparse-1.6.0.tar.gz", - "api_data_url": "https://pypi.org/pypi/python-mimeparse/1.6.0/json" + "api_data_url": "https://pypi.org/pypi/python-mimeparse/1.6.0/json", + "datasource_id": "pypi_sdist_pkginfo", + "purl": "pkg:pypi/python-mimeparse@1.6.0" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/unpacked_sdist/metadata-1.1/pyup-django-0.4.0-expected.json b/tests/packagedcode/data/pypi/unpacked_sdist/metadata-1.1/pyup-django-0.4.0-expected.json index bbd96779322..016b07033df 100644 --- a/tests/packagedcode/data/pypi/unpacked_sdist/metadata-1.1/pyup-django-0.4.0-expected.json +++ b/tests/packagedcode/data/pypi/unpacked_sdist/metadata-1.1/pyup-django-0.4.0-expected.json @@ -42,7 +42,7 @@ "code_view_url": null, "vcs_url": null, "copyright": null, - "license_expression": "mit", + "license_expression": "mit AND mit", "declared_license": { "license": "MIT license", "classifiers": [ @@ -50,13 +50,14 @@ ] }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:pypi/pyup-django@0.4.0", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/pyup-django", "repository_download_url": "https://pypi.org/packages/source/p/pyup-django/pyup-django-0.4.0.tar.gz", - "api_data_url": "https://pypi.org/pypi/pyup-django/0.4.0/json" + "api_data_url": "https://pypi.org/pypi/pyup-django/0.4.0/json", + "datasource_id": "pypi_sdist_pkginfo", + "purl": "pkg:pypi/pyup-django@0.4.0" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/unpacked_sdist/metadata-1.2/anonapi-0.0.19-expected.json b/tests/packagedcode/data/pypi/unpacked_sdist/metadata-1.2/anonapi-0.0.19-expected.json index 5be5e7b5899..616c15bb060 100644 --- a/tests/packagedcode/data/pypi/unpacked_sdist/metadata-1.2/anonapi-0.0.19-expected.json +++ b/tests/packagedcode/data/pypi/unpacked_sdist/metadata-1.2/anonapi-0.0.19-expected.json @@ -37,7 +37,7 @@ "code_view_url": null, "vcs_url": null, "copyright": null, - "license_expression": "mit", + "license_expression": "mit AND mit", "declared_license": { "license": "MIT license", "classifiers": [ @@ -45,13 +45,14 @@ ] }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:pypi/anonapi@0.0.19", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/anonapi", "repository_download_url": "https://pypi.org/packages/source/a/anonapi/anonapi-0.0.19.tar.gz", - "api_data_url": "https://pypi.org/pypi/anonapi/0.0.19/json" + "api_data_url": "https://pypi.org/pypi/anonapi/0.0.19/json", + "datasource_id": "pypi_sdist_pkginfo", + "purl": "pkg:pypi/anonapi@0.0.19" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/unpacked_sdist/metadata-2.1/commoncode-21.5.12-expected.json b/tests/packagedcode/data/pypi/unpacked_sdist/metadata-2.1/commoncode-21.5.12-expected.json index e949f1ef0e9..05c4fd73e05 100644 --- a/tests/packagedcode/data/pypi/unpacked_sdist/metadata-2.1/commoncode-21.5.12-expected.json +++ b/tests/packagedcode/data/pypi/unpacked_sdist/metadata-2.1/commoncode-21.5.12-expected.json @@ -44,13 +44,14 @@ "license": "Apache-2.0" }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:pypi/commoncode@21.5.12", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/commoncode", "repository_download_url": "https://pypi.org/packages/source/c/commoncode/commoncode-21.5.12.tar.gz", - "api_data_url": "https://pypi.org/pypi/commoncode/21.5.12/json" + "api_data_url": "https://pypi.org/pypi/commoncode/21.5.12/json", + "datasource_id": "pypi_sdist_pkginfo", + "purl": "pkg:pypi/commoncode@21.5.12" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.0/Jinja2-2.10.dist-info-expected.json b/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.0/Jinja2-2.10.dist-info-expected.json index 48a19670808..d3194244f67 100644 --- a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.0/Jinja2-2.10.dist-info-expected.json +++ b/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.0/Jinja2-2.10.dist-info-expected.json @@ -47,7 +47,7 @@ "code_view_url": null, "vcs_url": null, "copyright": null, - "license_expression": "unknown AND bsd-new", + "license_expression": "bsd-new AND bsd-new", "declared_license": { "license": "BSD", "classifiers": [ @@ -55,8 +55,576 @@ ] }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [ + { + "path": "Jinja2-2.10.dist-info/DESCRIPTION.rst", + "size": 978, + "sha1": null, + "md5": null, + "sha256": "6f9724143a0ceef56dcff980b090f838fb5e14a0aa13b6debb7e7783808ea182", + "sha512": null, + "extra_data": {} + }, + { + "path": "Jinja2-2.10.dist-info/INSTALLER", + "size": 4, + "sha1": null, + "md5": null, + "sha256": "ceebae7b8927a3227e5303cf5e0f1f7b34bb542ad7250ac03fbcde36ec2f1508", + "sha512": null, + "extra_data": {} + }, + { + "path": "Jinja2-2.10.dist-info/LICENSE.txt", + "size": 1554, + "sha1": null, + "md5": null, + "sha256": "26fcd436fdc8a39d44896ac03e6f1dfd25e38499c48f20d8bc1dd3bf0aaa8a5b", + "sha512": null, + "extra_data": {} + }, + { + "path": "Jinja2-2.10.dist-info/METADATA", + "size": 2258, + "sha1": null, + "md5": null, + "sha256": "d7c12053ccd1ebe6affb4fb9cbf81779bccae069c107fefa9402d4b25fba4073", + "sha512": null, + "extra_data": {} + }, + { + "path": "Jinja2-2.10.dist-info/RECORD", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "Jinja2-2.10.dist-info/WHEEL", + "size": 110, + "sha1": null, + "md5": null, + "sha256": "91db0dfb93890192221cdfa23b846197cd8ac92d1b0d67f8b81c0c6e435a7ebf", + "sha512": null, + "extra_data": {} + }, + { + "path": "Jinja2-2.10.dist-info/entry_points.txt", + "size": 72, + "sha1": null, + "md5": null, + "sha256": "35dcd570eaeac8dc8a0f10f4f5a1118ffff76c5c76a5a6618b3143b0a9958620", + "sha512": null, + "extra_data": {} + }, + { + "path": "Jinja2-2.10.dist-info/metadata.json", + "size": 1473, + "sha1": null, + "md5": null, + "sha256": "34f509f53301c55400bff913273bd4f07c263fee1766f6caf66cfaff8614565e", + "sha512": null, + "extra_data": {} + }, + { + "path": "Jinja2-2.10.dist-info/top_level.txt", + "size": 7, + "sha1": null, + "md5": null, + "sha256": "3e47955ad2dbdfe0aa8d68b57cedbd3826e3e791215ff72184aac276b55eff3b", + "sha512": null, + "extra_data": {} + }, + { + "path": "jinja2/__init__.py", + "size": 2614, + "sha1": null, + "md5": null, + "sha256": "c491e368ca32e75fca5e7d707f4732b07ead51489f531642c1239f709184619c", + "sha512": null, + "extra_data": {} + }, + { + "path": "jinja2/__pycache__/__init__.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "jinja2/__pycache__/_compat.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "jinja2/__pycache__/_identifier.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "jinja2/__pycache__/asyncfilters.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "jinja2/__pycache__/asyncsupport.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "jinja2/__pycache__/bccache.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "jinja2/__pycache__/compiler.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "jinja2/__pycache__/constants.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "jinja2/__pycache__/debug.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "jinja2/__pycache__/defaults.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "jinja2/__pycache__/environment.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "jinja2/__pycache__/exceptions.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "jinja2/__pycache__/ext.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "jinja2/__pycache__/filters.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "jinja2/__pycache__/idtracking.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "jinja2/__pycache__/lexer.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "jinja2/__pycache__/loaders.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "jinja2/__pycache__/meta.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "jinja2/__pycache__/nativetypes.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "jinja2/__pycache__/nodes.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "jinja2/__pycache__/optimizer.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "jinja2/__pycache__/parser.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "jinja2/__pycache__/runtime.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "jinja2/__pycache__/sandbox.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "jinja2/__pycache__/tests.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "jinja2/__pycache__/utils.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "jinja2/__pycache__/visitor.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "jinja2/_compat.py", + "size": 2596, + "sha1": null, + "md5": null, + "sha256": "c4feb4084e50afc15361c0c4d5fe78b5b64b286bccc189a5e3ef13ed0e0a1bd9", + "sha512": null, + "extra_data": {} + }, + { + "path": "jinja2/_identifier.py", + "size": 1726, + "sha1": null, + "md5": null, + "sha256": "5b5401498fa226ccadea847f9ca4ae34d0b357de6f2c839881434f508d5de605", + "sha512": null, + "extra_data": {} + }, + { + "path": "jinja2/asyncfilters.py", + "size": 4144, + "sha1": null, + "md5": null, + "sha256": "7130cfbeb4bc1e9fc8930b19d66f5a7ff96be671f2b30eee4dae605743666551", + "sha512": null, + "extra_data": {} + }, + { + "path": "jinja2/asyncsupport.py", + "size": 7878, + "sha1": null, + "md5": null, + "sha256": "504ad0dd89532da4a315bf783f83159f4f3e6950fd8c9c6dcb62557cc45bfb53", + "sha512": null, + "extra_data": {} + }, + { + "path": "jinja2/bccache.py", + "size": 12794, + "sha1": null, + "md5": null, + "sha256": "9d095dc7465160034cc9fbce8a146860529295475de6f2644bb063c4dc253993", + "sha512": null, + "extra_data": {} + }, + { + "path": "jinja2/compiler.py", + "size": 65386, + "sha1": null, + "md5": null, + "sha256": "06a0b953a27139b49185b9724ff6ba4e9e46b44539cf7512d5ae232d06b1c60a", + "sha512": null, + "extra_data": {} + }, + { + "path": "jinja2/constants.py", + "size": 1626, + "sha1": null, + "md5": null, + "sha256": "bb0c15f195211e169c02ecf93d3c1c91fb1ba816aa33b68a7f224bee4197e584", + "sha512": null, + "extra_data": {} + }, + { + "path": "jinja2/debug.py", + "size": 12045, + "sha1": null, + "md5": null, + "sha256": "59355e5051946b8bfa45e0ac62ffa254f6b7a64341ef93a29c9b773dfc4d757b", + "sha512": null, + "extra_data": {} + }, + { + "path": "jinja2/defaults.py", + "size": 1400, + "sha1": null, + "md5": null, + "sha256": "126fbde619ac27121e9c3099141d584af7fd08d85ef6b066cad377c94ac17160", + "sha512": null, + "extra_data": {} + }, + { + "path": "jinja2/environment.py", + "size": 50849, + "sha1": null, + "md5": null, + "sha256": "56790092ac3c25b8d972de2d0321e5a41ae46b6bea07e679f1100ffb7d8fd596", + "sha512": null, + "extra_data": {} + }, + { + "path": "jinja2/exceptions.py", + "size": 4428, + "sha1": null, + "md5": null, + "sha256": "fd18fe3558bdf10e808848d840eb0ff1d10876ee40966447cdc48d38f7568b1e", + "sha512": null, + "extra_data": {} + }, + { + "path": "jinja2/ext.py", + "size": 24500, + "sha1": null, + "md5": null, + "sha256": "6ad310c9d102f3ab4dd7352c750887c392f9705eb69c36ea1ae7b6e588aedcde", + "sha512": null, + "extra_data": {} + }, + { + "path": "jinja2/filters.py", + "size": 36528, + "sha1": null, + "md5": null, + "sha256": "c8e00993432c1fefe0102d22d14e8dc1e55085bb58682fae13cc6cc0714b178c", + "sha512": null, + "extra_data": {} + }, + { + "path": "jinja2/idtracking.py", + "size": 9197, + "sha1": null, + "md5": null, + "sha256": "d866c34b322f180ac40462e4a2f2e4a847e6631996b047fc737419c0ce2e36cc", + "sha512": null, + "extra_data": {} + }, + { + "path": "jinja2/lexer.py", + "size": 28559, + "sha1": null, + "md5": null, + "sha256": "c9210fa1777583bc118ecbb0db7ba2992ea79063796aaad8c1c38ac426953014", + "sha512": null, + "extra_data": {} + }, + { + "path": "jinja2/loaders.py", + "size": 17382, + "sha1": null, + "md5": null, + "sha256": "c624ee51128010e6f2ca6d2753c3c2217bbf429f1f9f4009e682000d4526fb94", + "sha512": null, + "extra_data": {} + }, + { + "path": "jinja2/meta.py", + "size": 4340, + "sha1": null, + "md5": null, + "sha256": "7e6287c649996003a6f50c965b2f0431de9e79f008876df8ae404c5b65f8651f", + "sha512": null, + "extra_data": {} + }, + { + "path": "jinja2/nativetypes.py", + "size": 7308, + "sha1": null, + "md5": null, + "sha256": "fec2614bc7fef10d103080b4766d5811d2f2c44ca83be91c87ca8e2f9c540df1", + "sha512": null, + "extra_data": {} + }, + { + "path": "jinja2/nodes.py", + "size": 30853, + "sha1": null, + "md5": null, + "sha256": "2f5d0bfe74037ee6cb84edd78e917dab3e3a1528767252feddee3da205653260", + "sha512": null, + "extra_data": {} + }, + { + "path": "jinja2/optimizer.py", + "size": 1722, + "sha1": null, + "md5": null, + "sha256": "32c765140089d0545d3ed8e608076dec943d486ad715a0cd51ab25b1641a1b73", + "sha512": null, + "extra_data": {} + }, + { + "path": "jinja2/parser.py", + "size": 35875, + "sha1": null, + "md5": null, + "sha256": "94fcd311b7294d104bc3c8a2e8e6321311de0216992cc034e47a6fe2597750b9", + "sha512": null, + "extra_data": {} + }, + { + "path": "jinja2/runtime.py", + "size": 27755, + "sha1": null, + "md5": null, + "sha256": "0c7743dfc3eaf208fbb96402e6eb09c961683562f7d7b03d02f5ce5bf08b077e", + "sha512": null, + "extra_data": {} + }, + { + "path": "jinja2/sandbox.py", + "size": 16708, + "sha1": null, + "md5": null, + "sha256": "4d5c991e536aa93cecbfd7efd8dbc936649d5911d382e8723077718d69acdf65", + "sha512": null, + "extra_data": {} + }, + { + "path": "jinja2/tests.py", + "size": 4237, + "sha1": null, + "md5": null, + "sha256": "88940bc1b6a966bf842aab931bf7d53957701d450a7f7497f5e3648d00c5f285", + "sha512": null, + "extra_data": {} + }, + { + "path": "jinja2/utils.py", + "size": 20629, + "sha1": null, + "md5": null, + "sha256": "ab6e15ba9199a2d43eb8ecab27109a5ed0d68590b5460b101bb91c7668dc9364", + "sha512": null, + "extra_data": {} + }, + { + "path": "jinja2/visitor.py", + "size": 3316, + "sha1": null, + "md5": null, + "sha256": "243d47d5c00d036f49727b457cde5f3f2a90c41e1b238c02d3407365af971e4b", + "sha512": null, + "extra_data": {} + } + ], "extra_data": {}, "dependencies": [ { @@ -78,9 +646,10 @@ "resolved_package": {} } ], - "purl": "pkg:pypi/jinja2@2.10", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/Jinja2", "repository_download_url": "https://pypi.org/packages/source/J/Jinja2/Jinja2-2.10.tar.gz", - "api_data_url": "https://pypi.org/pypi/Jinja2/2.10/json" + "api_data_url": "https://pypi.org/pypi/Jinja2/2.10/json", + "datasource_id": "pypi_wheel_metadata", + "purl": "pkg:pypi/jinja2@2.10" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.0/python_mimeparse-1.6.0.dist-info-expected.json b/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.0/python_mimeparse-1.6.0.dist-info-expected.json index 6c4f3dfe155..4d02d14fb75 100644 --- a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.0/python_mimeparse-1.6.0.dist-info-expected.json +++ b/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.0/python_mimeparse-1.6.0.dist-info-expected.json @@ -46,13 +46,78 @@ ] }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [ + { + "path": "mimeparse.py", + "size": 6246, + "sha1": null, + "md5": null, + "sha256": "bd5bb1ec21fdb003f31b5f5502eb4961db0c5ef236f830cfc21296ae76536179", + "sha512": null, + "extra_data": {} + }, + { + "path": "python_mimeparse-1.6.0.dist-info/DESCRIPTION.rst", + "size": 1654, + "sha1": null, + "md5": null, + "sha256": "3b7ce99a4cd5559151b41e92e6b8fbec4821716e94e860879d4b42b089a49989", + "sha512": null, + "extra_data": {} + }, + { + "path": "python_mimeparse-1.6.0.dist-info/METADATA", + "size": 2468, + "sha1": null, + "md5": null, + "sha256": "74f097a62186c97d5ae6751d597c4669b676c790e02c117dc75e16fbfc3ff177", + "sha512": null, + "extra_data": {} + }, + { + "path": "python_mimeparse-1.6.0.dist-info/metadata.json", + "size": 935, + "sha1": null, + "md5": null, + "sha256": "4e1edf7804619f1b3dca66cffb6ef6370977d7afc0f9378a80d39b933f67be89", + "sha512": null, + "extra_data": {} + }, + { + "path": "python_mimeparse-1.6.0.dist-info/RECORD", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "python_mimeparse-1.6.0.dist-info/top_level.txt", + "size": 10, + "sha1": null, + "md5": null, + "sha256": "e9892849c0da62bd49fd528a0582af51a4d9032d4d046efbd209c5b0b1aecf18", + "sha512": null, + "extra_data": {} + }, + { + "path": "python_mimeparse-1.6.0.dist-info/WHEEL", + "size": 110, + "sha1": null, + "md5": null, + "sha256": "02f47459e4e90dac53eb8e5b979150c542ba34fb1396cdadb69706260de3d578", + "sha512": null, + "extra_data": {} + } + ], "extra_data": {}, "dependencies": [], - "purl": "pkg:pypi/python-mimeparse@1.6.0", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/python-mimeparse", "repository_download_url": "https://pypi.org/packages/source/p/python-mimeparse/python-mimeparse-1.6.0.tar.gz", - "api_data_url": "https://pypi.org/pypi/python-mimeparse/1.6.0/json" + "api_data_url": "https://pypi.org/pypi/python-mimeparse/1.6.0/json", + "datasource_id": "pypi_wheel_metadata", + "purl": "pkg:pypi/python-mimeparse@1.6.0" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.0/toml-0.10.1.dist-info-expected.json b/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.0/toml-0.10.1.dist-info-expected.json index 6db0ba6ebb6..a9ec8678d51 100644 --- a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.0/toml-0.10.1.dist-info-expected.json +++ b/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.0/toml-0.10.1.dist-info-expected.json @@ -47,7 +47,7 @@ "code_view_url": null, "vcs_url": null, "copyright": null, - "license_expression": "mit", + "license_expression": "mit AND mit", "declared_license": { "license": "MIT", "classifiers": [ @@ -55,13 +55,195 @@ ] }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [ + { + "path": "toml-0.10.1.dist-info/DESCRIPTION.rst", + "size": 5262, + "sha1": null, + "md5": null, + "sha256": "0db5e52d356a193ece83171966aa6de2f7380708e42fdc8c6cdd5705b5dc9dd4", + "sha512": null, + "extra_data": {} + }, + { + "path": "toml-0.10.1.dist-info/INSTALLER", + "size": 4, + "sha1": null, + "md5": null, + "sha256": "ceebae7b8927a3227e5303cf5e0f1f7b34bb542ad7250ac03fbcde36ec2f1508", + "sha512": null, + "extra_data": {} + }, + { + "path": "toml-0.10.1.dist-info/LICENSE.txt", + "size": 1252, + "sha1": null, + "md5": null, + "sha256": "2d9294823df6c89357c8be4927fce79361d6561e5ee7532d5926e63939aaa536", + "sha512": null, + "extra_data": {} + }, + { + "path": "toml-0.10.1.dist-info/METADATA", + "size": 6371, + "sha1": null, + "md5": null, + "sha256": "f45cdd6f8f921bca704cf6c1453d6404140154b8cb09b10a94116386546b45fe", + "sha512": null, + "extra_data": {} + }, + { + "path": "toml-0.10.1.dist-info/RECORD", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "toml-0.10.1.dist-info/WHEEL", + "size": 110, + "sha1": null, + "md5": null, + "sha256": "02f47459e4e90dac53eb8e5b979150c542ba34fb1396cdadb69706260de3d578", + "sha512": null, + "extra_data": {} + }, + { + "path": "toml-0.10.1.dist-info/metadata.json", + "size": 1185, + "sha1": null, + "md5": null, + "sha256": "5c8bc81c9d06c64ee50f031a8e43917158d51127ee2805e13e1315ac91d1a9bc", + "sha512": null, + "extra_data": {} + }, + { + "path": "toml-0.10.1.dist-info/top_level.txt", + "size": 5, + "sha1": null, + "md5": null, + "sha256": "d813bc651367bc95a05f2890bfae8b05bfeff3ba81cdca14b4405e7c0ef93ae9", + "sha512": null, + "extra_data": {} + }, + { + "path": "toml/__init__.py", + "size": 723, + "sha1": null, + "md5": null, + "sha256": "0adb86e5a40d93a9ba326c68b6bb7a179db1f5d45de77a324e23188a2f7b867d", + "sha512": null, + "extra_data": {} + }, + { + "path": "toml/__pycache__/__init__.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "toml/__pycache__/common.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "toml/__pycache__/decoder.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "toml/__pycache__/encoder.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "toml/__pycache__/ordered.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "toml/__pycache__/tz.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "toml/common.py", + "size": 242, + "sha1": null, + "md5": null, + "sha256": "56205c70076e3fa79934901bd4f3a14618ce022e7a4c3b0d8162754e381702e8", + "sha512": null, + "extra_data": {} + }, + { + "path": "toml/decoder.py", + "size": 38684, + "sha1": null, + "md5": null, + "sha256": "811827350ef7237670f18b3402b0646de73d877d7bcde163991bb84cca17ba6c", + "sha512": null, + "extra_data": {} + }, + { + "path": "toml/encoder.py", + "size": 9931, + "sha1": null, + "md5": null, + "sha256": "f47a5e90fb5790075f84fa59a9f1d4c717d6f367ccc49f5ac9b88b53371b477d", + "sha512": null, + "extra_data": {} + }, + { + "path": "toml/ordered.py", + "size": 354, + "sha1": null, + "md5": null, + "sha256": "9b3d37959995d1b99cf65b1844850eba3ec3b2ee4fb70abe52d195ab915d559e", + "sha512": null, + "extra_data": {} + }, + { + "path": "toml/tz.py", + "size": 618, + "sha1": null, + "md5": null, + "sha256": "0eb020237c19c5988670bb95fe5f2e780fe73eb628c50de1640f6d2528d646c4", + "sha512": null, + "extra_data": {} + } + ], "extra_data": {}, "dependencies": [], - "purl": "pkg:pypi/toml@0.10.1", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/toml", "repository_download_url": "https://pypi.org/packages/source/t/toml/toml-0.10.1.tar.gz", - "api_data_url": "https://pypi.org/pypi/toml/0.10.1/json" + "api_data_url": "https://pypi.org/pypi/toml/0.10.1/json", + "datasource_id": "pypi_wheel_metadata", + "purl": "pkg:pypi/toml@0.10.1" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.0/urllib3-1.26.4.dist-info-expected.json b/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.0/urllib3-1.26.4.dist-info-expected.json index 7f9143ff71c..abf9a6e6a27 100644 --- a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.0/urllib3-1.26.4.dist-info-expected.json +++ b/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.0/urllib3-1.26.4.dist-info-expected.json @@ -48,7 +48,7 @@ "code_view_url": "Code, https://github.com/urllib3/urllib3", "vcs_url": null, "copyright": null, - "license_expression": "mit", + "license_expression": "mit AND mit", "declared_license": { "license": "MIT", "classifiers": [ @@ -56,9 +56,786 @@ ] }, "notice_text": null, - "contains_source_code": null, "source_packages": [], - "extra_data": {}, + "file_references": [ + { + "path": "urllib3-1.26.4.dist-info/DESCRIPTION.rst", + "size": 41482, + "sha1": null, + "md5": null, + "sha256": "4c66f27c72fca218f59fa8dfb423e4030c0eaa11a1551abda8fc2e039635bfce", + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3-1.26.4.dist-info/INSTALLER", + "size": 4, + "sha1": null, + "md5": null, + "sha256": "ceebae7b8927a3227e5303cf5e0f1f7b34bb542ad7250ac03fbcde36ec2f1508", + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3-1.26.4.dist-info/LICENSE.txt", + "size": 1115, + "sha1": null, + "md5": null, + "sha256": "c37bf186e27cf9dbe9619e55edfe3cea7b30091ceb3da63c7dacbe0e6d77907b", + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3-1.26.4.dist-info/METADATA", + "size": 43414, + "sha1": null, + "md5": null, + "sha256": "4f5d9bf5ecae7806dfaeb1a77ab3c78d87da784dcbda65538cd8b486fe74bfed", + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3-1.26.4.dist-info/RECORD", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3-1.26.4.dist-info/WHEEL", + "size": 110, + "sha1": null, + "md5": null, + "sha256": "02f47459e4e90dac53eb8e5b979150c542ba34fb1396cdadb69706260de3d578", + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3-1.26.4.dist-info/metadata.json", + "size": 1857, + "sha1": null, + "md5": null, + "sha256": "1d8941772636a8b01b6c4d3b06e197eeae07088b6b5e3ff100ada690011528d4", + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3-1.26.4.dist-info/top_level.txt", + "size": 8, + "sha1": null, + "md5": null, + "sha256": "10c8972f6b0aad3726accc481d3a9d737113e78a50236634ef62dec4511e9afa", + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/__init__.py", + "size": 2763, + "sha1": null, + "md5": null, + "sha256": "8f7cb31c86e65bb092f8829027df8f3d07ff60a3bc10e01ecbfacc5b4511eeeb", + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/__pycache__/__init__.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/__pycache__/_collections.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/__pycache__/_version.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/__pycache__/connection.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/__pycache__/connectionpool.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/__pycache__/exceptions.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/__pycache__/fields.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/__pycache__/filepost.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/__pycache__/poolmanager.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/__pycache__/request.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/__pycache__/response.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/_collections.py", + "size": 10811, + "sha1": null, + "md5": null, + "sha256": "469d6657206073f52501ca7a3376add6c909057479278dcd6b0453bd6da0fd76", + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/_version.py", + "size": 63, + "sha1": null, + "md5": null, + "sha256": "d818e4fdc078f7ddb53d3bdeade5a9f194773612cda02300c874863fe39eb0b9", + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/connection.py", + "size": 18748, + "sha1": null, + "md5": null, + "sha256": "abebdffd333733245b65c167dfe5422990527f4a048468efec115e666ffb930e", + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/connectionpool.py", + "size": 37133, + "sha1": null, + "md5": null, + "sha256": "20aa1eb89658f580189b418ae2af8c5c08725d6d0cfc59ef69b61a36c0c847e1", + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/contrib/__init__.py", + "size": 0, + "sha1": null, + "md5": null, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/contrib/__pycache__/__init__.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/contrib/__pycache__/_appengine_environ.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/contrib/__pycache__/appengine.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/contrib/__pycache__/ntlmpool.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/contrib/__pycache__/pyopenssl.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/contrib/__pycache__/securetransport.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/contrib/__pycache__/socks.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/contrib/_appengine_environ.py", + "size": 957, + "sha1": null, + "md5": null, + "sha256": "6c36f2384856d8228b25c42a00a032ac41cdf9a925b321c52aaeaf17c645b269", + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/contrib/_securetransport/__init__.py", + "size": 0, + "sha1": null, + "md5": null, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/contrib/_securetransport/__pycache__/__init__.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/contrib/_securetransport/__pycache__/bindings.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/contrib/_securetransport/__pycache__/low_level.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/contrib/_securetransport/bindings.py", + "size": 17637, + "sha1": null, + "md5": null, + "sha256": "135ffb49cb2039c85fc677a8cdb02e78aef3882c05df97e76b80ee0c2609f7fa", + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/contrib/_securetransport/low_level.py", + "size": 13908, + "sha1": null, + "md5": null, + "sha256": "96021db12c9ca9f0745e6e41889cd719e20a4fbc9b0903053c902091cc0f6b5b", + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/contrib/appengine.py", + "size": 11010, + "sha1": null, + "md5": null, + "sha256": "ecfc5bd2d29f0c1fcb4c63c4462b301f4aa89a10e85143a8e64c326c028b4321", + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/contrib/ntlmpool.py", + "size": 4160, + "sha1": null, + "md5": null, + "sha256": "e88f79875ffbd5fcf19a831236d634801f259f20a856d3ff0e9a851a3d787dd5", + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/contrib/pyopenssl.py", + "size": 16778, + "sha1": null, + "md5": null, + "sha256": "be087a8f9db0f71830abedd1da47c1e4cd896e54004c97ca00ade52007359128", + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/contrib/securetransport.py", + "size": 34286, + "sha1": null, + "md5": null, + "sha256": "2b118f664f1de187a95a6ed173e481b755ebcc87e72ca73c26451557be57ce01", + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/contrib/socks.py", + "size": 7097, + "sha1": null, + "md5": null, + "sha256": "0dc463336974ad0308ca162b37aafeb6756463a6530f11c994cf3fbac0241820", + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/exceptions.py", + "size": 8217, + "sha1": null, + "md5": null, + "sha256": "d0c9e7a372874cd7d745f63beb7f0db9f38f9146fa9973a6f8baa3fb8c76c3c0", + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/fields.py", + "size": 8579, + "sha1": null, + "md5": null, + "sha256": "92f2c30a0fc9987d652e3514118fc52d2f14858ee106f0cfb951136d8f2676b3", + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/filepost.py", + "size": 2440, + "sha1": null, + "md5": null, + "sha256": "e5bfeaaa04475652fbb8bb5d018073061f861e653901f255b7fd8dd174b73de6", + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/packages/__init__.py", + "size": 108, + "sha1": null, + "md5": null, + "sha256": "87804b843e2d2da071d5a75a0ed2977eea6c82a634c162d76ff7f5ff256557a0", + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/packages/__pycache__/__init__.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/packages/__pycache__/six.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/packages/backports/__init__.py", + "size": 0, + "sha1": null, + "md5": null, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/packages/backports/__pycache__/__init__.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/packages/backports/__pycache__/makefile.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/packages/backports/makefile.py", + "size": 1417, + "sha1": null, + "md5": null, + "sha256": "9dbcedde2d1a80f54fd3b8eaaa08e16988cc9ae022fd6e44d04cb0662bd53bc1", + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/packages/six.py", + "size": 32536, + "sha1": null, + "md5": null, + "sha256": "69dc78cfe78cfc3d15beed0822a573140090feec7d97ae32ec391211f6f1083b", + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/packages/ssl_match_hostname/__init__.py", + "size": 757, + "sha1": null, + "md5": null, + "sha256": "ce9a5ecdd1107691ac61eac8ea657a31f518cb8f79255e2670e582fc681b9635", + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/packages/ssl_match_hostname/__pycache__/__init__.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/packages/ssl_match_hostname/__pycache__/_implementation.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/packages/ssl_match_hostname/_implementation.py", + "size": 5679, + "sha1": null, + "md5": null, + "sha256": "e9d67eab4ef883b5e1b09dbb3050a091cb7c895359077b0c66f2a17fe294572d", + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/poolmanager.py", + "size": 19763, + "sha1": null, + "md5": null, + "sha256": "c21ce55fa51312038330e0b2d190cc50e351042cf9c3220cf19f68a57018f8b9", + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/request.py", + "size": 5985, + "sha1": null, + "md5": null, + "sha256": "645488a97d02e968b38b179c0a1677fe8932bbb044bf4959bb5553d2cea1e123", + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/response.py", + "size": 28203, + "sha1": null, + "md5": null, + "sha256": "846846061ed3904921fc8420e42d56ff1b8f36b8082afe415173f213eab42ee1", + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/util/__init__.py", + "size": 1155, + "sha1": null, + "md5": null, + "sha256": "2449929a6aaa2f26b0f0fe75814226661f06c20f62d7349ef83a2a022b67da77", + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/util/__pycache__/__init__.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/util/__pycache__/connection.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/util/__pycache__/proxy.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/util/__pycache__/queue.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/util/__pycache__/request.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/util/__pycache__/response.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/util/__pycache__/retry.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/util/__pycache__/ssl_.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/util/__pycache__/ssltransport.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/util/__pycache__/timeout.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/util/__pycache__/url.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/util/__pycache__/wait.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/util/connection.py", + "size": 4910, + "sha1": null, + "md5": null, + "sha256": "db507e2d7d1cf1f9313c3b2cc8709a2b4a429e6aca9a196d839128a2e1e200f5", + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/util/proxy.py", + "size": 1604, + "sha1": null, + "md5": null, + "sha256": "1468a90049ef66d7b295d5cd8dc7b80c407b633c14f9ae657a9f32e52d2a1d08", + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/util/queue.py", + "size": 498, + "sha1": null, + "md5": null, + "sha256": "9d1817f3f797fbf564bf1a17d3de905a8cfc3ecd101d4004c482c263fecf9dc3", + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/util/request.py", + "size": 4123, + "sha1": null, + "md5": null, + "sha256": "367cda10a4353dabb0e4c14c57a1e68043072137f402e6bd7d0bb38b6b99cc67", + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/util/response.py", + "size": 3510, + "sha1": null, + "md5": null, + "sha256": "189a60dc4822f6a6895d1c01879c2ff8c36e4566a7e4122ee34a117a8c563f6f", + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/util/retry.py", + "size": 21396, + "sha1": null, + "md5": null, + "sha256": "b3764d2973bafeddb7650320f3396edb43cc4aaada4f8f79f92fe6118ff5f5a9", + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/util/ssl_.py", + "size": 16269, + "sha1": null, + "md5": null, + "sha256": "7d1ab3466a0b7e20efe7fb45ce016d1b394ebae1e82d7d2eb3b5947fbb580c0a", + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/util/ssltransport.py", + "size": 6908, + "sha1": null, + "md5": null, + "sha256": "22f190becf585a47f88f37ea5634eefd45a3c005203e7e4072d6a35bc54bcfa0", + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/util/timeout.py", + "size": 10003, + "sha1": null, + "md5": null, + "sha256": "4126c150d381f7287a0270e7eb54ab2d0d21839a33d08f7eb97106f75009b888", + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/util/url.py", + "size": 13964, + "sha1": null, + "md5": null, + "sha256": "2d67cb4a523897616650c29f0a412509a5b5d3ed0dfac2434fd6f1683649923b", + "sha512": null, + "extra_data": {} + }, + { + "path": "urllib3/util/wait.py", + "size": 5404, + "sha1": null, + "md5": null, + "sha256": "dcc50a452014243076b60728eea454b245b4cd7180598bd1444e10d7feb194bb", + "sha512": null, + "extra_data": {} + } + ], + "extra_data": { + "Documentation": "Documentation, https://urllib3.readthedocs.io/" + }, "dependencies": [ { "purl": "pkg:pypi/pyopenssl", @@ -124,9 +901,10 @@ "resolved_package": {} } ], - "purl": "pkg:pypi/urllib3@1.26.4", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/urllib3", "repository_download_url": "https://pypi.org/packages/source/u/urllib3/urllib3-1.26.4.tar.gz", - "api_data_url": "https://pypi.org/pypi/urllib3/1.26.4/json" + "api_data_url": "https://pypi.org/pypi/urllib3/1.26.4/json", + "datasource_id": "pypi_wheel_metadata", + "purl": "pkg:pypi/urllib3@1.26.4" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/haruka_bot-1.2.3.dist-info-expected.json b/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/haruka_bot-1.2.3.dist-info-expected.json index a2e02dbebbd..942e46a077b 100644 --- a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/haruka_bot-1.2.3.dist-info-expected.json +++ b/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/haruka_bot-1.2.3.dist-info-expected.json @@ -39,7 +39,7 @@ "code_view_url": null, "vcs_url": "Repository, https://github.com/SK-415/HarukaBot/tree/master/src/plugins/haruka_bot", "copyright": null, - "license_expression": "agpl-3.0-plus", + "license_expression": "agpl-3.0-plus AND agpl-3.0-plus", "declared_license": { "license": "AGPL-3.0-or-later", "classifiers": [ @@ -47,9 +47,192 @@ ] }, "notice_text": null, - "contains_source_code": null, "source_packages": [], - "extra_data": {}, + "file_references": [ + { + "path": "haruka_bot/__init__.py", + "size": 279, + "sha1": null, + "md5": null, + "sha256": "b2d34c924e6ca5b8f9ccdc5e2561771bebe6566cbb7b025858a32ad3957c19db", + "sha512": null, + "extra_data": {} + }, + { + "path": "haruka_bot/auto_agree.py", + "size": 779, + "sha1": null, + "md5": null, + "sha256": "d786b16660c3fcd81dd4acdab92c034f078f6be2420e686eb54551da319db53a", + "sha512": null, + "extra_data": {} + }, + { + "path": "haruka_bot/bilireq.py", + "size": 5325, + "sha1": null, + "md5": null, + "sha256": "ff8610f8a837c01dc28762686f4911d9cbc15c978fb52207de84a921e59b9469", + "sha512": null, + "extra_data": {} + }, + { + "path": "haruka_bot/cli/__init__.py", + "size": 200, + "sha1": null, + "md5": null, + "sha256": "0201fe02a5296daf72d8fc1e36c6b5c8de8d8765fae3745335ef4e4632745775", + "sha512": null, + "extra_data": {} + }, + { + "path": "haruka_bot/cli/__main__.py", + "size": 20, + "sha1": null, + "md5": null, + "sha256": "3e414d4bfedc775e837d65de4f9a44320664daa3e498b7efa0bca4f35b23e096", + "sha512": null, + "extra_data": {} + }, + { + "path": "haruka_bot/cli/bot.py", + "size": 895, + "sha1": null, + "md5": null, + "sha256": "c1be148725e6dc894a661965b3008f3feff8847ab65222057c0f413956e5930a", + "sha512": null, + "extra_data": {} + }, + { + "path": "haruka_bot/cli/utils.py", + "size": 952, + "sha1": null, + "md5": null, + "sha256": "7075d894a7433f5fafa98ca30338950a74862a0a82887e63c52c7c314b9384f5", + "sha512": null, + "extra_data": {} + }, + { + "path": "haruka_bot/config.py", + "size": 10492, + "sha1": null, + "md5": null, + "sha256": "d1d32a3f4d7711e37fe19e385f442ae7f18296c0048c6d5eb9c7f9acc9f2bb26", + "sha512": null, + "extra_data": {} + }, + { + "path": "haruka_bot/config_manager.py", + "size": 7859, + "sha1": null, + "md5": null, + "sha256": "f57764bf0b46e68bed90cdb93a5b93f4cc65b194f68e11fdc7b62d6fea978b54", + "sha512": null, + "extra_data": {} + }, + { + "path": "haruka_bot/dynamic.py", + "size": 3072, + "sha1": null, + "md5": null, + "sha256": "38ea7be42cc3046ec356ceb3f88caf1d6a94de8125b63a3c80c309842ae5c862", + "sha512": null, + "extra_data": {} + }, + { + "path": "haruka_bot/dynamic_pusher.py", + "size": 1721, + "sha1": null, + "md5": null, + "sha256": "908ec9efab70de086bac8a2816187a5b577cdd33fe4544a8516bbdf59af55a3e", + "sha512": null, + "extra_data": {} + }, + { + "path": "haruka_bot/live_pusher.py", + "size": 1707, + "sha1": null, + "md5": null, + "sha256": "3735b49dbd0c7daf70cefef515ce9c47b63ba8c72aca59ed214a5468e68e7e1d", + "sha512": null, + "extra_data": {} + }, + { + "path": "haruka_bot/login.py", + "size": 3065, + "sha1": null, + "md5": null, + "sha256": "ec6940e6fa5c31f1b0b66ccf329718eaeaaa087caf8058d0713487985239abfd", + "sha512": null, + "extra_data": {} + }, + { + "path": "haruka_bot/utils.py", + "size": 2968, + "sha1": null, + "md5": null, + "sha256": "3f8455b67b4aaf043339e0d861229bc9b02ebe9fabc83acbe11ae07c0cc418e2", + "sha512": null, + "extra_data": {} + }, + { + "path": "haruka_bot/version.py", + "size": 322, + "sha1": null, + "md5": null, + "sha256": "1a46684dd91e8643d7fc9fc12e10b00aba15e09bdd8302727a73dd7cf290667a", + "sha512": null, + "extra_data": {} + }, + { + "path": "haruka_bot-1.2.3.dist-info/entry_points.txt", + "size": 51, + "sha1": null, + "md5": null, + "sha256": "0638bf22f40625e7b54b5a52bb798235fb680ecfa9fa5cc72645672d95cf9b40", + "sha512": null, + "extra_data": {} + }, + { + "path": "haruka_bot-1.2.3.dist-info/LICENSE", + "size": 35182, + "sha1": null, + "md5": null, + "sha256": "13fb48a6c31a72e0e2b69650b1cebe8954f7b73449848492dcfd22b25bd91afa", + "sha512": null, + "extra_data": {} + }, + { + "path": "haruka_bot-1.2.3.dist-info/WHEEL", + "size": 83, + "sha1": null, + "md5": null, + "sha256": "54dd9e120e0f1db4ce9e25dbf9c09840f73acd44d2e1d01c0138e5814deaf8ba", + "sha512": null, + "extra_data": {} + }, + { + "path": "haruka_bot-1.2.3.dist-info/METADATA", + "size": 4560, + "sha1": null, + "md5": null, + "sha256": "8392719243ddc15284a49fbfc7f9ba13881e00966b44f9cffc9b9d4aa6ca5fc0", + "sha512": null, + "extra_data": {} + }, + { + "path": "haruka_bot-1.2.3.dist-info/RECORD", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ], + "extra_data": { + "Documentation": "Documentation, https://github.com/SK-415/HarukaBot#readme" + }, "dependencies": [ { "purl": "pkg:pypi/click", @@ -160,9 +343,10 @@ "resolved_package": {} } ], - "purl": "pkg:pypi/haruka-bot@1.2.3", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/haruka-bot", "repository_download_url": "https://pypi.org/packages/source/h/haruka-bot/haruka-bot-1.2.3.tar.gz", - "api_data_url": "https://pypi.org/pypi/haruka-bot/1.2.3/json" + "api_data_url": "https://pypi.org/pypi/haruka-bot/1.2.3/json", + "datasource_id": "pypi_wheel_metadata", + "purl": "pkg:pypi/haruka-bot@1.2.3" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/pip-20.2.2.dist-info-expected.json b/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/pip-20.2.2.dist-info-expected.json index 96b832b1636..9cf792ad546 100644 --- a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/pip-20.2.2.dist-info-expected.json +++ b/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/pip-20.2.2.dist-info-expected.json @@ -45,7 +45,7 @@ "code_view_url": "Source, https://github.com/pypa/pip", "vcs_url": null, "copyright": null, - "license_expression": "mit", + "license_expression": "mit AND mit", "declared_license": { "license": "MIT", "classifiers": [ @@ -53,13 +53,7254 @@ ] }, "notice_text": null, - "contains_source_code": null, "source_packages": [], - "extra_data": {}, + "file_references": [ + { + "path": "pip/__init__.py", + "size": 455, + "sha1": null, + "md5": null, + "sha256": "7d9e34d4e64676fe79606b2e08486cbdd35ae180992e62b8e7b48ddeaaecb499", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/__main__.py", + "size": 911, + "sha1": null, + "md5": null, + "sha256": "6ea080335723d47c07083c775896be2c9c4e0578a61b113c3a306a02f9e1560d", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/__init__.py", + "size": 495, + "sha1": null, + "md5": null, + "sha256": "dac8b6dc9056d5eae0d7dc4827c083ead7c6927cf48a3b579b3b978c67c63061", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/build_env.py", + "size": 8088, + "sha1": null, + "md5": null, + "sha256": "f7f51a4367e9b01be92808e2dbb7fb6cf022dafde66f4701bc361c7a3c0528d3", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/cache.py", + "size": 12249, + "sha1": null, + "md5": null, + "sha256": "a53d7b555c60cd92b7d9aa98e45452f06c8023bdcb2b334c17c65e950ece8e6d", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/configuration.py", + "size": 14115, + "sha1": null, + "md5": null, + "sha256": "f86c73d89f8abafc62a96209f45f979d8559e652a1364ed53baa277446c7e043", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/exceptions.py", + "size": 12637, + "sha1": null, + "md5": null, + "sha256": "655a40af142b4a59b8a8032d1da6379c7bc6fede5e4a2dd60a7328c1d9bf9bc2", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/locations.py", + "size": 6732, + "sha1": null, + "md5": null, + "sha256": "ed88f3272d82ae8403f0604c7a69c759197de38f01488b7495f1fdf01f8391df", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/main.py", + "size": 437, + "sha1": null, + "md5": null, + "sha256": "215067510f851bb0caebad7bb845d1079fd026ab2902c0459939937ac6246dd4", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/pyproject.py", + "size": 7400, + "sha1": null, + "md5": null, + "sha256": "5492acad73911a21a80cf54a09086ebb8b569504933a1a2246554b44dbb8af1e", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/self_outdated_check.py", + "size": 6779, + "sha1": null, + "md5": null, + "sha256": "abafe7a941cfa6df8349cc03f7b87b1424aa7789c8d6cfb1929388e08e596b76", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/wheel_builder.py", + "size": 9522, + "sha1": null, + "md5": null, + "sha256": "eb0d553d7ae952f0823e5574708d7035a0aa373e25685e81eb086f6b197d727b", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/cli/__init__.py", + "size": 132, + "sha1": null, + "md5": null, + "sha256": "1641c1829c716fefe077aaf51639cd85f30ecc0518c97a17289e9a6e28df7055", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/cli/autocompletion.py", + "size": 6547, + "sha1": null, + "md5": null, + "sha256": "7a418db5c0c8d29eeb15573eeece13f536ecb382606fbbec07ae3d5c921b9518", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/cli/base_command.py", + "size": 8810, + "sha1": null, + "md5": null, + "sha256": "0564f3b4ce1bea1f21a1d0c70ca8e027cda36927abbb60082c02718b577f20ff", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/cli/cmdoptions.py", + "size": 28782, + "sha1": null, + "md5": null, + "sha256": "33f06dbaa7b2469640514632b6db37a60b81085d91686ba45690cf1349e2ae82", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/cli/command_context.py", + "size": 975, + "sha1": null, + "md5": null, + "sha256": "ca0315a13cb68e936294a4feeb8d7a805490a5a06daca4416d56e2d9fcbffc45", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/cli/main.py", + "size": 2616, + "sha1": null, + "md5": null, + "sha256": "1f173d759c96df1883b18657fbf2767065d3e4358d2cd9ff63ba3da1499ef847", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/cli/main_parser.py", + "size": 2843, + "sha1": null, + "md5": null, + "sha256": "be802d8e8e1654f2187aeec5a9a6ef6bd497681dc18c6d201fddc605f7ba8c74", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/cli/parser.py", + "size": 9480, + "sha1": null, + "md5": null, + "sha256": "e057f05bcc41f380ab90bb37e6e77dd1992109c5b2564c75ed70fa8f75c25bb7", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/cli/progress_bars.py", + "size": 9121, + "sha1": null, + "md5": null, + "sha256": "275cf292dd8b23881b05e5e8adf6119985791605e1716e31debeb113f6bb67b7", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/cli/req_command.py", + "size": 15132, + "sha1": null, + "md5": null, + "sha256": "122cfc4d5cdeab31bee34b7ba8b0b5bcefafce3091bd7f42faa5ccc9fc3d0f52", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/cli/spinners.py", + "size": 5509, + "sha1": null, + "md5": null, + "sha256": "3d2f6ce772c1e5a0cf7a5227f0584a7ab2b76ce76079e7c51f9c12589d8f0b32", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/cli/status_codes.py", + "size": 156, + "sha1": null, + "md5": null, + "sha256": "17ab831ba1a3ed134a4095039ddf3b40aa88d7a52cfadf81d303c5ff840ca567", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/commands/__init__.py", + "size": 4100, + "sha1": null, + "md5": null, + "sha256": "ca82c09e61178e842061f0eec2cb961b7473cc3d7da1e1e86c61219a9218b01e", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/commands/cache.py", + "size": 5676, + "sha1": null, + "md5": null, + "sha256": "537acb8e5b3400c30ef0fc67857570229ec18b2be7b3cfa005384a4c7ded5fb6", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/commands/check.py", + "size": 1677, + "sha1": null, + "md5": null, + "sha256": "7ea46bcf6b8a3c2f10b31dab80bca0003d916ebfaac69d50e79cd4a3267307d4", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/commands/completion.py", + "size": 3081, + "sha1": null, + "md5": null, + "sha256": "39bb2c33beeab9feb5aaf6ee484e972f0501766fd671622f5c523e1f2d5106c2", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/commands/configuration.py", + "size": 9344, + "sha1": null, + "md5": null, + "sha256": "20dd90045eb9dec462454efea474e99d9ebf83289734a51090b88b68d44b28dc", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/commands/debug.py", + "size": 7314, + "sha1": null, + "md5": null, + "sha256": "a2d0599e99e8b2d5f69266323a5ea0e827822e693a1f4d13b23d820ec0ad157c", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/commands/download.py", + "size": 4918, + "sha1": null, + "md5": null, + "sha256": "10a1658ff71e1941098fac820f0ecfeb0ef2528075e8870d1e14f6aa70850cd4", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/commands/freeze.py", + "size": 3452, + "sha1": null, + "md5": null, + "sha256": "bcb0413f577cc20117ae6961d3a85bcffc7f4359961d47625836bd34fd9e28b1", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/commands/hash.py", + "size": 1843, + "sha1": null, + "md5": null, + "sha256": "bf69d80a212c108f6711a9b5a7a1b0746f31ca3e6016ffb85abaaf35ec4a99e6", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/commands/help.py", + "size": 1270, + "sha1": null, + "md5": null, + "sha256": "af2b8c0eddad73b89cdcd2583238e83511f9afa2eb076c90559bde8409bc6cbb", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/commands/install.py", + "size": 28683, + "sha1": null, + "md5": null, + "sha256": "8762fcbd2eadd836c601db6d91d66632e70ad9e246d8262f7308436bb01d2ab4", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/commands/list.py", + "size": 11312, + "sha1": null, + "md5": null, + "sha256": "da8deb630dfb102ae17b8f81bb9b3fd82d1bc21620821878f37dccc5c58012e8", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/commands/search.py", + "size": 5756, + "sha1": null, + "md5": null, + "sha256": "d473c0154fad9a02ab1e1af8c4dba4df13283de4b30ffa03bc30e2505659d791", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/commands/show.py", + "size": 6996, + "sha1": null, + "md5": null, + "sha256": "afaf7e1bc1c87a90ca9b849ec9e1e3d04cf53fdc688a1ae9554c979ba3665d86", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/commands/uninstall.py", + "size": 3311, + "sha1": null, + "md5": null, + "sha256": "62cf21c05b20d24bef1ad2c6606de26cbe412af5118654a5097e74650fa1b079", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/commands/wheel.py", + "size": 6419, + "sha1": null, + "md5": null, + "sha256": "f87488484e40576f48ef9d80ab0e03766ba5ac677cac1fd94ce7696c9e93f223", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/distributions/__init__.py", + "size": 959, + "sha1": null, + "md5": null, + "sha256": "1020545b91adbbd4e3270c852ef8a6fa2ea450c615ba290d87d2396ac2fab5b0", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/distributions/base.py", + "size": 1425, + "sha1": null, + "md5": null, + "sha256": "aeea6ba4cfcbd93d87362dca2d41e56c78a6675b16570fb74342dbf0eed30c02", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/distributions/installed.py", + "size": 760, + "sha1": null, + "md5": null, + "sha256": "62a96404aafa4d53f5300612e921bca23b9ddb5c153982cc67c8cc2c97bd3125", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/distributions/sdist.py", + "size": 4086, + "sha1": null, + "md5": null, + "sha256": "0f85d33250b080f94aebd97ad862d890d4954d57bdf5f479880715b7611b1a89", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/distributions/wheel.py", + "size": 1294, + "sha1": null, + "md5": null, + "sha256": "f79b83f937da628ab72a228177393d60c378451a89dbc2cda124d2d8ae3a81e9", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/index/__init__.py", + "size": 30, + "sha1": null, + "md5": null, + "sha256": "be9b7e25e4d979f87c6be142db665e0525c555bb817174868882e141925a3694", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/index/collector.py", + "size": 22838, + "sha1": null, + "md5": null, + "sha256": "acc7467400013abbc89740d89423165ebee6228aab536546790a42b9688fbb54", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/index/package_finder.py", + "size": 37364, + "sha1": null, + "md5": null, + "sha256": "21289e0dddb474e4a774c3726da7c2bb7a4ed8947704a39f1eff7605eb348f44", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/models/__init__.py", + "size": 63, + "sha1": null, + "md5": null, + "sha256": "dc31d477fab1a4fa337f3a2ea2a6bd83db6cd42cebe6a6877c5c5b9f1ae27a93", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/models/candidate.py", + "size": 1195, + "sha1": null, + "md5": null, + "sha256": "80009e0921d321a5ae07a44078b9862676c515b29fa7fe3b504443a02fe574e5", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/models/direct_url.py", + "size": 6900, + "sha1": null, + "md5": null, + "sha256": "32704b3dc8b5844f4d761e9dde6d0b02a07b857ddc8bcd020894c4e5e7ab15a4", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/models/format_control.py", + "size": 2823, + "sha1": null, + "md5": null, + "sha256": "45d9e7997c55269a42656cd6126153afecc3fe6dc6d22ccf2ea262e88a29ef93", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/models/index.py", + "size": 1161, + "sha1": null, + "md5": null, + "sha256": "71aaefc71693ee6272a04929b5a1021d466235a03a47936bb06179e736b0367f", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/models/link.py", + "size": 7470, + "sha1": null, + "md5": null, + "sha256": "14c971bea2a62e88fbc5341280aa9f3b67a113559c803e02e4398406e0bf428b", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/models/scheme.py", + "size": 778, + "sha1": null, + "md5": null, + "sha256": "1213e44ffe86d0c77ce094cb495a2962ca791ff2ba051118985bd4f07eb030af", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/models/search_scope.py", + "size": 4751, + "sha1": null, + "md5": null, + "sha256": "2ee9b4998e3fa5d47d0c3072e87579c4718830fa7f914f2f32ca982851d98a9e", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/models/selection_prefs.py", + "size": 2044, + "sha1": null, + "md5": null, + "sha256": "a603634df81e3cf897d51e52d92f1873aa1d39f53d3731bb60ffe6fe09d2d24c", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/models/target_python.py", + "size": 4034, + "sha1": null, + "md5": null, + "sha256": "47bb405c8d7907f720c3b1609eae5c23d17ee388285199dc1fd24cb44f295d1c", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/models/wheel.py", + "size": 2772, + "sha1": null, + "md5": null, + "sha256": "1537f355be1621b7c87a1c61765015bc28a5fcc434f96e38a32379e9c13a3477", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/network/__init__.py", + "size": 50, + "sha1": null, + "md5": null, + "sha256": "8dfe93b799d5ffbce401106b2a88c85c8b607a3be87a054954a51b8406b92287", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/network/auth.py", + "size": 11652, + "sha1": null, + "md5": null, + "sha256": "76ddcdbd3449f35f364b756975814464c3d3d0984e287c85b51f8ef893252482", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/network/cache.py", + "size": 2329, + "sha1": null, + "md5": null, + "sha256": "e9c083ed736baa1d5dd6539263953ed195ce1b5630120318b3e561459572ccc0", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/network/download.py", + "size": 5151, + "sha1": null, + "md5": null, + "sha256": "5531833b4d7f9d7fb930275ab5de0872fd05f3cfccf0ddd69d6e817af03a6b4a", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/network/lazy_wheel.py", + "size": 8138, + "sha1": null, + "md5": null, + "sha256": "45771020b4f9bf950eea4c60bfbe824a770b4ea44bdbda3e3976da5b668aeede", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/network/session.py", + "size": 15208, + "sha1": null, + "md5": null, + "sha256": "66cd2e8b23f14e97e9812bfe648f612bd4e36ac993a6506e062bce4dc52224c1", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/network/utils.py", + "size": 4172, + "sha1": null, + "md5": null, + "sha256": "64f1e0eeee8311c83612f20b21d3c40a7bcf2e9db538f1f135599e5df332fa7d", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/network/xmlrpc.py", + "size": 1882, + "sha1": null, + "md5": null, + "sha256": "3c50a25ff9e7c18c42f121487fb277b6b3f8d040868c0e9f976f8854d85b90f3", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/operations/__init__.py", + "size": 0, + "sha1": null, + "md5": null, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/operations/check.py", + "size": 5215, + "sha1": null, + "md5": null, + "sha256": "2580ec54bbe917226e26ad2db52b6083c4d129b7349b260500c9df9e740e4443", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/operations/freeze.py", + "size": 10373, + "sha1": null, + "md5": null, + "sha256": "fef2526701c1373055d06a515125e1509cf706b18575c4f6693716c47d4be0fd", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/operations/prepare.py", + "size": 19903, + "sha1": null, + "md5": null, + "sha256": "46ded887bc35d3f43ebc8ddbed1d7092dd91e973d7f1855474e0e4f9368623d7", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/operations/build/__init__.py", + "size": 0, + "sha1": null, + "md5": null, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/operations/build/metadata.py", + "size": 1254, + "sha1": null, + "md5": null, + "sha256": "d9a20b8160904c5d5a2215ae087f134d28effe4626037c75dbad9f4f6150ea94", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/operations/build/metadata_legacy.py", + "size": 2011, + "sha1": null, + "md5": null, + "sha256": "560cc14e4f276883bcfbc37f89f11817b640c56503869856548695959d85a983", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/operations/build/wheel.py", + "size": 1465, + "sha1": null, + "md5": null, + "sha256": "df7bdd9314cefa036aaed587d5e34bfee668e08adac7ce66a03c76a3dcda7b73", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/operations/build/wheel_legacy.py", + "size": 3356, + "sha1": null, + "md5": null, + "sha256": "3756aa359c86511057d018fac0f981d2de3cebaa0c6f1a075290bda73e85c93d", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/operations/install/__init__.py", + "size": 51, + "sha1": null, + "md5": null, + "sha256": "997ee1c83d863413b69851a8903437d2bfc65efed8fcf2ddb71714bf5e387beb", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/operations/install/editable_legacy.py", + "size": 1488, + "sha1": null, + "md5": null, + "sha256": "ac9ff1b36aad0d48e9636fa7e9e62557266236829b3ad65766b62b7272042ede", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/operations/install/legacy.py", + "size": 4281, + "sha1": null, + "md5": null, + "sha256": "ceedc6c39e1d807b65bb25b99fc8f9a8a70049c89d41726fa81f1f6f4a0b07ee", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/operations/install/wheel.py", + "size": 31310, + "sha1": null, + "md5": null, + "sha256": "9c998e48e618de47a4b1777fdc616e84059e7a82af18eca84866e35c0063678d", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/req/__init__.py", + "size": 3133, + "sha1": null, + "md5": null, + "sha256": "b3e139571c6aaa972cef17d8e6063af681e882c589e2c2db9d4883a169a41ce5", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/req/constructors.py", + "size": 16387, + "sha1": null, + "md5": null, + "sha256": "2eb4876d11eee76fa1e87335a89286ebca35270e6af0cbc919faf802cea3dae5", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/req/req_file.py", + "size": 19448, + "sha1": null, + "md5": null, + "sha256": "a7b9f7634ab6ef9122b2a7f1774bed7e7c58be54fa4c2098d2d8fbe69fb288e6", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/req/req_install.py", + "size": 33080, + "sha1": null, + "md5": null, + "sha256": "86a40c9bab3b7f56b644019ab32021cb8ede646a26dce04a7a244ceb4c7174f8", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/req/req_set.py", + "size": 7886, + "sha1": null, + "md5": null, + "sha256": "77171f6e279661f6244c9344d3b53cc5a3b8d332f197c06158e7081d51539a8a", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/req/req_tracker.py", + "size": 4690, + "sha1": null, + "md5": null, + "sha256": "a966a27a334aea8e9ca9ec9338818a214d42a32ad709caa0307622ddca9e94e0", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/req/req_uninstall.py", + "size": 23706, + "sha1": null, + "md5": null, + "sha256": "a293060c66fb65a162a6945b69aac96a58edce5d823599811845129d3b9b13e0", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/resolution/__init__.py", + "size": 0, + "sha1": null, + "md5": null, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/resolution/base.py", + "size": 682, + "sha1": null, + "md5": null, + "sha256": "c62ef6626212fa5123c8ad773cdff7aa4186b61038c86a0ad02eaa5b29f21eb1", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/resolution/legacy/__init__.py", + "size": 0, + "sha1": null, + "md5": null, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/resolution/legacy/resolver.py", + "size": 18755, + "sha1": null, + "md5": null, + "sha256": "77ea96e945316d9a8ac97997d9baa75b90bc52d9ced1972c42e2b0fd05ee6a57", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/resolution/resolvelib/__init__.py", + "size": 0, + "sha1": null, + "md5": null, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/resolution/resolvelib/base.py", + "size": 2342, + "sha1": null, + "md5": null, + "sha256": "9fc46295e6bd8c2ce195bb458892b00b021048f5b40138c42ac09cd15a66f3de", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/resolution/resolvelib/candidates.py", + "size": 20339, + "sha1": null, + "md5": null, + "sha256": "447a3dafd836e455b3b9f2aff774e2f674b886f00f52b8408d20cbec609914d4", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/resolution/resolvelib/factory.py", + "size": 17169, + "sha1": null, + "md5": null, + "sha256": "fbe6a162cafeafdcc885dc8927566e11381a42b5a23c8ab020b5a23039f52085", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/resolution/resolvelib/provider.py", + "size": 6134, + "sha1": null, + "md5": null, + "sha256": "04ff27874ed9d4595c4fe21ac3815b95133e0e351e524888b4a74a01161e33a3", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/resolution/resolvelib/requirements.py", + "size": 4511, + "sha1": null, + "md5": null, + "sha256": "946be81d1864bac45f6b3e1c171601a1036ac52e937ae3b72baf2a96e8ba83ed", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/resolution/resolvelib/resolver.py", + "size": 10149, + "sha1": null, + "md5": null, + "sha256": "908f20d0d565608b03311983a65590768c7a58efb41fb088db037ed62c6769ec", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/__init__.py", + "size": 0, + "sha1": null, + "md5": null, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/appdirs.py", + "size": 1349, + "sha1": null, + "md5": null, + "sha256": "459cd41be0648766fe9a25f40d2677bfbd37ffe6e02bebf43df5820a3c1513d8", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/compat.py", + "size": 8865, + "sha1": null, + "md5": null, + "sha256": "1a809250ca1499319e8398ab4062c367bbf5d80b3cef21eb3330571247be9e38", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/compatibility_tags.py", + "size": 5439, + "sha1": null, + "md5": null, + "sha256": "12d0498fea6cb63fd4d124d467c163946ed80d38ee459532e8663570cf3acaff", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/datetime.py", + "size": 295, + "sha1": null, + "md5": null, + "sha256": "28bfaf21d194f49229181e4d6249b05d6907f86ff69afbc0065991b68499b1aa", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/deprecation.py", + "size": 3318, + "sha1": null, + "md5": null, + "sha256": "a419cda20a00e14193c5afc90e73d7051458a4a31b1310215e9070030925381b", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/direct_url_helpers.py", + "size": 4359, + "sha1": null, + "md5": null, + "sha256": "6d90813703d05726696068d7fd57289af56f447bcac3ef49cc457e16dd3d2d07", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/distutils_args.py", + "size": 1350, + "sha1": null, + "md5": null, + "sha256": "6b9ea66e537193d04689f6e91044c6eb59a606baa18ed8d1909e07627fa83841", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/encoding.py", + "size": 1284, + "sha1": null, + "md5": null, + "sha256": "c070c9db9c824ff4f8c92b1c08bdcff7bf0ea4badf0c2a62b60f03eb82045cc6", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/entrypoints.py", + "size": 1152, + "sha1": null, + "md5": null, + "sha256": "bc770da6792c0afea69658a153a85f89f76c28f123c1c689d5a2c85c46b29da5", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/filesystem.py", + "size": 6943, + "sha1": null, + "md5": null, + "sha256": "f9f5375ed7820082707fff45bc2654eef872c2fb779ee7ff72a902770832d58f", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/filetypes.py", + "size": 571, + "sha1": null, + "md5": null, + "sha256": "476170ce8797edbfab6402ce5f1e5cb8ef153cf321510e277bbc26de7dc87160", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/glibc.py", + "size": 3297, + "sha1": null, + "md5": null, + "sha256": "2ce78d1a06b008a4bee247bd7e28bbf1fc170fbdddb4d6afdeec73d417fe01bf", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/hashes.py", + "size": 4358, + "sha1": null, + "md5": null, + "sha256": "c479aba8dc02d5e04dd2863447f4572c92d71af15da3983099bcffa5ab3de24f", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/inject_securetransport.py", + "size": 810, + "sha1": null, + "md5": null, + "sha256": "335ed9945558eba02981e01256328a2ca373d0b01f93e4b25341d9e1907a3262", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/logging.py", + "size": 13093, + "sha1": null, + "md5": null, + "sha256": "6087ee0d412499d9fd708450fc473cae05ecd66e673b00c40ad66a3380811f95", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/misc.py", + "size": 28001, + "sha1": null, + "md5": null, + "sha256": "41065630990a2800cf4964189abc256ac73c6f4dde09c8219f4c83369ad882b2", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/models.py", + "size": 1201, + "sha1": null, + "md5": null, + "sha256": "1ea88156d4db5bf6ff526be3d9f8e10d6387a3644a84fc12cf8880624419ebcf", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/packaging.py", + "size": 3035, + "sha1": null, + "md5": null, + "sha256": "56d8b070000becb062eed18bda37bb2de5b86c4d7528c1c60ac2753596395ed3", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/parallel.py", + "size": 3404, + "sha1": null, + "md5": null, + "sha256": "edacf769a4cc0a4aa968b15ba5860ebe4d2b8fb1eee581f534f5d7a26aa381fe", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/pkg_resources.py", + "size": 1254, + "sha1": null, + "md5": null, + "sha256": "657fa4ed5e6afda356c83b1ef769cdee8acdd5a0a944bb1ac73a64059d572b35", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/setuptools_build.py", + "size": 5058, + "sha1": null, + "md5": null, + "sha256": "1352acc08ef07cd9c20c4e51e86f1cf596c1c84369bbb36aa1c8d8dba3c2403c", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/subprocess.py", + "size": 9924, + "sha1": null, + "md5": null, + "sha256": "5243def3d81c8f104cc7bdeebada1e257803de4c1d94be983b5e819230dd5522", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/temp_dir.py", + "size": 8378, + "sha1": null, + "md5": null, + "sha256": "6e5986d2312f1207716d852dfd5d796e071320922bc59c00c3c4199424c96031", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/typing.py", + "size": 1401, + "sha1": null, + "md5": null, + "sha256": "c6463039e1e57f8cec1d70430b8df5d07b44ab08507185c53eada1df94dcae5d", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/unpacking.py", + "size": 9488, + "sha1": null, + "md5": null, + "sha256": "60501c921aaabe67a103c29a9f9bddddbd6437ff5369faa63a4e1bfb2cf87e1a", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/urls.py", + "size": 1527, + "sha1": null, + "md5": null, + "sha256": "ab6af0d643228a283f5d9728c894ac58c250a98c3edb0526acca124f89825bf2", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/virtualenv.py", + "size": 3706, + "sha1": null, + "md5": null, + "sha256": "7cd1ab469fbc42634be4ecd76a305dfb3ecf6f03acc755d8e86f8054c0217eca", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/wheel.py", + "size": 7303, + "sha1": null, + "md5": null, + "sha256": "c05ce7de1f06a98be0b3258f66d5329f445bdcc2739adc8fde8c0c3a12a798bd", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/vcs/__init__.py", + "size": 617, + "sha1": null, + "md5": null, + "sha256": "be2271251a9113f99549cba6f396e04085c077aa34a3316dd7c5690bea8826b3", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/vcs/bazaar.py", + "size": 3887, + "sha1": null, + "md5": null, + "sha256": "e6b451d36b836532dac504fe47939b77c1590ce3254a1a9876cfa9c1548926cf", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/vcs/git.py", + "size": 13985, + "sha1": null, + "md5": null, + "sha256": "92f07bdbdc2b298d0e58c4a0392d69525cb82e8b19a7cbadaddde4390b166a50", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/vcs/mercurial.py", + "size": 5162, + "sha1": null, + "md5": null, + "sha256": "173086998cd566f07ebf233bddf29c424d81e2330d5c69d7950d9b27b9e68253", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/vcs/subversion.py", + "size": 12399, + "sha1": null, + "md5": null, + "sha256": "ae575c9fd643b79b708cd3f3167fc52919f8a9d7e48e5c4730912c4763057e80", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/vcs/versioncontrol.py", + "size": 25966, + "sha1": null, + "md5": null, + "sha256": "5a9c5e4d10b4368181dae5c97667eae293f163ea7bb24d6b57f5a4c4cc60cd00", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/__init__.py", + "size": 4588, + "sha1": null, + "md5": null, + "sha256": "0acc67a583db8bfd9a82b0c8efd890ac299079945cc30205d02e9c9bfd51ca75", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/appdirs.py", + "size": 25907, + "sha1": null, + "md5": null, + "sha256": "33a218449b5d6609923c25c248c051074553dcff0c7456d60836d22eb07611b8", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/contextlib2.py", + "size": 16915, + "sha1": null, + "md5": null, + "sha256": "e478c67e5533c160147dc20b852982d86aafa1875967317355f203ced1e2814b", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/distro.py", + "size": 43628, + "sha1": null, + "md5": null, + "sha256": "c713088766b72a68a9a5e5841f3ca74dd1d3dff8d9334a3ea68b3474058944e3", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/ipaddress.py", + "size": 79875, + "sha1": null, + "md5": null, + "sha256": "fb4466bab237d5780068ddb45828b4ceb72ea1ab7dd27340ef4ffac86971d8f5", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/pyparsing.py", + "size": 273394, + "sha1": null, + "md5": null, + "sha256": "2756f8cf74bf2b0c895bb84a1a7a0dfa15d6f6980c23320fe904e1c98e7226ae", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/retrying.py", + "size": 9972, + "sha1": null, + "md5": null, + "sha256": "9377df95fe7f326d17708258841ed38f7e1ba8208f8540e461bc7536f5b614f1", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/six.py", + "size": 34159, + "sha1": null, + "md5": null, + "sha256": "53867fcafe77e16e423728d8f62f15d4e5d8d928c09f2f32d8be6f0cb8614e13", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/vendor.txt", + "size": 437, + "sha1": null, + "md5": null, + "sha256": "6d65226918cc261b94b2a1591c4264047ffa949fc0be5f5c3b2b33708ef8207b", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/cachecontrol/__init__.py", + "size": 302, + "sha1": null, + "md5": null, + "sha256": "a49b40694c4eb0c3e7cad2350378ee009917603afc92b7529ec838620dce0448", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/cachecontrol/_cmd.py", + "size": 1295, + "sha1": null, + "md5": null, + "sha256": "511184d0aac0f3b41e9021b74863dab6548f4f9ef57594c38cd6be6575f7a437", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/cachecontrol/adapter.py", + "size": 4882, + "sha1": null, + "md5": null, + "sha256": "b12c1a49877ddc821f085538b4e3204a8e9bd8b0adfe0052690523f24b4914e0", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/cachecontrol/cache.py", + "size": 805, + "sha1": null, + "md5": null, + "sha256": "d5f738c093fc1d8b75c9c9c95de130e690a97812f60aac71ea0f456f40180d64", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/cachecontrol/compat.py", + "size": 695, + "sha1": null, + "md5": null, + "sha256": "90736f31176deacfd7c2aabff6a266afda2edf060c38c50cc4f3dcc0dc53f0c7", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/cachecontrol/controller.py", + "size": 14149, + "sha1": null, + "md5": null, + "sha256": "096117de979d20cf6ceb4b2e7f8cd93ed9bf26f5609efa203062bf3a2046e45f", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/cachecontrol/filewrapper.py", + "size": 2533, + "sha1": null, + "md5": null, + "sha256": "bc008a3bc2e5ceefd95b28d5d45c67d4c0384c653ad0de4ddc64ab0057406364", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/cachecontrol/heuristics.py", + "size": 4070, + "sha1": null, + "md5": null, + "sha256": "045187277c90731bd98b37e8f742cb674e13fd9e574825ef168b6ba7b52cd2c7", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/cachecontrol/serialize.py", + "size": 7091, + "sha1": null, + "md5": null, + "sha256": "bc86b88efab8c7f29238b74421e7689275f669760742e8cb0c5578f85db50e7a", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/cachecontrol/wrapper.py", + "size": 690, + "sha1": null, + "md5": null, + "sha256": "e4b5f4b89c2435052d612130dda1a61aef5663cc068a977cd6627c946d1dd0ce", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/cachecontrol/caches/__init__.py", + "size": 86, + "sha1": null, + "md5": null, + "sha256": "fa01cd298bda783d243a4e4cef878eaec4a020a52d0ba8ba19f6e6ba01b0784a", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/cachecontrol/caches/file_cache.py", + "size": 4153, + "sha1": null, + "md5": null, + "sha256": "9d854ab09b5787a8095ef767d625b2ae1c6f930a50acaf9e2a8311cee8b090a9", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/cachecontrol/caches/redis_cache.py", + "size": 856, + "sha1": null, + "md5": null, + "sha256": "1f17a5329342a3e758af67e2243c0cde1861466c5462d079b579b51a90004f86", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/certifi/__init__.py", + "size": 62, + "sha1": null, + "md5": null, + "sha256": "bb513f0eb4868ff9e71242b956096f12a3fc0fcd0aa6084b5562f403fa6ae350", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/certifi/__main__.py", + "size": 255, + "sha1": null, + "md5": null, + "sha256": "d64dc2afde6f0b1c464460e58eb5b7c0c76965d2f73617f4bb59fe936a9db026", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/certifi/cacert.pem", + "size": 282394, + "sha1": null, + "md5": null, + "sha256": "1a14f6e1fd11efff72e1863f8645f090eec1b616614460c210c3b7e3c13d4b5e", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/certifi/core.py", + "size": 2315, + "sha1": null, + "md5": null, + "sha256": "8c1af02845a91b420a72ea332b4050d871c6a7c69d5c03b204f0bb75d811eaf3", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/__init__.py", + "size": 1559, + "sha1": null, + "md5": null, + "sha256": "62c3f9c1096c1c9d9ab85d516497f2a624ab080eff6d08919b7112fcd23bebe6", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/big5freq.py", + "size": 31254, + "sha1": null, + "md5": null, + "sha256": "0ffccae46cb3a15b117acd0790b2738a5b45417d1b2822ceac57bdff10ef3bff", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/big5prober.py", + "size": 1757, + "sha1": null, + "md5": null, + "sha256": "901c476dd7ad0693deef1ae56fe7bdf748a8b7ae20fde1922dddf6941eff8773", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/chardistribution.py", + "size": 9411, + "sha1": null, + "md5": null, + "sha256": "df0a164bad8aac6a282b2ab3e334129e315b2696ba57b834d9d68089b4f0725f", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/charsetgroupprober.py", + "size": 3787, + "sha1": null, + "md5": null, + "sha256": "e9b0eef1822246e49c5f871af4881bd14ebd4c0d8f1975c37a3e82738ffd90ee", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/charsetprober.py", + "size": 5110, + "sha1": null, + "md5": null, + "sha256": "2929b0244ae3ca9ca3d1b459982e45e5e33b73c61080b6088d95e29ed64db2d8", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/codingstatemachine.py", + "size": 3590, + "sha1": null, + "md5": null, + "sha256": "558a7fe9ccb2922e6c1e05c34999d75b8ab5a1e94773772ef40c904d7eeeba0f", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/compat.py", + "size": 1134, + "sha1": null, + "md5": null, + "sha256": "3ca4f31e449bb5b1c3a92f4fcae8cc6d7ef8ab56bc98ca5e4130d5b10859311c", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/cp949prober.py", + "size": 1855, + "sha1": null, + "md5": null, + "sha256": "4d9e37e105fccf306c9d4bcbffcc26e004154d9d9992a10440bfe5370f5ff68c", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/enums.py", + "size": 1661, + "sha1": null, + "md5": null, + "sha256": "0229b075bf5ab357492996853541f63a158854155de9990927f58ae6c358f1c5", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/escprober.py", + "size": 3950, + "sha1": null, + "md5": null, + "sha256": "924caa560d58c370c8380309d9b765c9081415086e1c05bc7541ac913a0d5927", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/escsm.py", + "size": 10510, + "sha1": null, + "md5": null, + "sha256": "46e5e580dbd32036ab9ddbe594d0a4e56641229742c50d2471df4402ec5487ce", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/eucjpprober.py", + "size": 3749, + "sha1": null, + "md5": null, + "sha256": "883f09769d084918e08e254dedfd1ef3119e409e46336a1e675740f276d2794c", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/euckrfreq.py", + "size": 13546, + "sha1": null, + "md5": null, + "sha256": "fbb19d9af8167b3e3e78ee12b97a5aeed0620e2e6f45743c5af74503355a49fa", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/euckrprober.py", + "size": 1748, + "sha1": null, + "md5": null, + "sha256": "32a14c4d05f15b81dbcc8a59f652831c1dc637c48fe328877a74e67fc83f3f16", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/euctwfreq.py", + "size": 31621, + "sha1": null, + "md5": null, + "sha256": "368d56c9db853a00795484d403b3cbc82e6825137347231b07168a235975e8c0", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/euctwprober.py", + "size": 1747, + "sha1": null, + "md5": null, + "sha256": "d77a7a10fe3245ac6a9cfe221edc47389e91db3c47ab5fe6f214d18f3559f797", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/gb2312freq.py", + "size": 20715, + "sha1": null, + "md5": null, + "sha256": "257f25b3078a2e69c2c2693c507110b0b824affacffe411bbe2bc2e2a3ceae57", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/gb2312prober.py", + "size": 1754, + "sha1": null, + "md5": null, + "sha256": "806bc85a2f568438c4fb14171ef348cab9cbbc46cc01883251267ae4751fca5c", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/hebrewprober.py", + "size": 13838, + "sha1": null, + "md5": null, + "sha256": "737499f8aee1bf2cc663a251019c4983027fb144bd93459892f318d34601605a", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/jisfreq.py", + "size": 25777, + "sha1": null, + "md5": null, + "sha256": "be9989bf606ed09f209cc5513c730579f4d1be8fe16b59abc8b8a0f0207080e8", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/jpcntx.py", + "size": 19643, + "sha1": null, + "md5": null, + "sha256": "3d894da915104fc2ccddc4f91661c63f48a2b1c1654d6103f763002ef06e9e0a", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/langbulgarianmodel.py", + "size": 12839, + "sha1": null, + "md5": null, + "sha256": "d47a904bd3dbb678f5c508318ad24cbf0f17ea42abe4ea1c90d09959f110acf1", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/langcyrillicmodel.py", + "size": 17948, + "sha1": null, + "md5": null, + "sha256": "2ce0da8efb1eb47f3bc980c340a0360942d7507f3bb48db6ddd85f8e1f59c7d7", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/langgreekmodel.py", + "size": 12688, + "sha1": null, + "md5": null, + "sha256": "f18016edb53c6304896a9d2420949b3ccc35044ab31a35b3a9ca9fd168142800", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/langhebrewmodel.py", + "size": 11345, + "sha1": null, + "md5": null, + "sha256": "2529ea984e44eb6b432d33d3bcba50b20e6038c3b83db75646f57b02f91cd070", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/langhungarianmodel.py", + "size": 12592, + "sha1": null, + "md5": null, + "sha256": "4616a96121b997465a3be555e056a7e6c5b4591190aa1c0133ad72c77cb1c8e0", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/langthaimodel.py", + "size": 11290, + "sha1": null, + "md5": null, + "sha256": "f25d35ef71aefd6e86f26c6640e4c417896cd98744ec5c567f74244b11065c94", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/langturkishmodel.py", + "size": 11102, + "sha1": null, + "md5": null, + "sha256": "5b6d9e44d26ca88eae5807f05d22955969c27ab62aac8f1d6504e6fccd254459", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/latin1prober.py", + "size": 5370, + "sha1": null, + "md5": null, + "sha256": "4b6228391845937f451053a54855ad815c9b4623fa87b0652e574755c94d914f", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/mbcharsetprober.py", + "size": 3413, + "sha1": null, + "md5": null, + "sha256": "011f797851fdbeea927ef2d064df8be628de6b6e4d3810a85eac3cb393bdc4b4", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/mbcsgroupprober.py", + "size": 2012, + "sha1": null, + "md5": null, + "sha256": "87a4d19e762ad8ec46d56743e493b2c5c755a67edd1b4abebc1f275abe666e1e", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/mbcssm.py", + "size": 25481, + "sha1": null, + "md5": null, + "sha256": "498df6c15205dc7cdc8d8dc1684b29cbd99eb5b3522b120807444a3e7eed8e92", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/sbcharsetprober.py", + "size": 5657, + "sha1": null, + "md5": null, + "sha256": "2c34a90a5743085958c149069300f6a05c4b94f5885974f4f5a907ff63e263be", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/sbcsgroupprober.py", + "size": 3546, + "sha1": null, + "md5": null, + "sha256": "d48a6b70207f935a9f9a7c460ba3016f110b94aa83dec716e92f1823075ec970", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/sjisprober.py", + "size": 3774, + "sha1": null, + "md5": null, + "sha256": "208b7e9598f4589a8ae2b9946732993f8189944f0a504b45615b98f7a7a4e4c4", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/universaldetector.py", + "size": 12485, + "sha1": null, + "md5": null, + "sha256": "a8bd35ef8952644e38d9e076d679e4b53f7f55c0327b4ee5685594794ae3b6d6", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/utf8prober.py", + "size": 2766, + "sha1": null, + "md5": null, + "sha256": "21d0fcbf7cd63ac07c38b8b23e2fb2fdfab08a9445c55f4d73578a04b4ae204c", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/version.py", + "size": 242, + "sha1": null, + "md5": null, + "sha256": "b29dc1d3c9ab0d707ea5fdcaf5fa89ff37831ce08b0bc46b9e04320c56a9ffb8", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/cli/__init__.py", + "size": 1, + "sha1": null, + "md5": null, + "sha256": "01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/cli/chardetect.py", + "size": 2774, + "sha1": null, + "md5": null, + "sha256": "0c8f1d955dc5043d1cd1703fcb7b10efccfbe780d4bf527c9f7e11b438ce5cdc", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/colorama/__init__.py", + "size": 239, + "sha1": null, + "md5": null, + "sha256": "0ea8d71fd51154fdc827098cb7ba5e630e749ecd51340ca6201f7e5dd3c4155f", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/colorama/ansi.py", + "size": 2524, + "sha1": null, + "md5": null, + "sha256": "162d2e9fe40ba919bebfba3f9ca88eab20bc3daa4124aec32d5feaf4b2ad4ced", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/colorama/ansitowin32.py", + "size": 10462, + "sha1": null, + "md5": null, + "sha256": "bbc41aa9da92ff16127cd90f33579124b1f3e893163e875a25a3f49b18070837", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/colorama/initialise.py", + "size": 1915, + "sha1": null, + "md5": null, + "sha256": "3e9ae8bc3371313aefa0d1c570bd8d663a47d97cc373c04bc4bc6212b7d49789", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/colorama/win32.py", + "size": 5404, + "sha1": null, + "md5": null, + "sha256": "6c9f0897d8f0681379049f1b98de85a18675418b8c2afda3f1f1ab5e1ed3263c", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/colorama/winterm.py", + "size": 6438, + "sha1": null, + "md5": null, + "sha256": "db2ff66fb66cbf7e1f780b0febb98b39573e060ab9d667581a8e7bd55a6b96b3", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/distlib/__init__.py", + "size": 581, + "sha1": null, + "md5": null, + "sha256": "def780936acfce7381da0b0aead8db6e1d1340c9861393fcd9e13dc17aba3489", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/distlib/compat.py", + "size": 41408, + "sha1": null, + "md5": null, + "sha256": "003039eb1880c5aaf7994eaa7a694184d6ecac53e8b174613b8e11cec6c93ea9", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/distlib/database.py", + "size": 51059, + "sha1": null, + "md5": null, + "sha256": "2a5d18bcf40a73839ca558bb939705ce2c9d335c4e2bc8aa7712c65e06d91d5e", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/distlib/index.py", + "size": 21066, + "sha1": null, + "md5": null, + "sha256": "4972b3a5008445cb71603329fce2de7b67f42747b5f5984674222832551f5103", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/distlib/locators.py", + "size": 52100, + "sha1": null, + "md5": null, + "sha256": "73d13870311a709fee29bb84e41a805687285a9eabb2e0464e488d0d0ab7cd5e", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/distlib/manifest.py", + "size": 14811, + "sha1": null, + "md5": null, + "sha256": "9d0121626828ade681673c85cf062c5f124046eddfa38124ba7535eb7535ea21", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/distlib/markers.py", + "size": 4387, + "sha1": null, + "md5": null, + "sha256": "e807377027c504445ec621125883979a0f9aa483fc9767ac69f3525f728ccbef", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/distlib/metadata.py", + "size": 38962, + "sha1": null, + "md5": null, + "sha256": "cf628fcb7877b5c0e76fd5ecee702a4393b3d1baa358050598a59c14a468a1d8", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/distlib/resources.py", + "size": 10766, + "sha1": null, + "md5": null, + "sha256": "d851afd191c5d782978cb2252f447df7597241019c7b0392e2627ee67f895677", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/distlib/scripts.py", + "size": 17180, + "sha1": null, + "md5": null, + "sha256": "fcc023dec32ebf9ea4b8cf05b222165ea6d3d209ae98f19a391fdab4ece7e1ae", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/distlib/t32.exe", + "size": 96768, + "sha1": null, + "md5": null, + "sha256": "352df104254095ddf925514d99bfb5411c95b5386e90caf06557979f82e16844", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/distlib/t64.exe", + "size": 105984, + "sha1": null, + "md5": null, + "sha256": "a00a877acefcad45953343ad56a22152f7aaba5fcf2a10215d84169d47fbcd1d", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/distlib/util.py", + "size": 59845, + "sha1": null, + "md5": null, + "sha256": "7f68d908fadc2c2b7a2dc9c2d20532f85babeb4b570fcade03b938ac3a47303c", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/distlib/version.py", + "size": 23391, + "sha1": null, + "md5": null, + "sha256": "fe7ec5ea3baf40601c9fbebd13f4876bb7ce71fe44465115ca627f1233d1c06c", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/distlib/w32.exe", + "size": 90112, + "sha1": null, + "md5": null, + "sha256": "949b6765d794c53656c9afc45b90d9a2cfcae6bb30444086b29225f19242217b", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/distlib/w64.exe", + "size": 99840, + "sha1": null, + "md5": null, + "sha256": "d1a473a0dd813bd3565b810dcb8ff8bc7907478a994c564d55200925894e0d32", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/distlib/wheel.py", + "size": 41144, + "sha1": null, + "md5": null, + "sha256": "bfa0e7c13aa1347c2b11516bf3f61e8935ba1b87ed3ff7afb32c0d82b99d6f6a", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/distlib/_backport/__init__.py", + "size": 274, + "sha1": null, + "md5": null, + "sha256": "6ea4bf753387eae5bd88681dd2ecdfa4f8e8eaf678c693d9ee4c9f649daf35ac", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/distlib/_backport/misc.py", + "size": 971, + "sha1": null, + "md5": null, + "sha256": "29679c20d75b14d3b148e3f57c617af340899da0ba4b87c146012d6984f0d228", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/distlib/_backport/shutil.py", + "size": 25707, + "sha1": null, + "md5": null, + "sha256": "217fc6d8d3eac1e70989b9080e37b4e1baaed31a4791f490d8668674456a3396", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/distlib/_backport/sysconfig.cfg", + "size": 2617, + "sha1": null, + "md5": null, + "sha256": "b3064ac6af516397bdaf73d70ab96f40f32cbce7625990531cb11ba92f0b24b5", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/distlib/_backport/sysconfig.py", + "size": 26854, + "sha1": null, + "md5": null, + "sha256": "0501c595bea9b9b0a5fddbd3d4d8edcc8b61ca5a1f8ca8aca31db7f6cb438345", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/distlib/_backport/tarfile.py", + "size": 92628, + "sha1": null, + "md5": null, + "sha256": "221a7bad745c8db20ac3c08e9bdc1278f57d0111976d217d8065c0327d90f8a5", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/__init__.py", + "size": 1160, + "sha1": null, + "md5": null, + "sha256": "058cdc282a9e1228b9db10eba8116bba19e6b66922b875c5c8587e720950f269", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/_ihatexml.py", + "size": 16728, + "sha1": null, + "md5": null, + "sha256": "89f3b017ba57aa6c938485dcddba1673deace0c0decea46b455a7b1700d8505b", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/_inputstream.py", + "size": 32353, + "sha1": null, + "md5": null, + "sha256": "8c4acd012325920b3b32938cf557bf55d2c3272145c1e0232ee855bad673df75", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/_tokenizer.py", + "size": 77040, + "sha1": null, + "md5": null, + "sha256": "d389a0036b0d4e78aeb65d9fc45bfe7a2e5b9ece2245a3f15575c787f1eb57fe", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/_utils.py", + "size": 4931, + "sha1": null, + "md5": null, + "sha256": "0f1f402a7b64b118c54f5bde063ec8dfada97f93a021a4f4ce0970ab8dd19df5", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/constants.py", + "size": 83464, + "sha1": null, + "md5": null, + "sha256": "2e5fb2ccb53f8dc8f2008fe1e7bce4a99eda416139b79c40e32fe3420a14521c", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/html5parser.py", + "size": 117186, + "sha1": null, + "md5": null, + "sha256": "6a7afe697adefc899fae4437e5cfeb7ed297c42f34bc909110a7b4e93ab5e470", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/serializer.py", + "size": 15759, + "sha1": null, + "md5": null, + "sha256": "fcfa6f719174edcc04ef1afdb8a919aa1e5fe1411a23c96d094db13c9cda4e99", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/_trie/__init__.py", + "size": 109, + "sha1": null, + "md5": null, + "sha256": "9ea7e03bdd74df6f411152794f8a6c57042d8ddda2272117436f97f1cd58c705", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/_trie/_base.py", + "size": 1013, + "sha1": null, + "md5": null, + "sha256": "09ac9b63232ba3cb844506236f2dad4de4946ad9d60df5aba1437d37b7adcb9c", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/_trie/py.py", + "size": 1775, + "sha1": null, + "md5": null, + "sha256": "c179902eb6517f833258dca0d26de1f359bd22784b47b189d34da6208661fbca", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/filters/__init__.py", + "size": 0, + "sha1": null, + "md5": null, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/filters/alphabeticalattributes.py", + "size": 919, + "sha1": null, + "md5": null, + "sha256": "95589973624c09c9578bfe6076ebe6773ad1c6d3b95e8f4e3676c70550acca45", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/filters/base.py", + "size": 286, + "sha1": null, + "md5": null, + "sha256": "cfe214f590188e9b15b2a995b7b92e582eb78d1d7584332be8256bbee6a8f16d", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/filters/inject_meta_charset.py", + "size": 2945, + "sha1": null, + "md5": null, + "sha256": "7a00d75041d79801bde74e31cf42ba00b0e0624bd4ac2daad7961455e3655508", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/filters/lint.py", + "size": 3643, + "sha1": null, + "md5": null, + "sha256": "8e4eaae7ac58d288e261fbe974ff8e6529bd793a9c01d46a842a0f22d7a63d80", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/filters/optionaltags.py", + "size": 10588, + "sha1": null, + "md5": null, + "sha256": "f25593ef927468138798f81f9aa4c749f3e93cca74d53f3834abb409179dc5c1", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/filters/sanitizer.py", + "size": 26897, + "sha1": null, + "md5": null, + "sha256": "9baa069a40619060279f69d5e83e2113bf12099e961272bdaca759077b970487", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/filters/whitespace.py", + "size": 1214, + "sha1": null, + "md5": null, + "sha256": "f1e5aa671778502e33945196ea2c98e9ffb6bae4fca4e09200b737219b7bfede", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/treeadapters/__init__.py", + "size": 679, + "sha1": null, + "md5": null, + "sha256": "034ad8e605c87b86c93a248644efe3fed1619e04413bc4193f33ed3f0e5d173a", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/treeadapters/genshi.py", + "size": 1715, + "sha1": null, + "md5": null, + "sha256": "087dbba40b032a6bb864690052bc2dcbbbb429ab862c26512cf33368edcce6fa", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/treeadapters/sax.py", + "size": 1776, + "sha1": null, + "md5": null, + "sha256": "04a4bcc284139ca8aa79f7c7b310a152a2f8ab6651ff06f97dcf4c277cd00bcb", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/treebuilders/__init__.py", + "size": 3592, + "sha1": null, + "md5": null, + "sha256": "032b12272bcf7e290230cb1356f6b1c2480389e10b0f975f47c149200baaee16", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/treebuilders/base.py", + "size": 14565, + "sha1": null, + "md5": null, + "sha256": "cfea39d6fb7daff9762031b9222a1338a1b36677b8172dff15cfbbcedace8782", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/treebuilders/dom.py", + "size": 8925, + "sha1": null, + "md5": null, + "sha256": "db6c216f40bbd735c8b1a8b999a9a0eaacc11228a070122f683cb802cc376add", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/treebuilders/etree.py", + "size": 12836, + "sha1": null, + "md5": null, + "sha256": "c39645a4a93a6c0c67af00f6fc1ac5e44542eefcf3d0bdcb322f52c6b6dcffcc", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/treebuilders/etree_lxml.py", + "size": 14766, + "sha1": null, + "md5": null, + "sha256": "f60a838ecf88c6c3e10586b9729befd85675299946f371a2baccb69459af2241", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/treewalkers/__init__.py", + "size": 5719, + "sha1": null, + "md5": null, + "sha256": "3813ed7354d4e661b2cb5f100ccc4a132604cf4c3115450d8f9bf4f978266216", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/treewalkers/base.py", + "size": 7476, + "sha1": null, + "md5": null, + "sha256": "a2e88eb2e4b3bc8d0a8337563fc3e5c4869236cf5f6a585b8a29c011cfd42096", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/treewalkers/dom.py", + "size": 1413, + "sha1": null, + "md5": null, + "sha256": "107c8547c0fc958367c8353d971fc82a2815251c9e7141ae6b498e8bb1c1ba47", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/treewalkers/etree.py", + "size": 4551, + "sha1": null, + "md5": null, + "sha256": "c68d4be66f55b647e91492b4a459a42d56a386a618562b15667de4f646293e42", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/treewalkers/etree_lxml.py", + "size": 6357, + "sha1": null, + "md5": null, + "sha256": "fdbd0b01558b715bbd59a53ffb0dc3f1fd08452a426e37faebb57edcd45d853c", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/treewalkers/genshi.py", + "size": 2309, + "sha1": null, + "md5": null, + "sha256": "e03d8f1026799f764ddeabb78cc97dc98ec1f358e7400a414125657da22e61b0", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/idna/__init__.py", + "size": 58, + "sha1": null, + "md5": null, + "sha256": "f4db7bc69c9eb770e63ab3d41a8a03740c261d966ed6a500cb611a27dde41a24", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/idna/codec.py", + "size": 3299, + "sha1": null, + "md5": null, + "sha256": "96f61bef2bbb3e102a15a00801d59cc2069623652682c794b9afb573402c1b40", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/idna/compat.py", + "size": 232, + "sha1": null, + "md5": null, + "sha256": "47e876f43fba9ab9c9cdb5f1ca6ad6516ee2654bf2fb6e934306748a3e7b8b85", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/idna/core.py", + "size": 11951, + "sha1": null, + "md5": null, + "sha256": "8c2a1a2dbddb036b52fc30f1f4fa46b8d4c46593768c0cc1dfaf5a3fe2076111", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/idna/idnadata.py", + "size": 42350, + "sha1": null, + "md5": null, + "sha256": "826cc5c195a3766b3790a67f33fbf0cfbf8b3ff4828187d2784d37076d50a6c9", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/idna/intranges.py", + "size": 1749, + "sha1": null, + "md5": null, + "sha256": "4d8d65a7164841610fead36a8d9905039860a0c58e8f53819a7506f22853f3b1", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/idna/package_data.py", + "size": 22, + "sha1": null, + "md5": null, + "sha256": "6f1063a4b9c4d3aff58d260a132e6cbce32ed7333738cced5d551bd6d3e5729d", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/idna/uts46data.py", + "size": 202084, + "sha1": null, + "md5": null, + "sha256": "94c770db3763907d495165cf3c47c5512613dc5ca3eb46c199f2efbf2e66ee4a", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/msgpack/__init__.py", + "size": 1118, + "sha1": null, + "md5": null, + "sha256": "da027072c4c8680b4233418c8b6ad4fbf63a9082de790baa464ad0db68d200d7", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/msgpack/_version.py", + "size": 20, + "sha1": null, + "md5": null, + "sha256": "86eee5ce667f0a539a38e991b166f8c689a1cd0e1422c2ecbeff0a63a532b071", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/msgpack/exceptions.py", + "size": 1081, + "sha1": null, + "md5": null, + "sha256": "7424d67a2f1da64accb100dc8d093be004e5f47b08047d326edf3338f36a3187", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/msgpack/ext.py", + "size": 6034, + "sha1": null, + "md5": null, + "sha256": "9d5d7d07313d05ef12247af1c5824715bbc41c969770fddabd1907569e70a2f3", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/msgpack/fallback.py", + "size": 37133, + "sha1": null, + "md5": null, + "sha256": "67c5778985143ea295cb85964e4eb856adc6d0fca54083a6956be09cc86691d5", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/packaging/__about__.py", + "size": 736, + "sha1": null, + "md5": null, + "sha256": "3cd32c6999f851c087cae6e044e1f56e5e8296e76e3e3239905ad2a7f660925a", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/packaging/__init__.py", + "size": 562, + "sha1": null, + "md5": null, + "sha256": "e9e9dba795e045f8c18ec23df9b9f4d078c77f94c7db53c330e2a4256f31c3ec", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/packaging/_compat.py", + "size": 1128, + "sha1": null, + "md5": null, + "sha256": "31776c1a9484fd6f99ac7a02f3b6a7748e0b576140c14ec72cbf9e1defc28e15", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/packaging/_structures.py", + "size": 2022, + "sha1": null, + "md5": null, + "sha256": "a339025fc43c7f6a84d4489cdd8890e1bb8355f833da261ebd8f5eed1db2de26", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/packaging/_typing.py", + "size": 1824, + "sha1": null, + "md5": null, + "sha256": "560034000bec73deca0799c5f3dce8b9d3b208c12c57b165697cd96d8a849330", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/packaging/markers.py", + "size": 9491, + "sha1": null, + "md5": null, + "sha256": "57f45da10a8e51b49fcbbcbda36bd193b064cc0877ca7782f3672e5a92aba8e8", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/packaging/requirements.py", + "size": 4903, + "sha1": null, + "md5": null, + "sha256": "17dde1927ee2f0d29164ff85b5d4c8961cf53d4b118e17ba7916ec0575f4521e", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/packaging/specifiers.py", + "size": 31944, + "sha1": null, + "md5": null, + "sha256": "b98a7d975dc5d0b7249d2e9de0deb4cad88180598884a89d78eabd027b314dca", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/packaging/tags.py", + "size": 24067, + "sha1": null, + "md5": null, + "sha256": "34a312dfb668fe75ab67182c0facdb5ec5e073d79d9fd9b5eb470188b98725d1", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/packaging/utils.py", + "size": 1811, + "sha1": null, + "md5": null, + "sha256": "452865be78ced82b58483f2eae2df67eb30c14c4e607ede286cab5fa08732c4c", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/packaging/version.py", + "size": 15470, + "sha1": null, + "md5": null, + "sha256": "0a76e6f8e3bd0ffa9df194c5c7315c8d26af7b14981599b279aa0fbccb2380f7", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/pep517/__init__.py", + "size": 84, + "sha1": null, + "md5": null, + "sha256": "af9b80d74e8d1896b7b25b29683da6df6685a45522657fa667dbc89730043a9e", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/pep517/_in_process.py", + "size": 8438, + "sha1": null, + "md5": null, + "sha256": "5eb28e4d44497626b947b8b78bf390992f3d2c04855c4dc74177d7eb7a990481", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/pep517/build.py", + "size": 3335, + "sha1": null, + "md5": null, + "sha256": "0cde28bb28ff6ddd3492738aaafd0a1d1b4dd3e25ecc9a0d3594267038b88ee9", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/pep517/check.py", + "size": 5961, + "sha1": null, + "md5": null, + "sha256": "62868d137a68246a73f7a6e2542630b5c0ec8701061361d153928ac9af727e96", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/pep517/colorlog.py", + "size": 4098, + "sha1": null, + "md5": null, + "sha256": "4e4f40b989bf70b17704a4c1a124c9b7d6d1af29f4685a232103b06df5544f14", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/pep517/compat.py", + "size": 780, + "sha1": null, + "md5": null, + "sha256": "33ee6ce15369f2b8f24fbe9967f89b9cf0f8e03615cd2425c821076b28ed0cfc", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/pep517/dirtools.py", + "size": 1129, + "sha1": null, + "md5": null, + "sha256": "da69009002f4991cff7a56058d12ae7a44c9562a47d734e7e2d6dfd440debfce", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/pep517/envbuild.py", + "size": 6041, + "sha1": null, + "md5": null, + "sha256": "b332941653b9d17d5a8507d7c33e210fd576544fdbcfd30b54f21e89db05a38c", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/pep517/meta.py", + "size": 2463, + "sha1": null, + "md5": null, + "sha256": "f269cce650e74f8cd742905396225b4467deb07ee28a81f0a336c3c402cf4bd6", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/pep517/wrappers.py", + "size": 10783, + "sha1": null, + "md5": null, + "sha256": "c855382e9ed32186e6b9539363ea579e5c8667717f82b222f8994b92918df069", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/pkg_resources/__init__.py", + "size": 108277, + "sha1": null, + "md5": null, + "sha256": "5e91817ef4bd7da7c0e9b9b9af1eef9f1771b3bcaaca873f367a73280a6427ae", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/pkg_resources/py31compat.py", + "size": 562, + "sha1": null, + "md5": null, + "sha256": "09193c7e488f4432ec6e2e6965c2ac1c8fff3db9a1ffde0bf26afd432f406f65", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/progress/__init__.py", + "size": 4857, + "sha1": null, + "md5": null, + "sha256": "7dc6d0417a399e9d82a10ca1487e57a6b9227302d934b78f477b886a1ce748ed", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/progress/bar.py", + "size": 2854, + "sha1": null, + "md5": null, + "sha256": "42e0ee54d7265e0a71b4db713b416aef6c4a8a0c4005a566c58181c3827767f1", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/progress/counter.py", + "size": 1372, + "sha1": null, + "md5": null, + "sha256": "3339f206bbcf5ab3a519ee0c64094651bf6adda3837bafda35878013f54da180", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/progress/spinner.py", + "size": 1380, + "sha1": null, + "md5": null, + "sha256": "93c25b0d6f784f4f965ee5dfc5920585da0d3d8a778df9e95ea0677d1bf97c6b", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/requests/__init__.py", + "size": 4465, + "sha1": null, + "md5": null, + "sha256": "a2bcefe3ed6e7a3303736bf72e74d59de20d1978b0a9749fac04a8141b186e51", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/requests/__version__.py", + "size": 441, + "sha1": null, + "md5": null, + "sha256": "5f0932d453253242491a2741339d090bb14a728b16ce48c85be5a1406ac17453", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/requests/_internal_utils.py", + "size": 1096, + "sha1": null, + "md5": null, + "sha256": "671dcf9c451c7327ec07e89ed759d95405bca82949cb4831d6a34c13bae04f5f", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/requests/adapters.py", + "size": 21548, + "sha1": null, + "md5": null, + "sha256": "7be6e6284029355a85772971b8c2497e2687765992ff3856848304ce51ef1ae7", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/requests/api.py", + "size": 6496, + "sha1": null, + "md5": null, + "sha256": "3e51ccf874f73d0e65cae7e8786995fa7271462ed49d4c86561ece57b07d5d5e", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/requests/auth.py", + "size": 10207, + "sha1": null, + "md5": null, + "sha256": "38ca092152b244bcbd4c7afdd72f2bc72b19b9c9703c1f8ad57835cc1a265214", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/requests/certs.py", + "size": 465, + "sha1": null, + "md5": null, + "sha256": "9d7455abd0ed1a6bffd4061bc234eef54ae001c749bf4e59be435e6a82ce6716", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/requests/compat.py", + "size": 2045, + "sha1": null, + "md5": null, + "sha256": "2d05ae091e2a5e4eb0efea90a295f2cf458d1d47400f8d24d262a768011fd7e8", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/requests/cookies.py", + "size": 18430, + "sha1": null, + "md5": null, + "sha256": "63e6ca5fa4ef5b716762513a02ed125ed55559c68d745bee030431c3e1b48932", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/requests/exceptions.py", + "size": 3173, + "sha1": null, + "md5": null, + "sha256": "77d7c9270f1814107d5731bdaa1bf12ee3b1e9b7b773f0f06dc93e75550401cb", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/requests/help.py", + "size": 3578, + "sha1": null, + "md5": null, + "sha256": "4893d57285dea3b29f2b803124de5e1554028ebd229bceed5369fbb9b2ec92c5", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/requests/hooks.py", + "size": 757, + "sha1": null, + "md5": null, + "sha256": "411786cb2d1b45caf9ae4c02b8e6cd6a46d8b1cec492229e0701b8a877a4af64", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/requests/models.py", + "size": 34287, + "sha1": null, + "md5": null, + "sha256": "fed2886ebb1c6c6bda4dd5f55070b045a89898f17d54122e05ec9daf8431d538", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/requests/packages.py", + "size": 695, + "sha1": null, + "md5": null, + "sha256": "9e32665627d8e1a49cb6e5b73cfe441510b18c4c0c4433ba27f7de1b674a5ac2", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/requests/sessions.py", + "size": 29316, + "sha1": null, + "md5": null, + "sha256": "381b7042cd6f8e4075c5a985762fe9e72f0155e5f5e8126841cc12c31fd8ddf2", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/requests/status_codes.py", + "size": 4188, + "sha1": null, + "md5": null, + "sha256": "813efd3dbb3f7108c1829f9fbeb520835767d8340edf66c38f84c89e39cc3d27", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/requests/structures.py", + "size": 3005, + "sha1": null, + "md5": null, + "sha256": "9ac02dafd9aad49c4777e251ca220b7dd165a5b270bef16e3f7adf5104ff4311", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/requests/utils.py", + "size": 30176, + "sha1": null, + "md5": null, + "sha256": "541b3df5cbd5f19dbd5865de599a87cd9f34fe7bb5030c2363325f7b4c1022fb", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/resolvelib/__init__.py", + "size": 537, + "sha1": null, + "md5": null, + "sha256": "b2a30ecb809b549422686f5b08f8f4a009ed180572f9159d3df55a0bd5c32044", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/resolvelib/providers.py", + "size": 4547, + "sha1": null, + "md5": null, + "sha256": "4d90c298bf8873e47925121963c1b814b1b9c41db7e370740dfb8aedac3662ac", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/resolvelib/reporters.py", + "size": 1405, + "sha1": null, + "md5": null, + "sha256": "64f4899d57caf16bd74db5fc8c4d0dade9f4fbf1e0f729b87a90943ed53c6345", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/resolvelib/resolvers.py", + "size": 15018, + "sha1": null, + "md5": null, + "sha256": "9504c671cfb67e01db99d88bcde34353156619ce591639002fa26b56a9ea248c", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/resolvelib/structs.py", + "size": 2016, + "sha1": null, + "md5": null, + "sha256": "cab76177e9fb0deadc8a63c67255dedb4ae0aa1971c3c3e7c42d3099c5ced7d6", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/resolvelib/compat/__init__.py", + "size": 0, + "sha1": null, + "md5": null, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/resolvelib/compat/collections_abc.py", + "size": 127, + "sha1": null, + "md5": null, + "sha256": "9ad4e4a6bdc67f7386bd4d4f0fc62ebeb2518556e2a3157cd93fa78853e85f7a", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/toml/__init__.py", + "size": 747, + "sha1": null, + "md5": null, + "sha256": "ac9d69bbddf71e052dc9e78d8aeb283dde6324e3cd85a2878524a5777a3c010a", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/toml/common.py", + "size": 242, + "sha1": null, + "md5": null, + "sha256": "56205c70076e3fa79934901bd4f3a14618ce022e7a4c3b0d8162754e381702e8", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/toml/decoder.py", + "size": 38696, + "sha1": null, + "md5": null, + "sha256": "6ada579b2142ccd1a2aa191c60bc9206e25090f7921c3cc1cf8eec11a5f56a6c", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/toml/encoder.py", + "size": 9955, + "sha1": null, + "md5": null, + "sha256": "7cfa8bc8574f01a9b5ed7f5210bcf64cca7d69f7e47c70a681667144a726ce16", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/toml/ordered.py", + "size": 378, + "sha1": null, + "md5": null, + "sha256": "516b791246bdd0859505876f2e06393d79e405c558a478e7c3d4faeeb33ce53f", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/toml/tz.py", + "size": 618, + "sha1": null, + "md5": null, + "sha256": "0eb020237c19c5988670bb95fe5f2e780fe73eb628c50de1640f6d2528d646c4", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/__init__.py", + "size": 2683, + "sha1": null, + "md5": null, + "sha256": "add15908ed4bedef3ceb5653be8f008922b0c427bd4a7590510c09e7df5857d7", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/_collections.py", + "size": 10792, + "sha1": null, + "md5": null, + "sha256": "1a8b95b0dcf083a8c00d94e68a6308ea8aa6c0a4acc27328f5d879b4635558ee", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/connection.py", + "size": 14461, + "sha1": null, + "md5": null, + "sha256": "1659fc6bf6e47a074d32416848ec322343c9bcbd4eab35543ba89f8a128e4e97", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/connectionpool.py", + "size": 35725, + "sha1": null, + "md5": null, + "sha256": "7a075a5fe0dbfcb55789f0f1bf7258d1d1c8a50a83bf4c02d3ff447a1f0590f3", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/exceptions.py", + "size": 7172, + "sha1": null, + "md5": null, + "sha256": "0f626f69beccee6fe7d2b9e6066ab8f35a5aa154f7d95bd5781e95790334cbec", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/fields.py", + "size": 8553, + "sha1": null, + "md5": null, + "sha256": "92ba03efa40af867471d6edffc050de17c430b73903c8d8516b4bd7922f8042b", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/filepost.py", + "size": 2440, + "sha1": null, + "md5": null, + "sha256": "be3d2a6eba53d40173bef5b84ae0bc3399098b0ef07ed1dc4abfbb6fc5293e9c", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/poolmanager.py", + "size": 17861, + "sha1": null, + "md5": null, + "sha256": "896100206ad5346a0e990c9f885c02a86f88c98cba18843e8c9f500ac5fd962e", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/request.py", + "size": 6018, + "sha1": null, + "md5": null, + "sha256": "861a07bc411ab7277d4e7e446c68d0d1e9a7f8434c0b2639f75c8d5939de20d0", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/response.py", + "size": 28221, + "sha1": null, + "md5": null, + "sha256": "7a8d527e49f6c78e05b6380fdeac300ec1bd6a4f38b29400c441b2ecebdde0f7", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/contrib/__init__.py", + "size": 0, + "sha1": null, + "md5": null, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/contrib/_appengine_environ.py", + "size": 957, + "sha1": null, + "md5": null, + "sha256": "6c36f2384856d8228b25c42a00a032ac41cdf9a925b321c52aaeaf17c645b269", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/contrib/appengine.py", + "size": 11034, + "sha1": null, + "md5": null, + "sha256": "81f74ae13ec24629fbbfd1d18470db0e1f876e4eba8470d67a8cfb9d5dcf268f", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/contrib/ntlmpool.py", + "size": 4160, + "sha1": null, + "md5": null, + "sha256": "6b8d3603018dfcb97737ee2eaff012e94ad4fb2714b659d8aa8045efa94e460f", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/contrib/pyopenssl.py", + "size": 16582, + "sha1": null, + "md5": null, + "sha256": "f609b99290b449c6c3096a1b782ae1e4b0ea4bc1e053c14d866939bfca90e41b", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/contrib/securetransport.py", + "size": 32401, + "sha1": null, + "md5": null, + "sha256": "bc10c58d29c7da059afb3b4c2956a2c16e3a2b59a50d92aabe8fd50289df75c6", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/contrib/socks.py", + "size": 7036, + "sha1": null, + "md5": null, + "sha256": "9f30cc80320525656e6ca1eabc89f6f922823bdd618492273fdd968070a11b30", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/contrib/_securetransport/__init__.py", + "size": 0, + "sha1": null, + "md5": null, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/contrib/_securetransport/bindings.py", + "size": 16886, + "sha1": null, + "md5": null, + "sha256": "9ae96559815a82105d45695ae87614f930601514cf2c111fc63de3a656de2664", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/contrib/_securetransport/low_level.py", + "size": 11956, + "sha1": null, + "md5": null, + "sha256": "57b1a7ba3c67599876376b0cb15e4de1df489b29a89249b7cc1c20b7beff6d21", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/packages/__init__.py", + "size": 108, + "sha1": null, + "md5": null, + "sha256": "87804b843e2d2da071d5a75a0ed2977eea6c82a634c162d76ff7f5ff256557a0", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/packages/six.py", + "size": 32536, + "sha1": null, + "md5": null, + "sha256": "69dc78cfe78cfc3d15beed0822a573140090feec7d97ae32ec391211f6f1083b", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/packages/backports/__init__.py", + "size": 0, + "sha1": null, + "md5": null, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/packages/backports/makefile.py", + "size": 1418, + "sha1": null, + "md5": null, + "sha256": "d34e70aef1fefe95929d316a436b1dcf3878cd50ad414510e26476632c707340", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/packages/ssl_match_hostname/__init__.py", + "size": 688, + "sha1": null, + "md5": null, + "sha256": "cb080a32d7c78b5f83ad79733df540873b0bcf3a9c2bb193e9e2e076875ed458", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/packages/ssl_match_hostname/_implementation.py", + "size": 5696, + "sha1": null, + "md5": null, + "sha256": "aef40342f8aa40bb4f241e8c7c48000670458f79d77eded92770f1f810b40106", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/util/__init__.py", + "size": 1038, + "sha1": null, + "md5": null, + "sha256": "6d635a6affce4fed4befeb319b9f5c19be7dac339195b85bff89e876e3399b45", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/util/connection.py", + "size": 4637, + "sha1": null, + "md5": null, + "sha256": "36cc5400a43df062b2c2d6befb3839ec2755a5e4c223a37e184942abbf0397c5", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/util/queue.py", + "size": 497, + "sha1": null, + "md5": null, + "sha256": "9b24d7dc90c79ed8252903417f76fa75ab071feb85f96e7dbf319242215d01f2", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/util/request.py", + "size": 3815, + "sha1": null, + "md5": null, + "sha256": "0beebe0167dfc591b4dc07511a8639f6eaac9f809522d294ea08f1cfb1dcdcc7", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/util/response.py", + "size": 2573, + "sha1": null, + "md5": null, + "sha256": "fd66d342bf31450b89b98dab4c867155d243ea69c43ad42ea6368afdb17f563f", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/util/retry.py", + "size": 15543, + "sha1": null, + "md5": null, + "sha256": "df06efed277360d3b13dc0621643c2b9b4db2b5ffabd649ea739ce5e2ae151f0", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/util/ssl_.py", + "size": 14523, + "sha1": null, + "md5": null, + "sha256": "37b82ab768aacca06c58699ceb561e28d48fae2e8db36899fcc0f9855db2f2d5", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/util/timeout.py", + "size": 9947, + "sha1": null, + "md5": null, + "sha256": "dea6b0528f9366ae2aeedc9e453a0c20e74d1843818ce39056aee71e72ebc8fe", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/util/url.py", + "size": 13981, + "sha1": null, + "md5": null, + "sha256": "4b863203058a24f8c5144082ee5f55a7d10aa911f55c06feb90140367d536a4d", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/util/wait.py", + "size": 5406, + "sha1": null, + "md5": null, + "sha256": "938e8acea218bb7567ce56b9616dc4bed22736553f432705a900208483b1a008", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/webencodings/__init__.py", + "size": 10579, + "sha1": null, + "md5": null, + "sha256": "a8e04922e3f2ff8072607e96fdb360245faa610d83a14f9d2ac0eee724560978", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/webencodings/labels.py", + "size": 8979, + "sha1": null, + "md5": null, + "sha256": "e003bf2b14dd76a1adacbf67b3b9003e36f409c37ac6c088c5b2b7ec763daf71", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/webencodings/mklabels.py", + "size": 1305, + "sha1": null, + "md5": null, + "sha256": "19821ecb09e968b9cfd064a273c2c55a0774515bcefe5d4d73a62817ef3b47fe", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/webencodings/tests.py", + "size": 6563, + "sha1": null, + "md5": null, + "sha256": "3ad18bca384d6357ef916d46bcb27f155f59a2a0bd027ca3afbab79314dbccdb", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/webencodings/x_user_defined.py", + "size": 4307, + "sha1": null, + "md5": null, + "sha256": "c8ea9649d9a9cad19f52087f67a258803361a1cf81007cb279e4f5e45af8dad3", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip-20.2.2.dist-info/LICENSE.txt", + "size": 1090, + "sha1": null, + "md5": null, + "sha256": "5ba21fbb0964f936ad7d15362d1ed6d4931cc8c8f9ff2d4d91190e109be74431", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip-20.2.2.dist-info/METADATA", + "size": 3708, + "sha1": null, + "md5": null, + "sha256": "64cad08d4df485f455455884e2aa15af06730d24721824fc39d9039244cc06ff", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip-20.2.2.dist-info/WHEEL", + "size": 110, + "sha1": null, + "md5": null, + "sha256": "9064fbe0b5b245466b2f85602e1ebf835d8879597ff6ef5956169dae05d95046", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip-20.2.2.dist-info/entry_points.txt", + "size": 125, + "sha1": null, + "md5": null, + "sha256": "1ed7c33b0a5496bf6cef78ea2d0eb017d574ff4aaf517270081cfb570c7451ed", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip-20.2.2.dist-info/top_level.txt", + "size": 4, + "sha1": null, + "md5": null, + "sha256": "ceebae7b8927a3227e5303cf5e0f1f7b34bb542ad7250ac03fbcde36ec2f1508", + "sha512": null, + "extra_data": {} + }, + { + "path": "pip-20.2.2.dist-info/RECORD", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/resolution/legacy/__init__.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/distributions/base.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/requests/certs.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/colorama/winterm.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/requests/help.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/packages/__init__.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/requests/compat.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/cachecontrol/caches/__init__.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/operations/install/legacy.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/virtualenv.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/distlib/wheel.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/cachecontrol/controller.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/index/__init__.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/charsetgroupprober.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/operations/install/__init__.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/resolvelib/reporters.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/models/__pycache__", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/distlib/compat.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/packaging/_structures.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/pep517/_in_process.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/filters/lint.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/treebuilders/dom.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/entrypoints.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/deprecation.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/contrib/_securetransport/low_level.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/distlib/markers.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/progress/bar.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/pep517/__pycache__", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/compatibility_tags.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/idna/idnadata.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/commands/check.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/requests/status_codes.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/progress/counter.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/html5parser.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/packaging/markers.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/contrib/appengine.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/cli/__pycache__", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/langcyrillicmodel.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/cachecontrol/caches/__pycache__", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/colorama/__init__.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/models/link.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/treebuilders/etree_lxml.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "../../../bin/pip-3.8", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/models/direct_url.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/idna/package_data.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/cli/spinners.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/build_env.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/utf8prober.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/util/wait.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/retrying.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/cachecontrol/compat.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/requests/_internal_utils.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/resolution/resolvelib/requirements.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/progress/__pycache__", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/treewalkers/genshi.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/models/scheme.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/cachecontrol/filewrapper.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/network/download.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/colorama/initialise.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/treewalkers/__pycache__", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/toml/__init__.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/cache.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "../../../bin/pip3", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/models/search_scope.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/configuration.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/commands/__init__.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/enums.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/__pycache__", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/contrib/_securetransport/bindings.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/__pycache__", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/resolution/__pycache__", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/contrib/pyopenssl.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/colorama/ansi.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/cachecontrol/heuristics.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/toml/encoder.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/commands/download.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/cachecontrol/cache.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/langbulgarianmodel.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/_trie/py.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/resolution/resolvelib/base.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/commands/cache.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/packaging/__init__.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/commands/uninstall.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/cli/main.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/requests/cookies.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/resolution/legacy/resolver.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/packaging/specifiers.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/contrib/securetransport.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/req/req_install.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/operations/install/__pycache__", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/operations/build/__pycache__", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/gb2312freq.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/cachecontrol/wrapper.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/wheel.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/treewalkers/base.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/distributions/wheel.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/cli/command_context.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/requests/hooks.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/chardistribution.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/wheel_builder.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/toml/common.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/util/__init__.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/models/__init__.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/requests/__version__.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/distributions/__pycache__", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/operations/prepare.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/pyparsing.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/filters/optionaltags.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/filters/__init__.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/__pycache__", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/euckrprober.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/requests/adapters.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/pep517/__init__.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/_ihatexml.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/distutils_args.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/exceptions.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip-20.2.2.dist-info/__pycache__", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/resolvelib/compat/__pycache__", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/vcs/bazaar.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/escsm.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/certifi/__init__.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/msgpack/ext.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/cli/base_command.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/encoding.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/models.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/contrib/__pycache__", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/misc.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/toml/tz.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/commands/__pycache__", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/treeadapters/__pycache__", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/operations/build/wheel.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/cli/__init__.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/treewalkers/__init__.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/commands/completion.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/contextlib2.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/resolvelib/compat/collections_abc.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/packaging.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/toml/ordered.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/commands/wheel.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/requests/exceptions.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/urls.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/operations/install/editable_legacy.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/constants.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/__pycache__", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/typing.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/filesystem.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/__init__.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/distlib/index.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/cli/req_command.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/resolution/legacy/__pycache__", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/main.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/distributions/__init__.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/langhebrewmodel.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/__init__.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/escprober.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/compat.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/vcs/__pycache__", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/operations/install/wheel.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/index/package_finder.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/pkg_resources/__init__.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/pep517/colorlog.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/version.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/packaging/_compat.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/compat.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/sbcsgroupprober.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/distro.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/jisfreq.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/locations.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/treewalkers/etree_lxml.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/pep517/build.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/packaging/version.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/treeadapters/genshi.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/network/__pycache__", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/serializer.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/resolution/resolvelib/__init__.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/cachecontrol/caches/redis_cache.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/_tokenizer.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/commands/hash.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/util/__pycache__", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/resolvelib/structs.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/connectionpool.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/treewalkers/dom.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/treebuilders/__init__.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/treeadapters/sax.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/packages/backports/__init__.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/vcs/subversion.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/network/__init__.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/requests/structures.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/vcs/git.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/msgpack/exceptions.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/cachecontrol/serialize.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/util/url.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/temp_dir.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/_trie/__pycache__", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/distributions/sdist.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/filters/base.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/vcs/mercurial.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/pep517/check.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/langthaimodel.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/req/__init__.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/packaging/requirements.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/commands/help.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/network/utils.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/idna/core.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/operations/build/wheel_legacy.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/packages/six.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/filters/whitespace.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/resolution/resolvelib/candidates.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/_trie/_base.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/operations/check.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/distributions/installed.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/treebuilders/etree.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/langturkishmodel.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/direct_url_helpers.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/operations/build/__init__.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/pyproject.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/_collections.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/util/connection.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/__pycache__", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/distlib/_backport/shutil.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/idna/__init__.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/operations/__pycache__", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/vcs/__init__.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/toml/decoder.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/cachecontrol/adapter.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/resolution/resolvelib/__pycache__", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/pkg_resources.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/mbcharsetprober.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/network/auth.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/pkg_resources/__pycache__", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/treeadapters/__init__.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/filters/__pycache__", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/operations/build/metadata_legacy.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/commands/show.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/appdirs.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/webencodings/mklabels.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/util/queue.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/util/retry.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/colorama/__pycache__", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/webencodings/labels.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/contrib/__init__.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/msgpack/_version.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/resolvelib/compat/__init__.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/pep517/compat.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/filters/sanitizer.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/packages/backports/makefile.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/gb2312prober.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/requests/models.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/resolvelib/__init__.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/webencodings/__init__.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/distlib/__pycache__", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/cachecontrol/__init__.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/certifi/core.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/req/req_file.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/index/collector.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/requests/packages.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/cp949prober.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/progress/__init__.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/operations/build/metadata.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/toml/__pycache__", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/_inputstream.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "../../../bin/pip", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/idna/intranges.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/contrib/_appengine_environ.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/requests/__pycache__", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/requests/auth.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/setuptools_build.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/distlib/database.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/distlib/_backport/sysconfig.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/__init__.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/idna/codec.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/inject_securetransport.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/distlib/metadata.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/pkg_resources/py31compat.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/cli/parser.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/resolution/__init__.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/network/cache.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/packages/backports/__pycache__", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/network/session.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/packages/__pycache__", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/filepost.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/contrib/_securetransport/__pycache__", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/treewalkers/etree.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/__init__.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/packages/ssl_match_hostname/__pycache__", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/charsetprober.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/latin1prober.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/pep517/dirtools.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip-20.2.2.virtualenv", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/resolvelib/__pycache__", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/packages/ssl_match_hostname/_implementation.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/distlib/_backport/__pycache__", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/mbcssm.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/idna/__pycache__", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/operations/__init__.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/packaging/utils.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/util/timeout.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/distlib/util.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/cachecontrol/caches/file_cache.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/resolution/resolvelib/provider.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/mbcsgroupprober.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/pep517/meta.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/cachecontrol/__pycache__", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/packages/ssl_match_hostname/__init__.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/req/constructors.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/models/index.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/models/format_control.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/big5prober.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/hashes.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/cachecontrol/_cmd.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/distlib/_backport/misc.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/vcs/versioncontrol.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/__main__.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/msgpack/__pycache__", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/colorama/win32.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/filters/alphabeticalattributes.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/req/req_uninstall.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/certifi/__pycache__", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/network/xmlrpc.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/webencodings/tests.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/resolution/resolvelib/resolver.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/exceptions.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/idna/uts46data.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/cli/cmdoptions.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/_trie/__init__.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/cli/progress_bars.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/util/ssl_.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/distlib/__init__.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/progress/spinner.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/commands/search.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/operations/freeze.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/network/lazy_wheel.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/requests/__init__.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/packaging/__about__.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/langgreekmodel.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/logging.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/treebuilders/base.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/resolution/resolvelib/factory.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/pep517/envbuild.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/resolution/base.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/__init__.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/jpcntx.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/codingstatemachine.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/contrib/_securetransport/__init__.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/distlib/resources.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/resolvelib/resolvers.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/fields.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/cli/main_parser.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/index/__pycache__", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/parallel.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/commands/debug.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/colorama/ansitowin32.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/sbcharsetprober.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/cli/autocompletion.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/util/request.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/distlib/_backport/__init__.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/models/selection_prefs.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/cli/chardetect.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/request.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/__pycache__", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/models/target_python.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/resolvelib/providers.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/packaging/tags.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/commands/freeze.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/distlib/manifest.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/__init__.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/euctwprober.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/euckrfreq.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/webencodings/x_user_defined.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/models/wheel.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/cli/status_codes.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/appdirs.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/requests/sessions.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/six.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/contrib/ntlmpool.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/sjisprober.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/datetime.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/certifi/__main__.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/self_outdated_check.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/eucjpprober.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/distlib/_backport/tarfile.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/treebuilders/__pycache__", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/response.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/commands/list.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/filters/inject_meta_charset.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/req/req_tracker.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/connection.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/cli/__init__.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/idna/compat.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "../../../bin/pip3.8", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/msgpack/fallback.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/universaldetector.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/hebrewprober.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/pep517/wrappers.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/commands/install.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/big5freq.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/requests/api.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/subprocess.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/filetypes.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/distlib/scripts.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/req/req_set.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip-20.2.2.dist-info/INSTALLER", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/webencodings/__pycache__", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/msgpack/__init__.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/req/__pycache__", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/cli/__pycache__", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/distlib/locators.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/__init__.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/requests/utils.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/ipaddress.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/packaging/_typing.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/langhungarianmodel.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/chardet/euctwfreq.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/glibc.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/html5lib/_utils.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/models/candidate.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/utils/unpacking.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/packaging/__pycache__", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/distlib/version.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/commands/configuration.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/poolmanager.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/contrib/socks.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_internal/__pycache__", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "pip/_vendor/urllib3/util/response.cpython-38.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ], + "extra_data": { + "Documentation": "Documentation, https://pip.pypa.io", + "Changelog": "Changelog, https://pip.pypa.io/en/stable/news/" + }, "dependencies": [], - "purl": "pkg:pypi/pip@20.2.2", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/pip", "repository_download_url": "https://pypi.org/packages/source/p/pip/pip-20.2.2.tar.gz", - "api_data_url": "https://pypi.org/pypi/pip/20.2.2/json" + "api_data_url": "https://pypi.org/pypi/pip/20.2.2/json", + "datasource_id": "pypi_wheel_metadata", + "purl": "pkg:pypi/pip@20.2.2" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/plugincode-21.1.21.dist-info-expected.json b/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/plugincode-21.1.21.dist-info-expected.json index 651e30c48c2..44aa7617d29 100644 --- a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/plugincode-21.1.21.dist-info-expected.json +++ b/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/plugincode-21.1.21.dist-info-expected.json @@ -47,8 +47,216 @@ "license": "Apache-2.0" }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [ + { + "path": "plugincode-21.1.21.dist-info/AUTHORS.rst", + "size": 267, + "sha1": null, + "md5": null, + "sha256": "96f54b7f596bb8fe45880940c1c03d65ecadb6af71615998ad3b463c69e4e616", + "sha512": null, + "extra_data": {} + }, + { + "path": "plugincode-21.1.21.dist-info/CHANGELOG.rst", + "size": 296, + "sha1": null, + "md5": null, + "sha256": "1b03ac729fc4cb14654bf14624ebf033a1ad886404997ff763694bd0d3511377", + "sha512": null, + "extra_data": {} + }, + { + "path": "plugincode-21.1.21.dist-info/INSTALLER", + "size": 4, + "sha1": null, + "md5": null, + "sha256": "ceebae7b8927a3227e5303cf5e0f1f7b34bb542ad7250ac03fbcde36ec2f1508", + "sha512": null, + "extra_data": {} + }, + { + "path": "plugincode-21.1.21.dist-info/METADATA", + "size": 1648, + "sha1": null, + "md5": null, + "sha256": "c25fa304c12c2f78ec9f2c01946d432ab4b3800cca283d207027a0481523bab7", + "sha512": null, + "extra_data": {} + }, + { + "path": "plugincode-21.1.21.dist-info/NOTICE", + "size": 752, + "sha1": null, + "md5": null, + "sha256": "48cec42c5f9c9321de7b1683497ecfd84a836e36246fa4bc73f09672c74cc973", + "sha512": null, + "extra_data": {} + }, + { + "path": "plugincode-21.1.21.dist-info/RECORD", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "plugincode-21.1.21.dist-info/WHEEL", + "size": 92, + "sha1": null, + "md5": null, + "sha256": "3aa464174798e461ecb0ca2b16395b4c8ab4ef6be91e917ad1f21003a952f710", + "sha512": null, + "extra_data": {} + }, + { + "path": "plugincode-21.1.21.dist-info/apache-2.0.LICENSE", + "size": 11357, + "sha1": null, + "md5": null, + "sha256": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "sha512": null, + "extra_data": {} + }, + { + "path": "plugincode-21.1.21.dist-info/top_level.txt", + "size": 11, + "sha1": null, + "md5": null, + "sha256": "c68f6ae59a5f15150b912687eba258d807651417a8473918b2005d17174255eb", + "sha512": null, + "extra_data": {} + }, + { + "path": "plugincode/__init__.py", + "size": 9494, + "sha1": null, + "md5": null, + "sha256": "6b4bc351c7b56c078c8fa2150bb484ae5c15c87c4d4f1ae6bf201b056e48ec99", + "sha512": null, + "extra_data": {} + }, + { + "path": "plugincode/__pycache__/__init__.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "plugincode/__pycache__/location_provider.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "plugincode/__pycache__/output.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "plugincode/__pycache__/output_filter.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "plugincode/__pycache__/post_scan.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "plugincode/__pycache__/pre_scan.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "plugincode/__pycache__/scan.cpython-36.pyc", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "plugincode/location_provider.py", + "size": 6209, + "sha1": null, + "md5": null, + "sha256": "bf53ea4b198f5dc782b3bfebc5159d013c325943efa7d82e23c9f57be94f6127", + "sha512": null, + "extra_data": {} + }, + { + "path": "plugincode/output.py", + "size": 2830, + "sha1": null, + "md5": null, + "sha256": "d6f0ff03cdf3aaa7394d269d4086006a775e672ef5de0e0042bd8dab5e262624", + "sha512": null, + "extra_data": {} + }, + { + "path": "plugincode/output_filter.py", + "size": 1541, + "sha1": null, + "md5": null, + "sha256": "300c6a057569c671279ffa20342db70c63ceb8badee5ae69c32ae55a2ae62b42", + "sha512": null, + "extra_data": {} + }, + { + "path": "plugincode/post_scan.py", + "size": 1366, + "sha1": null, + "md5": null, + "sha256": "49bb401382c6f3f24ef173880f461265fda0723233fd9544e250ba961ff6d321", + "sha512": null, + "extra_data": {} + }, + { + "path": "plugincode/pre_scan.py", + "size": 1331, + "sha1": null, + "md5": null, + "sha256": "ed83e58ba949ee5a416bc35ce5e2eb0f81299eaacb35e401c07f8ac40c01e378", + "sha512": null, + "extra_data": {} + }, + { + "path": "plugincode/scan.py", + "size": 3799, + "sha1": null, + "md5": null, + "sha256": "3bd20b359371e057793c232b258b3a2decb27fb3e3052a518176c05ec37c9152", + "sha512": null, + "extra_data": {} + } + ], "extra_data": {}, "dependencies": [ { @@ -124,9 +332,10 @@ "resolved_package": {} } ], - "purl": "pkg:pypi/plugincode@21.1.21", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/plugincode", "repository_download_url": "https://pypi.org/packages/source/p/plugincode/plugincode-21.1.21.tar.gz", - "api_data_url": "https://pypi.org/pypi/plugincode/21.1.21/json" + "api_data_url": "https://pypi.org/pypi/plugincode/21.1.21/json", + "datasource_id": "pypi_wheel_metadata", + "purl": "pkg:pypi/plugincode@21.1.21" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/with_sources/anonapi-0.0.19.dist-info-expected.json b/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/with_sources/anonapi-0.0.19.dist-info-expected.json index 57c47222534..9da37212bd8 100644 --- a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/with_sources/anonapi-0.0.19.dist-info-expected.json +++ b/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/with_sources/anonapi-0.0.19.dist-info-expected.json @@ -37,7 +37,7 @@ "code_view_url": null, "vcs_url": null, "copyright": null, - "license_expression": "mit", + "license_expression": "mit AND mit", "declared_license": { "license": "MIT license", "classifiers": [ @@ -45,8 +45,117 @@ ] }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [ + { + "path": "anonapi/__init__.py", + "size": 174, + "sha1": null, + "md5": null, + "sha256": "f1504e1080e9632d0915284ac7911f0c17699b7ec7e3c7100f50b476f70e04cc", + "sha512": null, + "extra_data": {} + }, + { + "path": "anonapi/anon.py", + "size": 20963, + "sha1": null, + "md5": null, + "sha256": "063d21326ac8804039a02c59aef6d8a5427deb6b70367739113e3a9f9aa9e0f8", + "sha512": null, + "extra_data": {} + }, + { + "path": "anonapi/client.py", + "size": 8760, + "sha1": null, + "md5": null, + "sha256": "655986fbd8a218ddbcca09f7a925c81c5bf4437e2947d94e8d85f8189bf0e36c", + "sha512": null, + "extra_data": {} + }, + { + "path": "anonapi/objects.py", + "size": 545, + "sha1": null, + "md5": null, + "sha256": "646ba0fed816cb282981ef74a13d967db49fc3cf69161c5319c998a9102d0d77", + "sha512": null, + "extra_data": {} + }, + { + "path": "anonapi/settings.py", + "size": 4535, + "sha1": null, + "md5": null, + "sha256": "fde17bfd73e416b2b27a75f3bc2926092a208093993a99bc094a823a3c384e1a", + "sha512": null, + "extra_data": {} + }, + { + "path": "anonapi-0.0.19.dist-info/AUTHORS.rst", + "size": 183, + "sha1": null, + "md5": null, + "sha256": "12e371c87dc7eca8ec20ea8ed1cc6cc447a28695c138785472e21af8f977b7c6", + "sha512": null, + "extra_data": {} + }, + { + "path": "anonapi-0.0.19.dist-info/LICENSE", + "size": 1096, + "sha1": null, + "md5": null, + "sha256": "23c1a546d526776adc2af49f02048318fb433dfa5cd64045f511405051860b9f", + "sha512": null, + "extra_data": {} + }, + { + "path": "anonapi-0.0.19.dist-info/METADATA", + "size": 2813, + "sha1": null, + "md5": null, + "sha256": "1e3440a9c2bbf717c82f56d28f2bab29f997bd957c96adae3579a672b694fbdd", + "sha512": null, + "extra_data": {} + }, + { + "path": "anonapi-0.0.19.dist-info/WHEEL", + "size": 110, + "sha1": null, + "md5": null, + "sha256": "0a2850bc29ec1994011801cb11431fd08740e1f45db92fcd0544cc8024edbcf3", + "sha512": null, + "extra_data": {} + }, + { + "path": "anonapi-0.0.19.dist-info/entry_points.txt", + "size": 44, + "sha1": null, + "md5": null, + "sha256": "1d1968430e1007e93f245304da0b3b18f32f92be3e3dd3c8a790fa28204c6418", + "sha512": null, + "extra_data": {} + }, + { + "path": "anonapi-0.0.19.dist-info/top_level.txt", + "size": 8, + "sha1": null, + "md5": null, + "sha256": "858c66b5750f609b53381138225e23895dd94df54184c2000b9ff97ca601b937", + "sha512": null, + "extra_data": {} + }, + { + "path": "anonapi-0.0.19.dist-info/RECORD", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ], "extra_data": {}, "dependencies": [ { @@ -59,9 +168,10 @@ "resolved_package": {} } ], - "purl": "pkg:pypi/anonapi@0.0.19", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/anonapi", "repository_download_url": "https://pypi.org/packages/source/a/anonapi/anonapi-0.0.19.tar.gz", - "api_data_url": "https://pypi.org/pypi/anonapi/0.0.19/json" + "api_data_url": "https://pypi.org/pypi/anonapi/0.0.19/json", + "datasource_id": "pypi_wheel_metadata", + "purl": "pkg:pypi/anonapi@0.0.19" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/pypi/wheel/parse-wheel-expected.json b/tests/packagedcode/data/pypi/wheel/parse-wheel-expected.json index 491e2c9e4fc..98a280e8342 100644 --- a/tests/packagedcode/data/pypi/wheel/parse-wheel-expected.json +++ b/tests/packagedcode/data/pypi/wheel/parse-wheel-expected.json @@ -45,9 +45,7 @@ ] }, "notice_text": null, - "root_path": null, "dependencies": [], - "contains_source_code": null, "source_packages": [], "extra_data": {}, "purl": "pkg:pypi/atomicwrites@1.2.1", diff --git a/tests/packagedcode/data/readme/android/basic/README.android.expected b/tests/packagedcode/data/readme/android/basic/README.android.expected index e421fc38cc9..dd4447a0066 100644 --- a/tests/packagedcode/data/readme/android/basic/README.android.expected +++ b/tests/packagedcode/data/readme/android/basic/README.android.expected @@ -25,13 +25,14 @@ "license_expression": "unknown", "declared_license": "BSD", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:readme/libaom@v1.0.0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "readme", + "purl": "pkg:readme/libaom@v1.0.0" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/readme/chromium/basic/README.chromium.expected b/tests/packagedcode/data/readme/chromium/basic/README.chromium.expected index 568a1ba9022..a88cc316b99 100644 --- a/tests/packagedcode/data/readme/chromium/basic/README.chromium.expected +++ b/tests/packagedcode/data/readme/chromium/basic/README.chromium.expected @@ -25,13 +25,14 @@ "license_expression": "unknown", "declared_license": "Apache", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:readme/tsproxy@a2f578febcd79b751d948f615bbde8f6189fbeed%20%28commit%20hash%29", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "readme", + "purl": "pkg:readme/tsproxy@a2f578febcd79b751d948f615bbde8f6189fbeed%20%28commit%20hash%29" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/readme/facebook/basic/README.facebook.expected b/tests/packagedcode/data/readme/facebook/basic/README.facebook.expected index a78d21ca2e3..99906016d74 100644 --- a/tests/packagedcode/data/readme/facebook/basic/README.facebook.expected +++ b/tests/packagedcode/data/readme/facebook/basic/README.facebook.expected @@ -25,13 +25,14 @@ "license_expression": "unknown", "declared_license": "PSF or ZPL", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:readme/setuptools@18.5", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "readme", + "purl": "pkg:readme/setuptools@18.5" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/readme/facebook/capital-filename/README.FACEBOOK.expected b/tests/packagedcode/data/readme/facebook/capital-filename/README.FACEBOOK.expected index a78d21ca2e3..99906016d74 100644 --- a/tests/packagedcode/data/readme/facebook/capital-filename/README.FACEBOOK.expected +++ b/tests/packagedcode/data/readme/facebook/capital-filename/README.FACEBOOK.expected @@ -25,13 +25,14 @@ "license_expression": "unknown", "declared_license": "PSF or ZPL", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:readme/setuptools@18.5", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "readme", + "purl": "pkg:readme/setuptools@18.5" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/readme/facebook/download-link-as-download_url/README.facebook.expected b/tests/packagedcode/data/readme/facebook/download-link-as-download_url/README.facebook.expected index 897cf85e931..95365badf7f 100644 --- a/tests/packagedcode/data/readme/facebook/download-link-as-download_url/README.facebook.expected +++ b/tests/packagedcode/data/readme/facebook/download-link-as-download_url/README.facebook.expected @@ -25,13 +25,14 @@ "license_expression": "apache-2.0", "declared_license": "Apache 2.0", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:readme/mbed%20TLS@2.16.4", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "readme", + "purl": "pkg:readme/mbed%20TLS@2.16.4" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/readme/facebook/downloaded-from-as-download_url/README.facebook.expected b/tests/packagedcode/data/readme/facebook/downloaded-from-as-download_url/README.facebook.expected index 897cf85e931..95365badf7f 100644 --- a/tests/packagedcode/data/readme/facebook/downloaded-from-as-download_url/README.facebook.expected +++ b/tests/packagedcode/data/readme/facebook/downloaded-from-as-download_url/README.facebook.expected @@ -25,13 +25,14 @@ "license_expression": "apache-2.0", "declared_license": "Apache 2.0", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:readme/mbed%20TLS@2.16.4", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "readme", + "purl": "pkg:readme/mbed%20TLS@2.16.4" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/readme/facebook/missing-type/README.facebook.expected b/tests/packagedcode/data/readme/facebook/missing-type/README.facebook.expected index 6959046e0fd..df8b5debb27 100644 --- a/tests/packagedcode/data/readme/facebook/missing-type/README.facebook.expected +++ b/tests/packagedcode/data/readme/facebook/missing-type/README.facebook.expected @@ -25,13 +25,14 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:readme/missing-type", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "readme", + "purl": "pkg:readme/missing-type" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/readme/facebook/project-as-name/README.facebook.expected b/tests/packagedcode/data/readme/facebook/project-as-name/README.facebook.expected index 019a734dfde..d922e6a8974 100644 --- a/tests/packagedcode/data/readme/facebook/project-as-name/README.facebook.expected +++ b/tests/packagedcode/data/readme/facebook/project-as-name/README.facebook.expected @@ -25,13 +25,14 @@ "license_expression": "apache-2.0", "declared_license": "Apache 2.0", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:readme/mbed%20TLS@2.16.4", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "readme", + "purl": "pkg:readme/mbed%20TLS@2.16.4" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/readme/facebook/repo-as-homepage_url/README.facebook.expected b/tests/packagedcode/data/readme/facebook/repo-as-homepage_url/README.facebook.expected index ff3659cbdff..d922e6a8974 100644 --- a/tests/packagedcode/data/readme/facebook/repo-as-homepage_url/README.facebook.expected +++ b/tests/packagedcode/data/readme/facebook/repo-as-homepage_url/README.facebook.expected @@ -1,35 +1,38 @@ -{ - "type": "readme", - "namespace": null, - "name": "mbed TLS", - "version": "2.16.4", - "qualifiers": {}, - "subpath": null, - "primary_language": null, - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": "https://github.com/ARMmbed/mbedtls", - "download_url": null, - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": "apache-2.0", - "declared_license": "Apache 2.0", - "notice_text": null, - "root_path": null, - "dependencies": [], - "contains_source_code": null, - "source_packages": [], - "purl": "pkg:readme/mbed%20TLS@2.16.4", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null -} \ No newline at end of file +[ + { + "type": "readme", + "namespace": null, + "name": "mbed TLS", + "version": "2.16.4", + "qualifiers": {}, + "subpath": null, + "primary_language": null, + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": "https://github.com/ARMmbed/mbedtls", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": "apache-2.0", + "declared_license": "Apache 2.0", + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "readme", + "purl": "pkg:readme/mbed%20TLS@2.16.4" + } +] \ No newline at end of file diff --git a/tests/packagedcode/data/readme/facebook/source-as-homepage_url/README.facebook.expected b/tests/packagedcode/data/readme/facebook/source-as-homepage_url/README.facebook.expected index 019a734dfde..d922e6a8974 100644 --- a/tests/packagedcode/data/readme/facebook/source-as-homepage_url/README.facebook.expected +++ b/tests/packagedcode/data/readme/facebook/source-as-homepage_url/README.facebook.expected @@ -25,13 +25,14 @@ "license_expression": "apache-2.0", "declared_license": "Apache 2.0", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:readme/mbed%20TLS@2.16.4", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "readme", + "purl": "pkg:readme/mbed%20TLS@2.16.4" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/readme/facebook/use-parent-dir-name-as-package-name/setuptools/README.facebook.expected b/tests/packagedcode/data/readme/facebook/use-parent-dir-name-as-package-name/setuptools/README.facebook.expected index a78d21ca2e3..99906016d74 100644 --- a/tests/packagedcode/data/readme/facebook/use-parent-dir-name-as-package-name/setuptools/README.facebook.expected +++ b/tests/packagedcode/data/readme/facebook/use-parent-dir-name-as-package-name/setuptools/README.facebook.expected @@ -25,13 +25,14 @@ "license_expression": "unknown", "declared_license": "PSF or ZPL", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:readme/setuptools@18.5", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "readme", + "purl": "pkg:readme/setuptools@18.5" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/readme/facebook/website-as-homepage_url/README.facebook.expected b/tests/packagedcode/data/readme/facebook/website-as-homepage_url/README.facebook.expected index 019a734dfde..d922e6a8974 100644 --- a/tests/packagedcode/data/readme/facebook/website-as-homepage_url/README.facebook.expected +++ b/tests/packagedcode/data/readme/facebook/website-as-homepage_url/README.facebook.expected @@ -25,13 +25,14 @@ "license_expression": "apache-2.0", "declared_license": "Apache 2.0", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:readme/mbed%20TLS@2.16.4", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "readme", + "purl": "pkg:readme/mbed%20TLS@2.16.4" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/readme/google/basic/README.google.expected b/tests/packagedcode/data/readme/google/basic/README.google.expected index 02fe3d9f6b9..cb5c3286ef8 100644 --- a/tests/packagedcode/data/readme/google/basic/README.google.expected +++ b/tests/packagedcode/data/readme/google/basic/README.google.expected @@ -25,13 +25,14 @@ "license_expression": "mit", "declared_license": "MIT", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:readme/lunit@0.5", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "readme", + "purl": "pkg:readme/lunit@0.5" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/readme/thirdparty/basic/README.thirdparty.expected b/tests/packagedcode/data/readme/thirdparty/basic/README.thirdparty.expected index 9860bf2bf37..4be3125d48a 100644 --- a/tests/packagedcode/data/readme/thirdparty/basic/README.thirdparty.expected +++ b/tests/packagedcode/data/readme/thirdparty/basic/README.thirdparty.expected @@ -25,13 +25,14 @@ "license_expression": "unknown", "declared_license": "BSD", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:readme/colorama@0.2.4", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "readme", + "purl": "pkg:readme/colorama@0.2.4" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/recon/pypi/Six/Six.dist-info/METADATA b/tests/packagedcode/data/recon/pypi/Six/Six.dist-info/METADATA new file mode 100644 index 00000000000..4fc3d07c600 --- /dev/null +++ b/tests/packagedcode/data/recon/pypi/Six/Six.dist-info/METADATA @@ -0,0 +1,34 @@ +Metadata-Version: 2.0 +Name: six +Version: 1.10.0 +Summary: Python 2 and 3 compatibility utilities +Home-page: http://pypi.python.org/pypi/six/ +Author: Benjamin Peterson +Author-email: benjamin@python.org +License: MIT +Platform: UNKNOWN +Classifier: Programming Language :: Python :: 2 +Classifier: Programming Language :: Python :: 3 +Classifier: Intended Audience :: Developers +Classifier: License :: OSI Approved :: MIT License +Classifier: Topic :: Software Development :: Libraries +Classifier: Topic :: Utilities + +Six is a Python 2 and 3 compatibility library. It provides utility functions +for smoothing over the differences between the Python versions with the goal of +writing Python code that is compatible on both Python versions. See the +documentation for more information on what is provided. + +Six supports every Python version since 2.6. It is contained in only one Python +file, so it can be easily copied into your project. (The copyright and license +notice must be retained.) + +Online documentation is at https://pythonhosted.org/six/. + +Bugs can be reported to https://bitbucket.org/gutworth/six. The code can also +be found there. + +For questions about six or porting in general, email the python-porting mailing +list: https://mail.python.org/mailman/listinfo/python-porting + + diff --git a/tests/packagedcode/data/rpm_installed/distro-xmlish/centos-8-rpms.xmlish-expected.json b/tests/packagedcode/data/rpm_installed/distro-xmlish/centos-8-rpms.xmlish-expected.json index 7d0830b9a61..04fb68323a4 100644 --- a/tests/packagedcode/data/rpm_installed/distro-xmlish/centos-8-rpms.xmlish-expected.json +++ b/tests/packagedcode/data/rpm_installed/distro-xmlish/centos-8-rpms.xmlish-expected.json @@ -27,29 +27,25 @@ "license_expression": "mit", "declared_license": "MIT", "notice_text": null, - "contains_source_code": null, "source_packages": [], - "extra_data": {}, - "purl": "pkg:rpm/python3-setuptools-wheel@39.2.0?arch=noarch", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null, - "installed_files": [ + "file_references": [ { "path": "/usr/share/licenses/python3-setuptools-wheel", "size": 0, "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/licenses/python3-setuptools-wheel/LICENSE", "size": 0, "sha1": null, - "md5": "c32a3ac395af6321efd28be73d06a00f0db6ab887d1c21d4fec46128d2056d5a", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "c32a3ac395af6321efd28be73d06a00f0db6ab887d1c21d4fec46128d2056d5a", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/python3-wheels", @@ -57,17 +53,26 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/python3-wheels/setuptools-39.2.0-py2.py3-none-any.whl", "size": 0, "sha1": null, - "md5": "938955c41e6dcc2e73ccaf51bd8f755c64df739929a4acff453fde2d0b921bb2", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "938955c41e6dcc2e73ccaf51bd8f755c64df739929a4acff453fde2d0b921bb2", + "sha512": null, + "extra_data": {} } - ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "rpm_installed_database_sqlite", + "purl": "pkg:rpm/python3-setuptools-wheel@39.2.0?arch=noarch" }, { "type": "rpm", @@ -97,39 +102,43 @@ "license_expression": "gpl-2.0", "declared_license": "GPLv2", "notice_text": null, - "contains_source_code": null, "source_packages": [], - "extra_data": {}, - "purl": "pkg:rpm/centos-gpg-keys@8.1?arch=noarch", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null, - "installed_files": [ + "file_references": [ { "path": "/etc/pki/rpm-gpg", "size": 0, "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial", "size": 0, "sha1": null, - "md5": "146059788b214d7ba0dd70c1cf21111e594c6cfde201da8a9a88fe7101be8a78", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "146059788b214d7ba0dd70c1cf21111e594c6cfde201da8a9a88fe7101be8a78", + "sha512": null, + "extra_data": {} }, { "path": "/etc/pki/rpm-gpg/RPM-GPG-KEY-centostesting", "size": 0, "sha1": null, - "md5": "c9c03d66017969a4e7cc2378cac520d726d87e1f24422ec28a96065e43ce8c4a", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "c9c03d66017969a4e7cc2378cac520d726d87e1f24422ec28a96065e43ce8c4a", + "sha512": null, + "extra_data": {} } - ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "rpm_installed_database_sqlite", + "purl": "pkg:rpm/centos-gpg-keys@8.1?arch=noarch" }, { "type": "rpm", @@ -159,22 +168,24 @@ "license_expression": "gpl-2.0-plus", "declared_license": "GPLv2+", "notice_text": null, - "contains_source_code": null, "source_packages": [], - "extra_data": {}, - "purl": "pkg:rpm/langpacks-en@1.0?arch=noarch", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null, - "installed_files": [ + "file_references": [ { "path": "/o", "size": 0, "sha1": null, - "md5": "3", + "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} } - ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "rpm_installed_database_sqlite", + "purl": "pkg:rpm/langpacks-en@1.0?arch=noarch" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/rpm_installed/distro-xmlish/fc33-rpms.xmlish-expected.json b/tests/packagedcode/data/rpm_installed/distro-xmlish/fc33-rpms.xmlish-expected.json index f3912b71cd0..7e7377b4049 100644 --- a/tests/packagedcode/data/rpm_installed/distro-xmlish/fc33-rpms.xmlish-expected.json +++ b/tests/packagedcode/data/rpm_installed/distro-xmlish/fc33-rpms.xmlish-expected.json @@ -27,21 +27,16 @@ "license_expression": "(gpl-3.0-plus AND gpl-3.0-plus AND gpl-2.0-plus AND lgpl-2.0-plus) AND unknown", "declared_license": "GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD", "notice_text": null, - "contains_source_code": null, "source_packages": [], - "extra_data": {}, - "purl": "pkg:rpm/libgcc@10.1.1?arch=x86_64", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null, - "installed_files": [ + "file_references": [ { "path": "/lib64/libgcc_s-10-20200507.so.1", "size": 0, "sha1": null, - "md5": "f0983775e8e6b1d6bd76db2a9f52cde1d6198b115f4e44a6167a5cb8eb0e6235", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "f0983775e8e6b1d6bd76db2a9f52cde1d6198b115f4e44a6167a5cb8eb0e6235", + "sha512": null, + "extra_data": {} }, { "path": "/lib64/libgcc_s.so.1", @@ -49,7 +44,8 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/usr/lib/.build-id", @@ -57,7 +53,8 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/usr/lib/.build-id/6c", @@ -65,7 +62,8 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/usr/lib/.build-id/6c/87948c636ed6c91b75603625e32915177b72e9", @@ -73,7 +71,8 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/licenses/libgcc", @@ -81,49 +80,62 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/licenses/libgcc/COPYING", "size": 0, "sha1": null, - "md5": "231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/licenses/libgcc/COPYING.LIB", "size": 0, "sha1": null, - "md5": "32434afcc8666ba060e111d715bfdb6c2d5dd8a35fa4d3ab8ad67d8f850d2f2b", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "32434afcc8666ba060e111d715bfdb6c2d5dd8a35fa4d3ab8ad67d8f850d2f2b", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/licenses/libgcc/COPYING.RUNTIME", "size": 0, "sha1": null, - "md5": "9d6b43ce4d8de0c878bf16b54d8e7a10d9bd42b75178153e3af6a815bdc90f74", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "9d6b43ce4d8de0c878bf16b54d8e7a10d9bd42b75178153e3af6a815bdc90f74", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/licenses/libgcc/COPYING3", "size": 0, "sha1": null, - "md5": "8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/licenses/libgcc/COPYING3.LIB", "size": 0, "sha1": null, - "md5": "a853c2ffec17057872340eee242ae4d96cbf2b520ae27d903e1b2fef1a5f9d1c", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "a853c2ffec17057872340eee242ae4d96cbf2b520ae27d903e1b2fef1a5f9d1c", + "sha512": null, + "extra_data": {} } - ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "rpm_installed_database_sqlite", + "purl": "pkg:rpm/libgcc@10.1.1?arch=x86_64" }, { "type": "rpm", @@ -153,30 +165,33 @@ "license_expression": "mit", "declared_license": "MIT", "notice_text": null, - "contains_source_code": null, "source_packages": [], - "extra_data": {}, - "purl": "pkg:rpm/fedora-release-identity-container@33?arch=noarch", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null, - "installed_files": [ + "file_references": [ { "path": "/usr/lib/os-release", "size": 0, "sha1": null, - "md5": "e06cbdb1d9d52da73588f081b5dcf90fdf54e3abf60e4a07ec4e690639e4b982", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "e06cbdb1d9d52da73588f081b5dcf90fdf54e3abf60e4a07ec4e690639e4b982", + "sha512": null, + "extra_data": {} }, { "path": "/usr/lib/swidtag/fedoraproject.org/org.fedoraproject.Fedora-edition.swidtag", "size": 0, "sha1": null, - "md5": "c389a9a15d21e774f6e621ba4e8236b6b8304305f7bd8b5aa3b74ccd147c2ae7", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "c389a9a15d21e774f6e621ba4e8236b6b8304305f7bd8b5aa3b74ccd147c2ae7", + "sha512": null, + "extra_data": {} } - ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "rpm_installed_database_sqlite", + "purl": "pkg:rpm/fedora-release-identity-container@33?arch=noarch" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/rpm_installed/distro-xmlish/openmandriva-rpms.xmlish-expected.json b/tests/packagedcode/data/rpm_installed/distro-xmlish/openmandriva-rpms.xmlish-expected.json index 35f9214dbc1..d53a83763ea 100644 --- a/tests/packagedcode/data/rpm_installed/distro-xmlish/openmandriva-rpms.xmlish-expected.json +++ b/tests/packagedcode/data/rpm_installed/distro-xmlish/openmandriva-rpms.xmlish-expected.json @@ -27,21 +27,16 @@ "license_expression": "gpl-1.0-plus", "declared_license": "GPL", "notice_text": null, - "contains_source_code": null, "source_packages": [], - "extra_data": {}, - "purl": "pkg:rpm/chkconfig@1.11?arch=x86_64", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null, - "installed_files": [ + "file_references": [ { "path": "/etc/alternatives", "size": 0, "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/init.d", @@ -49,7 +44,8 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/rc.d", @@ -57,7 +53,8 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/rc.d/init.d", @@ -65,7 +62,8 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/rc.d/rc0.d", @@ -73,7 +71,8 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/rc.d/rc1.d", @@ -81,7 +80,8 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/rc.d/rc2.d", @@ -89,7 +89,8 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/rc.d/rc3.d", @@ -97,7 +98,8 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/rc.d/rc4.d", @@ -105,7 +107,8 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/rc.d/rc5.d", @@ -113,7 +116,8 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/rc.d/rc6.d", @@ -121,7 +125,8 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/lib/systemd/systemd-sysv-install", @@ -129,7 +134,8 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/sbin/chkconfig", @@ -137,23 +143,26 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/usr/sbin/alternatives", "size": 0, "sha1": null, - "md5": "50ccf901344d826de15cbe191c4cdc752e84d5ae9752b290556f61948eaaf7c7", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "50ccf901344d826de15cbe191c4cdc752e84d5ae9752b290556f61948eaaf7c7", + "sha512": null, + "extra_data": {} }, { "path": "/usr/sbin/chkconfig", "size": 0, "sha1": null, - "md5": "24bc8d5419bdc3f2854cac232e4997b1e157eb72af8ddebe555789772235aa78", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "24bc8d5419bdc3f2854cac232e4997b1e157eb72af8ddebe555789772235aa78", + "sha512": null, + "extra_data": {} }, { "path": "/usr/sbin/update-alternatives", @@ -161,623 +170,701 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/ar/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "bb0f9a100149074b852a3cd9e0646c241ea92a4c5e337108feef5818a45bb854", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "bb0f9a100149074b852a3cd9e0646c241ea92a4c5e337108feef5818a45bb854", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/as/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "8bb77a5617dada2185f200e1e49ae9a8f2570e9394216c8edeb075ce1fad282c", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "8bb77a5617dada2185f200e1e49ae9a8f2570e9394216c8edeb075ce1fad282c", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/bal/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "0690448d7b076a9c0ca2db46a99419dbf995f8fc839a9ae816b5471460ea4c83", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "0690448d7b076a9c0ca2db46a99419dbf995f8fc839a9ae816b5471460ea4c83", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/be/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "b2dab4a2177c4d9fdc3ac245f94082e172be837336d65855de5a1692525e5098", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "b2dab4a2177c4d9fdc3ac245f94082e172be837336d65855de5a1692525e5098", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/bg/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "58dc1622c2f6eb27e38930ef71ae5bbfb7d8da58c3ce82e33d9053c7245916e7", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "58dc1622c2f6eb27e38930ef71ae5bbfb7d8da58c3ce82e33d9053c7245916e7", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/bn/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "c79f4effe4c6fc508a885d6d9022762f07771c5b747e69c521f46a14eac8f582", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "c79f4effe4c6fc508a885d6d9022762f07771c5b747e69c521f46a14eac8f582", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/bn_IN/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "255207564629faae0f683900ead573259e82975121e505eceb18f0a97a71f486", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "255207564629faae0f683900ead573259e82975121e505eceb18f0a97a71f486", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/bs/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "09ccb784bdfb604f15c630a96558a3c5a23df9283514fdf7765526714d59c3ef", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "09ccb784bdfb604f15c630a96558a3c5a23df9283514fdf7765526714d59c3ef", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/ca/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "adeef793bfff5ba10907745504bb9b605da4bc9a26c366eb5099b874076df6cf", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "adeef793bfff5ba10907745504bb9b605da4bc9a26c366eb5099b874076df6cf", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/cs/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "7c2dd83599819153119a7d7d347168966e0ffcc7896a6619dad13f502a53c312", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "7c2dd83599819153119a7d7d347168966e0ffcc7896a6619dad13f502a53c312", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/cy/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "f4f43e3b963e62b0251e4127dd6a58641d8d89ad982ee7477d71ea79a801e941", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "f4f43e3b963e62b0251e4127dd6a58641d8d89ad982ee7477d71ea79a801e941", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/da/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "bf3d31e8f8890ba41d0df97ea80708571faec84ef99ffc4eb6add7149a21831e", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "bf3d31e8f8890ba41d0df97ea80708571faec84ef99ffc4eb6add7149a21831e", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/de/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "5ba8a3de74e49406fb00ec8942794c26280d803c717b02d923ff55ee333c3c93", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "5ba8a3de74e49406fb00ec8942794c26280d803c717b02d923ff55ee333c3c93", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/el/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "89967d3c650b03e53be965f675671572e80289603294d6589437e7dd61b2ebcc", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "89967d3c650b03e53be965f675671572e80289603294d6589437e7dd61b2ebcc", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/en_GB/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "047717ab293021c183b76feaf27e73008d52e210fd58652858fe2b90e28e862e", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "047717ab293021c183b76feaf27e73008d52e210fd58652858fe2b90e28e862e", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/es/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "6ffa3b9aca954c6068a60baed884d9244f15047128f64c6bfb1caa9ff7fe4bd3", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "6ffa3b9aca954c6068a60baed884d9244f15047128f64c6bfb1caa9ff7fe4bd3", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/et/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "54112572cd84b066457ce2ea28288bae888192b951607cb2c9354fd8fc5d13f7", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "54112572cd84b066457ce2ea28288bae888192b951607cb2c9354fd8fc5d13f7", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/eu/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "cde24b32810142b7b8b366ae75064c8dc3639ddf31aa55e32218e9c7c2d19715", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "cde24b32810142b7b8b366ae75064c8dc3639ddf31aa55e32218e9c7c2d19715", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/fa/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "ec514eaa3a0429cbb0fb44ec6d3625a335bf3fc9cbfdea3eed42024043b784fd", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "ec514eaa3a0429cbb0fb44ec6d3625a335bf3fc9cbfdea3eed42024043b784fd", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/fi/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "d62e8a9a1ee77d9490178b958b817fc7d4222f41666bb867ba7f5608f474617b", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "d62e8a9a1ee77d9490178b958b817fc7d4222f41666bb867ba7f5608f474617b", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/fr/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "03eeaf7920a06c34c73cdad4285b02aa5e5b2b4fcfa548008692c7bd551dfa67", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "03eeaf7920a06c34c73cdad4285b02aa5e5b2b4fcfa548008692c7bd551dfa67", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/gl/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "7d47bcb4732aea2293387d0aeea62386bcc66edd1c0f3841410ce7594de80dcb", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "7d47bcb4732aea2293387d0aeea62386bcc66edd1c0f3841410ce7594de80dcb", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/gu/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "d820bcc1c0cf80b5c671ae51250483171cfff50b763fe27066f52a5c40becfb2", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "d820bcc1c0cf80b5c671ae51250483171cfff50b763fe27066f52a5c40becfb2", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/he/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "8cd59fd02d83bf3093436c2cae19f4eeaa9f4742aa8ed28e4b541a2936a6407d", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "8cd59fd02d83bf3093436c2cae19f4eeaa9f4742aa8ed28e4b541a2936a6407d", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/hi/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "cad764390e48748349b95a0df874d1c396e730ed6bf1174652d8a9bd0db7f70a", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "cad764390e48748349b95a0df874d1c396e730ed6bf1174652d8a9bd0db7f70a", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/hr/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "cda9c1e680c527753d168ea5948baa49c1ba46bbac1ca55f5c082a180649927b", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "cda9c1e680c527753d168ea5948baa49c1ba46bbac1ca55f5c082a180649927b", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/hu/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "0c62bd246c6ce4f5edc7b3cd9f584f452060e1cc7b0ae0d98a954670eab96194", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "0c62bd246c6ce4f5edc7b3cd9f584f452060e1cc7b0ae0d98a954670eab96194", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/hy/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "d3d76f7c7f9da30200fc695f23c8f862b142b5f6e01d3bc37d0f7b7e1e383aeb", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "d3d76f7c7f9da30200fc695f23c8f862b142b5f6e01d3bc37d0f7b7e1e383aeb", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/ia/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "155d52fa12a1f3faf9fb01d52092076f736e388402f5d75cbb842f29e7f4227c", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "155d52fa12a1f3faf9fb01d52092076f736e388402f5d75cbb842f29e7f4227c", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/id/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "e366957cf3af4c72a79b4f0da721e536b35df5f202252b344a8f211be2f8c6e8", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "e366957cf3af4c72a79b4f0da721e536b35df5f202252b344a8f211be2f8c6e8", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/is/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "22a413cfcd310816331882b520469d1c656a723debbb3dec8847cca2e1ea14f9", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "22a413cfcd310816331882b520469d1c656a723debbb3dec8847cca2e1ea14f9", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/it/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "3b6dc7618882b412c246db2a45056950f36a12bd4858b58ca2f7bc53d60a6265", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "3b6dc7618882b412c246db2a45056950f36a12bd4858b58ca2f7bc53d60a6265", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/ja/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "bcb5934c2e0f63dd9f476c0549883ede310ff24c150c0a1ea93d41dee3b26749", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "bcb5934c2e0f63dd9f476c0549883ede310ff24c150c0a1ea93d41dee3b26749", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/ka/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "e926c2d4285ef33a84b9914222368216aee52c180a657fe7d66e3428b9ffcae5", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "e926c2d4285ef33a84b9914222368216aee52c180a657fe7d66e3428b9ffcae5", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/km/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "d81ae8b8a0448c06eb9b8714bcc2e88aa9fe19ab2b064759f70c2160662ec1f7", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "d81ae8b8a0448c06eb9b8714bcc2e88aa9fe19ab2b064759f70c2160662ec1f7", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/kn/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "74a0ee8fe1638bb3e1add576bffcc09223ea2e169f88dd437b53ce317877ccb8", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "74a0ee8fe1638bb3e1add576bffcc09223ea2e169f88dd437b53ce317877ccb8", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/ko/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "1a025ce2a348503ab54822083a7a735c321447f3b9580b0db50e421bceb6ba85", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "1a025ce2a348503ab54822083a7a735c321447f3b9580b0db50e421bceb6ba85", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/ku/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "8eb18d07600b14e4ca4ebec48d00aef44ab3c28c69b450d8d7c2416a4d63cb2d", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "8eb18d07600b14e4ca4ebec48d00aef44ab3c28c69b450d8d7c2416a4d63cb2d", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/lo/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "36c6d62a9074a1de5b19d3f45fdaa1eb7065104954ae4a1efd49ecdfaffe04b5", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "36c6d62a9074a1de5b19d3f45fdaa1eb7065104954ae4a1efd49ecdfaffe04b5", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/lv/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "6daf7fbbddbd90dfcaa8cb97a666662516ff763bf0fc82a39d41492e099db66a", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "6daf7fbbddbd90dfcaa8cb97a666662516ff763bf0fc82a39d41492e099db66a", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/mai/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "6f691e64be81dfba2a36b39bde079a63077d600585d32d7900b01aa081de4f8b", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "6f691e64be81dfba2a36b39bde079a63077d600585d32d7900b01aa081de4f8b", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/mk/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "818e6c6d5fd4b3fa6050770c9f85f117a506327a3bcc69fc8beb7ecf559df082", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "818e6c6d5fd4b3fa6050770c9f85f117a506327a3bcc69fc8beb7ecf559df082", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/ml/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "10441504ba39278b15a761005e5f49eeb8b36b6ec2f092d64703369fed12dd2d", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "10441504ba39278b15a761005e5f49eeb8b36b6ec2f092d64703369fed12dd2d", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/mr/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "41fd54929eb1121c8c1e45842e92ba369044d04a952776c166f89eaa59abfab9", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "41fd54929eb1121c8c1e45842e92ba369044d04a952776c166f89eaa59abfab9", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/ms/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "5890351c2896dd0c349cd479d5ae3af94d7418796e25946764f9968ddc779c0e", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "5890351c2896dd0c349cd479d5ae3af94d7418796e25946764f9968ddc779c0e", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/my/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "99d006d7f5ec86751cc0fa27512d2e4a28f75d7a80c4f8bcafd15e6618e6df2e", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "99d006d7f5ec86751cc0fa27512d2e4a28f75d7a80c4f8bcafd15e6618e6df2e", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/nb/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "d78cabb3afe05aa3f1ce1c4b3d4e79753d0a5661e7ca759370998e5c56166ec9", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "d78cabb3afe05aa3f1ce1c4b3d4e79753d0a5661e7ca759370998e5c56166ec9", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/nds/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "19d706b2da02cf4bd15edb0c4c8810ccfc4bfa92b83976b8fe4299c94998dadb", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "19d706b2da02cf4bd15edb0c4c8810ccfc4bfa92b83976b8fe4299c94998dadb", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/nl/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "ce091ebc06cefc16466c033d524696a399b51af35edd144c23088456e62eccc4", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "ce091ebc06cefc16466c033d524696a399b51af35edd144c23088456e62eccc4", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/nn/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "a7aff3772422604475c6e11d870d29b69600a0857f3f0ad8cbfc0ee8bdeba5d9", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "a7aff3772422604475c6e11d870d29b69600a0857f3f0ad8cbfc0ee8bdeba5d9", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/or/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "a5659384bd30efd1909c37a480cba5e7e4b5dc111bea048774d15a597414eaaf", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "a5659384bd30efd1909c37a480cba5e7e4b5dc111bea048774d15a597414eaaf", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/pa/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "ce594c7cb05e5efaf777399c94844ccf35b9256992493d979e879ed5bb8ed3fc", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "ce594c7cb05e5efaf777399c94844ccf35b9256992493d979e879ed5bb8ed3fc", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/pl/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "5944a1cb201fb6f0c450b56f2b2489bde1c97d75f2c8c614f546e40e056824f0", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "5944a1cb201fb6f0c450b56f2b2489bde1c97d75f2c8c614f546e40e056824f0", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/pt/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "3fa3f5d5412a0abe37ea9645e1a7bcb9a39da0da2ba5115ec97bae4feae7b302", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "3fa3f5d5412a0abe37ea9645e1a7bcb9a39da0da2ba5115ec97bae4feae7b302", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/pt_BR/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "d4d2c06fa475dc3d852e9f2f76fbc9ed3d565aa0cebccbd9bda530d63494a4af", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "d4d2c06fa475dc3d852e9f2f76fbc9ed3d565aa0cebccbd9bda530d63494a4af", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/ro/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "0efba2529a551f89d23dbaed44d8412a126bf13e209d489561e6ae37327f03fc", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "0efba2529a551f89d23dbaed44d8412a126bf13e209d489561e6ae37327f03fc", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/ru/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "edfb5d111f41692165bc35c255364e5635d335411db91ed0b9105856e3a4bf4a", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "edfb5d111f41692165bc35c255364e5635d335411db91ed0b9105856e3a4bf4a", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/si/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "28851725f7fa4ece33aaceffa8b1a9b99551174cbc2ea2e8f34d3e35a293d190", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "28851725f7fa4ece33aaceffa8b1a9b99551174cbc2ea2e8f34d3e35a293d190", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/sk/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "ad56a33568c1c06ef3c86ebc9cb6ab8bc4bc45b432abfa0a50eba1cdf6d2edb7", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "ad56a33568c1c06ef3c86ebc9cb6ab8bc4bc45b432abfa0a50eba1cdf6d2edb7", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/sl/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "ea201fce2287bbd2ac0540c90516c1bd1a64b7ed7b520f801b5c90df6eef5fd8", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "ea201fce2287bbd2ac0540c90516c1bd1a64b7ed7b520f801b5c90df6eef5fd8", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/sq/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "e893e5a6ef4e514733c8ba6a71ab21dafecd8ed459aba6ffdc2f958d3a8ee70e", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "e893e5a6ef4e514733c8ba6a71ab21dafecd8ed459aba6ffdc2f958d3a8ee70e", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/sr/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "8db9fdb05219ed33094912501d1052ee56dc5960cc07adb2be6aa5ac282b8e64", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "8db9fdb05219ed33094912501d1052ee56dc5960cc07adb2be6aa5ac282b8e64", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/sr@latin/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "85a6e2fc8a67212f2965995af21b59ffaf7c6d2aab1a499b31487e2a871c007d", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "85a6e2fc8a67212f2965995af21b59ffaf7c6d2aab1a499b31487e2a871c007d", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/sv/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "eab29f7ef56781d98581f545e216a0f8a5bb894dc8adf48ebc6ba72f3ed1685a", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "eab29f7ef56781d98581f545e216a0f8a5bb894dc8adf48ebc6ba72f3ed1685a", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/ta/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "91e09b855f3a9ea3b7bd81b0ec9907f6186c436869cbff5df3660b3b723d1c06", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "91e09b855f3a9ea3b7bd81b0ec9907f6186c436869cbff5df3660b3b723d1c06", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/te/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "1530e04f0f5b8e68a73f14c70bf4d2561ee29d8e1fa5d9291dcff156506f779e", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "1530e04f0f5b8e68a73f14c70bf4d2561ee29d8e1fa5d9291dcff156506f779e", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/tg/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "68d10e9d28f91fc224d69de2989f0391c5bc8dba67def05722f1661a98e1101d", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "68d10e9d28f91fc224d69de2989f0391c5bc8dba67def05722f1661a98e1101d", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/th/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "1f6867604ad81b334ebc7255081e08e45f2fb906e577fa06d6d1e2eb08482d65", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "1f6867604ad81b334ebc7255081e08e45f2fb906e577fa06d6d1e2eb08482d65", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/tr/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "8344dc87552381f8666545fa2cd8a0669712a816ee5a22d03a266a5ee4b5ce5f", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "8344dc87552381f8666545fa2cd8a0669712a816ee5a22d03a266a5ee4b5ce5f", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/uk/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "a1024bc9bc264d08cfc185be1a64cbbf56950abf3c6e22d6beef9078cd948347", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "a1024bc9bc264d08cfc185be1a64cbbf56950abf3c6e22d6beef9078cd948347", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/ur/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "3812312eca29ea3edd13290729cbd3478a58d7f780534be82a90f947a342585b", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "3812312eca29ea3edd13290729cbd3478a58d7f780534be82a90f947a342585b", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/vi/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "e99a0b495313afa649bcea5d97bc6afac0196f404d4fc2e375e32232accc0c00", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "e99a0b495313afa649bcea5d97bc6afac0196f404d4fc2e375e32232accc0c00", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/zh_CN/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "6cac1bcc01fa77262c0acd5aa555df905894a862aec43c2a90d5da6329e0f51d", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "6cac1bcc01fa77262c0acd5aa555df905894a862aec43c2a90d5da6329e0f51d", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/zh_TW.Big5/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "f482bb0dfbebb5e96cfeb366ee280b362b895e4a8345c96139432241eddf15f2", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "f482bb0dfbebb5e96cfeb366ee280b362b895e4a8345c96139432241eddf15f2", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/locale/zh_TW/LC_MESSAGES/chkconfig.mo", "size": 0, "sha1": null, - "md5": "21b7712ee97b120dc68e9dcda30686715b9cff716bab0a0112ac3a78bb287a7e", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "21b7712ee97b120dc68e9dcda30686715b9cff716bab0a0112ac3a78bb287a7e", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/man/man8/alternatives.8.zst", "size": 0, "sha1": null, - "md5": "13dffb5cab7d1edb171842abfb4f59fa2e5f920c91e8455f9d4466fc39c0a3a0", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "13dffb5cab7d1edb171842abfb4f59fa2e5f920c91e8455f9d4466fc39c0a3a0", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/man/man8/chkconfig.8.zst", "size": 0, "sha1": null, - "md5": "a37c1ff33c7b5b17d7f927b911360495199dd30156820907b4389a550254eaec", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "a37c1ff33c7b5b17d7f927b911360495199dd30156820907b4389a550254eaec", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/man/man8/update-alternatives.8.zst", @@ -785,7 +872,8 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/var/lib/alternatives", @@ -793,7 +881,8 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/var/log/update-alternatives.log", @@ -801,9 +890,17 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} } - ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "rpm_installed_database_sqlite", + "purl": "pkg:rpm/chkconfig@1.11?arch=x86_64" }, { "type": "rpm", @@ -833,29 +930,25 @@ "license_expression": "mit", "declared_license": "MIT", "notice_text": null, - "contains_source_code": null, "source_packages": [], - "extra_data": {}, - "purl": "pkg:rpm/lib64ncursesw6@6.2?arch=x86_64", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null, - "installed_files": [ + "file_references": [ { "path": "/lib64/libncursesw.so.6", "size": 0, "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/lib64/libncursesw.so.6.2", "size": 0, "sha1": null, - "md5": "a8aea5ccc3098f9272fc9ca13c636adf5785e9da48aa257eba54ab8331fbdc1c", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "a8aea5ccc3098f9272fc9ca13c636adf5785e9da48aa257eba54ab8331fbdc1c", + "sha512": null, + "extra_data": {} }, { "path": "/usr/lib64/libncursesw.so.6", @@ -863,8 +956,16 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} } - ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "rpm_installed_database_sqlite", + "purl": "pkg:rpm/lib64ncursesw6@6.2?arch=x86_64" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/rpm_installed/distro-xmlish/opensuse-rpms.xmlish-expected.json b/tests/packagedcode/data/rpm_installed/distro-xmlish/opensuse-rpms.xmlish-expected.json index c966184374a..03f52dbfc67 100644 --- a/tests/packagedcode/data/rpm_installed/distro-xmlish/opensuse-rpms.xmlish-expected.json +++ b/tests/packagedcode/data/rpm_installed/distro-xmlish/opensuse-rpms.xmlish-expected.json @@ -27,31 +27,34 @@ "license_expression": "boost-1.0", "declared_license": "BSL-1.0", "notice_text": null, - "contains_source_code": null, "source_packages": [], - "extra_data": {}, - "purl": "pkg:rpm/boost-license1_71_0@1.71.0?arch=noarch", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null, - "installed_files": [ + "file_references": [ { "path": "/usr/share/licenses/boost-license1_71_0", "size": 0, "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/licenses/boost-license1_71_0/LICENSE_1_0.txt", "size": 0, "sha1": null, - "md5": "c9bff75738922193e67fa726fa225535870d2aa1059f91452c411736284ad566", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "c9bff75738922193e67fa726fa225535870d2aa1059f91452c411736284ad566", + "sha512": null, + "extra_data": {} } - ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "rpm_installed_database_sqlite", + "purl": "pkg:rpm/boost-license1_71_0@1.71.0?arch=noarch" }, { "type": "rpm", @@ -81,38 +84,42 @@ "license_expression": "lgpl-2.1", "declared_license": "LGPL-2.1", "notice_text": null, - "contains_source_code": null, "source_packages": [], - "extra_data": {}, - "purl": "pkg:rpm/cracklib-dict-small@2.9.6?arch=x86_64", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null, - "installed_files": [ + "file_references": [ { "path": "/pw_dict.hwm", "size": 0, "sha1": null, - "md5": "6787c3ee0d1f03e47a6cfc6d639fb89575ef5e28bbb0c8b2ccdc2876b0713669", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "6787c3ee0d1f03e47a6cfc6d639fb89575ef5e28bbb0c8b2ccdc2876b0713669", + "sha512": null, + "extra_data": {} }, { "path": "/pw_dict.pwd", "size": 0, "sha1": null, - "md5": "c5de5d3ab2fa1e8d1bec21ab2937dfff48e59493fc9af2d7835968516e1d1f68", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "c5de5d3ab2fa1e8d1bec21ab2937dfff48e59493fc9af2d7835968516e1d1f68", + "sha512": null, + "extra_data": {} }, { "path": "/pw_dict.pwi", "size": 0, "sha1": null, - "md5": "7fabf3751149bae4104b400b916b674fac3749c138fec9e9a63cfe8bde6d6044", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "7fabf3751149bae4104b400b916b674fac3749c138fec9e9a63cfe8bde6d6044", + "sha512": null, + "extra_data": {} } - ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "rpm_installed_database_sqlite", + "purl": "pkg:rpm/cracklib-dict-small@2.9.6?arch=x86_64" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/rpm_installed/distro-xmlish/rhel-rpms.xmlish-expected.json b/tests/packagedcode/data/rpm_installed/distro-xmlish/rhel-rpms.xmlish-expected.json index 096573553b1..629522a0d87 100644 --- a/tests/packagedcode/data/rpm_installed/distro-xmlish/rhel-rpms.xmlish-expected.json +++ b/tests/packagedcode/data/rpm_installed/distro-xmlish/rhel-rpms.xmlish-expected.json @@ -27,77 +27,79 @@ "license_expression": "public-domain", "declared_license": "Public Domain", "notice_text": null, - "contains_source_code": null, "source_packages": [], - "extra_data": {}, - "purl": "pkg:rpm/setup@2.12.2?arch=noarch", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null, - "installed_files": [ + "file_references": [ { "path": "/etc/aliases", "size": 0, "sha1": null, - "md5": "918bb2cfd8ff417b9e78d220d37f34033258469545e49c19ef3ae4247d905dfb", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "918bb2cfd8ff417b9e78d220d37f34033258469545e49c19ef3ae4247d905dfb", + "sha512": null, + "extra_data": {} }, { "path": "/etc/bashrc", "size": 0, "sha1": null, - "md5": "36d3a2d655d6021795886a9a4949fbe224f07a1ffae098796c20ca81819d99a1", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "36d3a2d655d6021795886a9a4949fbe224f07a1ffae098796c20ca81819d99a1", + "sha512": null, + "extra_data": {} }, { "path": "/etc/csh.cshrc", "size": 0, "sha1": null, - "md5": "fed16cef3a870b34429f9e3df7b54b7ffe19ed496c1361a122028ccae66acbf9", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "fed16cef3a870b34429f9e3df7b54b7ffe19ed496c1361a122028ccae66acbf9", + "sha512": null, + "extra_data": {} }, { "path": "/etc/csh.login", "size": 0, "sha1": null, - "md5": "715653a95b3908b283ee0dcf36505a6564083b1efb452b5f870fb0650d9a9335", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "715653a95b3908b283ee0dcf36505a6564083b1efb452b5f870fb0650d9a9335", + "sha512": null, + "extra_data": {} }, { "path": "/etc/environment", "size": 0, "sha1": null, - "md5": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "sha512": null, + "extra_data": {} }, { "path": "/etc/ethertypes", "size": 0, "sha1": null, - "md5": "ed38f9d644befc87eb41a8649c310073240d9a8cd75b2f9c115b5d9d7e5d033c", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "ed38f9d644befc87eb41a8649c310073240d9a8cd75b2f9c115b5d9d7e5d033c", + "sha512": null, + "extra_data": {} }, { "path": "/etc/exports", "size": 0, "sha1": null, - "md5": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "sha512": null, + "extra_data": {} }, { "path": "/etc/filesystems", "size": 0, "sha1": null, - "md5": "ba1ed4fe76cd63c37dbd44a040921db7810c4b63f46ee6635779627a4a36a196", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "ba1ed4fe76cd63c37dbd44a040921db7810c4b63f46ee6635779627a4a36a196", + "sha512": null, + "extra_data": {} }, { "path": "/etc/fstab", @@ -105,103 +107,116 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/group", "size": 0, "sha1": null, - "md5": "5be46faf83078411c18ce0f3cb5e5fc5b56b8cb214a7f5a65dbbef6cb8249e16", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "5be46faf83078411c18ce0f3cb5e5fc5b56b8cb214a7f5a65dbbef6cb8249e16", + "sha512": null, + "extra_data": {} }, { "path": "/etc/gshadow", "size": 0, "sha1": null, - "md5": "50b56bf2e0d5dd28900aa04478a9d4cc2ca1ea3452a76a71c71b5ade7f2221cd", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "50b56bf2e0d5dd28900aa04478a9d4cc2ca1ea3452a76a71c71b5ade7f2221cd", + "sha512": null, + "extra_data": {} }, { "path": "/etc/host.conf", "size": 0, "sha1": null, - "md5": "380f5fe21d755923b44203b58ca3c8b9681c485d152bd5d7e3914f67d821d32a", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "380f5fe21d755923b44203b58ca3c8b9681c485d152bd5d7e3914f67d821d32a", + "sha512": null, + "extra_data": {} }, { "path": "/etc/hosts", "size": 0, "sha1": null, - "md5": "498f494232085ec83303a2bc6f04bea840c2b210fbbeda31a46a6e5674d4fc0e", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "498f494232085ec83303a2bc6f04bea840c2b210fbbeda31a46a6e5674d4fc0e", + "sha512": null, + "extra_data": {} }, { "path": "/etc/hosts.allow", "size": 0, "sha1": null, - "md5": "c9e9862bac9c369db2c15df33b60e7154040a8ae2931250fbd8fe931653b3e25", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "c9e9862bac9c369db2c15df33b60e7154040a8ae2931250fbd8fe931653b3e25", + "sha512": null, + "extra_data": {} }, { "path": "/etc/hosts.deny", "size": 0, "sha1": null, - "md5": "8d2e1a14032131585dbc55ca1a63e756e366d723b82d8be8b0a82b2b915361c0", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "8d2e1a14032131585dbc55ca1a63e756e366d723b82d8be8b0a82b2b915361c0", + "sha512": null, + "extra_data": {} }, { "path": "/etc/inputrc", "size": 0, "sha1": null, - "md5": "3df12b75483c9019090f18bdf46c47399959eddc2b721cf9b563f4010a89a830", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "3df12b75483c9019090f18bdf46c47399959eddc2b721cf9b563f4010a89a830", + "sha512": null, + "extra_data": {} }, { "path": "/etc/motd", "size": 0, "sha1": null, - "md5": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "sha512": null, + "extra_data": {} }, { "path": "/etc/networks", "size": 0, "sha1": null, - "md5": "ae89ab2e35076a070ae7cf5b0edf600c3ea6999e15db9b543ef35dfc76d37cb1", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "ae89ab2e35076a070ae7cf5b0edf600c3ea6999e15db9b543ef35dfc76d37cb1", + "sha512": null, + "extra_data": {} }, { "path": "/etc/passwd", "size": 0, "sha1": null, - "md5": "d137fa8bf6ca9020c35a5bf992f32d4c803497e856e0254618f5abcb2f2425c6", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "d137fa8bf6ca9020c35a5bf992f32d4c803497e856e0254618f5abcb2f2425c6", + "sha512": null, + "extra_data": {} }, { "path": "/etc/printcap", "size": 0, "sha1": null, - "md5": "f809352567a37d932b014311cf626774b97b63ec06d4f7bdd8a9cfcc34c691d9", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "f809352567a37d932b014311cf626774b97b63ec06d4f7bdd8a9cfcc34c691d9", + "sha512": null, + "extra_data": {} }, { "path": "/etc/profile", "size": 0, "sha1": null, - "md5": "3c859bf49a804061290f8751c4bd14e18a94e1baa3c58dd028a31becccf6f4af", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "3c859bf49a804061290f8751c4bd14e18a94e1baa3c58dd028a31becccf6f4af", + "sha512": null, + "extra_data": {} }, { "path": "/etc/profile.d", @@ -209,87 +224,98 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/profile.d/csh.local", "size": 0, "sha1": null, - "md5": "07a2a80f1386c89941b3da4cda68790afe19f7425a14e01acdc2fbddb73b5508", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "07a2a80f1386c89941b3da4cda68790afe19f7425a14e01acdc2fbddb73b5508", + "sha512": null, + "extra_data": {} }, { "path": "/etc/profile.d/lang.csh", "size": 0, "sha1": null, - "md5": "dee089f44e6deeda77ce016e480b137ba6b27aac2ff864769367c23dae186060", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "dee089f44e6deeda77ce016e480b137ba6b27aac2ff864769367c23dae186060", + "sha512": null, + "extra_data": {} }, { "path": "/etc/profile.d/lang.sh", "size": 0, "sha1": null, - "md5": "0a976e5199cd34a2f07623c50411050e3ce53a6c85b9f0eb88f943562dfe7006", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "0a976e5199cd34a2f07623c50411050e3ce53a6c85b9f0eb88f943562dfe7006", + "sha512": null, + "extra_data": {} }, { "path": "/etc/profile.d/sh.local", "size": 0, "sha1": null, - "md5": "3c5de252d65ae8c40e54c21be09dc574ca3641d036d7b44174939a7e64863920", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "3c5de252d65ae8c40e54c21be09dc574ca3641d036d7b44174939a7e64863920", + "sha512": null, + "extra_data": {} }, { "path": "/etc/protocols", "size": 0, "sha1": null, - "md5": "d0e614d3ac7c6d9f6fe7b6c8ac678f26cca185de66f5dd34b56e634b2398a8cd", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "d0e614d3ac7c6d9f6fe7b6c8ac678f26cca185de66f5dd34b56e634b2398a8cd", + "sha512": null, + "extra_data": {} }, { "path": "/etc/services", "size": 0, "sha1": null, - "md5": "400ccb27921dbd33a194a93cc49f6efe60aba2aafddfce8d8f6c0e0fea918081", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "400ccb27921dbd33a194a93cc49f6efe60aba2aafddfce8d8f6c0e0fea918081", + "sha512": null, + "extra_data": {} }, { "path": "/etc/shadow", "size": 0, "sha1": null, - "md5": "e76854ddd785355ba1e81317aea50a26e8223b3a17c10f8d417c44c64031d72f", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "e76854ddd785355ba1e81317aea50a26e8223b3a17c10f8d417c44c64031d72f", + "sha512": null, + "extra_data": {} }, { "path": "/etc/shells", "size": 0, "sha1": null, - "md5": "4ec4e8c524a4f10ca5898ccfaa6d29e7e08aff3a681f6bafbb62e7bec91aa154", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "4ec4e8c524a4f10ca5898ccfaa6d29e7e08aff3a681f6bafbb62e7bec91aa154", + "sha512": null, + "extra_data": {} }, { "path": "/etc/subgid", "size": 0, "sha1": null, - "md5": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "sha512": null, + "extra_data": {} }, { "path": "/etc/subuid", "size": 0, "sha1": null, - "md5": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/doc/setup", @@ -297,15 +323,17 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/doc/setup/uidgid", "size": 0, "sha1": null, - "md5": "dadbb7d0241ecabfe45c3559b5689eede341fd509a8ce46e41e15f7428c8e975", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "dadbb7d0241ecabfe45c3559b5689eede341fd509a8ce46e41e15f7428c8e975", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/licenses/setup", @@ -313,15 +341,17 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/licenses/setup/COPYING", "size": 0, "sha1": null, - "md5": "628095e1ef656bbe9034cf5bfa3c220880a16cd0ceea25b17cd2198ea3503e03", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "628095e1ef656bbe9034cf5bfa3c220880a16cd0ceea25b17cd2198ea3503e03", + "sha512": null, + "extra_data": {} }, { "path": "/var/log/lastlog", @@ -329,9 +359,17 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} } - ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "rpm_installed_database_sqlite", + "purl": "pkg:rpm/setup@2.12.2?arch=noarch" }, { "type": "rpm", @@ -349,7 +387,7 @@ "keywords": [], "homepage_url": null, "download_url": null, - "size": 0, + "size": null, "sha1": "940517ba58cfdc477cab59936e03dea1c226e266", "md5": null, "sha256": null, @@ -361,14 +399,15 @@ "license_expression": "public-domain", "declared_license": "Public Domain", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, - "purl": "pkg:rpm/basesystem@11?arch=noarch", + "dependencies": [], "repository_homepage_url": null, "repository_download_url": null, "api_data_url": null, - "installed_files": [] + "datasource_id": "rpm_installed_database_sqlite", + "purl": "pkg:rpm/basesystem@11?arch=noarch" }, { "type": "rpm", @@ -398,21 +437,16 @@ "license_expression": "mit", "declared_license": "MIT", "notice_text": null, - "contains_source_code": null, "source_packages": [], - "extra_data": {}, - "purl": "pkg:rpm/ncurses-base@6.1?arch=noarch", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null, - "installed_files": [ + "file_references": [ { "path": "/etc/terminfo", "size": 0, "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/doc/ncurses-base", @@ -420,15 +454,17 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/doc/ncurses-base/README", "size": 0, "sha1": null, - "md5": "3c7bc1dd475a5e5dcc7bdf13268a0313ff69e3765689444eb95b5893f61b3d1e", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "3c7bc1dd475a5e5dcc7bdf13268a0313ff69e3765689444eb95b5893f61b3d1e", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/licenses/ncurses-base", @@ -436,15 +472,17 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/licenses/ncurses-base/COPYING", "size": 0, "sha1": null, - "md5": "86106f0da1cf5ccfa0f0651665dd1b4515e8edad1c7972780155770548b317d9", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "86106f0da1cf5ccfa0f0651665dd1b4515e8edad1c7972780155770548b317d9", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/tabset", @@ -452,39 +490,44 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/tabset/std", "size": 0, "sha1": null, - "md5": "fbadb5f608b355fe481c0c7d9c6265b2372bfa35250662f81f68d46540080770", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "fbadb5f608b355fe481c0c7d9c6265b2372bfa35250662f81f68d46540080770", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/tabset/stdcrt", "size": 0, "sha1": null, - "md5": "cf6c37b18ceea7c306f7e3a5e604a03b0dfb9c22ec99163e4b52f885ce063145", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "cf6c37b18ceea7c306f7e3a5e604a03b0dfb9c22ec99163e4b52f885ce063145", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/tabset/vt100", "size": 0, "sha1": null, - "md5": "075251754239d9973945d82b95c18cd90997acd2017393e70c8832e9297de056", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "075251754239d9973945d82b95c18cd90997acd2017393e70c8832e9297de056", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/tabset/vt300", "size": 0, "sha1": null, - "md5": "61f8388cad6a381feb819bc6a8d299d06a853d15e1f4bfdfd6b6f40069ad4956", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "61f8388cad6a381feb819bc6a8d299d06a853d15e1f4bfdfd6b6f40069ad4956", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo", @@ -492,7 +535,8 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/A", @@ -500,15 +544,17 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/A/Apple_Terminal", "size": 0, "sha1": null, - "md5": "6bf12fa8e2596f3c60d54d74f8dcf8f1630baa174654136899b819d908bdbad8", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "6bf12fa8e2596f3c60d54d74f8dcf8f1630baa174654136899b819d908bdbad8", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/E", @@ -516,39 +562,44 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/E/Eterm", "size": 0, "sha1": null, - "md5": "ec895a5f98e5f7f9b6be082689f7d81bc627c71dc826e30ac4f4276d9fd0df47", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "ec895a5f98e5f7f9b6be082689f7d81bc627c71dc826e30ac4f4276d9fd0df47", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/E/Eterm-256color", "size": 0, "sha1": null, - "md5": "c5d5b1a94ae7f5dd893f8e7b3aea83e791fbfe0f5032f03ad7da2eceb48c3529", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "c5d5b1a94ae7f5dd893f8e7b3aea83e791fbfe0f5032f03ad7da2eceb48c3529", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/E/Eterm-88color", "size": 0, "sha1": null, - "md5": "7f5508b34629f9757d8b8f72e19c1f2307c2d3e3c258f08a1ee0dd63d55a856c", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "7f5508b34629f9757d8b8f72e19c1f2307c2d3e3c258f08a1ee0dd63d55a856c", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/E/Eterm-color", "size": 0, "sha1": null, - "md5": "ec895a5f98e5f7f9b6be082689f7d81bc627c71dc826e30ac4f4276d9fd0df47", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "ec895a5f98e5f7f9b6be082689f7d81bc627c71dc826e30ac4f4276d9fd0df47", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/a", @@ -556,39 +607,44 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/a/ansi", "size": 0, "sha1": null, - "md5": "93ec8cb9beb0c898ebc7dda0f670de31addb605be9005735228680d592cff657", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "93ec8cb9beb0c898ebc7dda0f670de31addb605be9005735228680d592cff657", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/a/ansi80x25", "size": 0, "sha1": null, - "md5": "acd69b88fbc9045037b562dd67c876e88cc5d2616af20b9ca6c41d33ee335606", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "acd69b88fbc9045037b562dd67c876e88cc5d2616af20b9ca6c41d33ee335606", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/a/ansis", "size": 0, "sha1": null, - "md5": "acd69b88fbc9045037b562dd67c876e88cc5d2616af20b9ca6c41d33ee335606", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "acd69b88fbc9045037b562dd67c876e88cc5d2616af20b9ca6c41d33ee335606", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/a/aterm", "size": 0, "sha1": null, - "md5": "ba3149ceecc4682a8b9b62171939b869c2e8e0601942a642922f4b64cc0b5411", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "ba3149ceecc4682a8b9b62171939b869c2e8e0601942a642922f4b64cc0b5411", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/b", @@ -596,15 +652,17 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/b/bterm", "size": 0, "sha1": null, - "md5": "b5166019760429c4d6150180f1c2dd81136488e21c36b564e605c9dc7366f1db", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "b5166019760429c4d6150180f1c2dd81136488e21c36b564e605c9dc7366f1db", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/c", @@ -612,23 +670,26 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/c/cons25", "size": 0, "sha1": null, - "md5": "acd69b88fbc9045037b562dd67c876e88cc5d2616af20b9ca6c41d33ee335606", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "acd69b88fbc9045037b562dd67c876e88cc5d2616af20b9ca6c41d33ee335606", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/c/cygwin", "size": 0, "sha1": null, - "md5": "3e04bfdcc0764f4e28655701864845752cd3f77d0c52390637ebe588f91665cf", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "3e04bfdcc0764f4e28655701864845752cd3f77d0c52390637ebe588f91665cf", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/d", @@ -636,15 +697,17 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/d/dumb", "size": 0, "sha1": null, - "md5": "123c85a2812a517d967db5f31660db0e6aded4a0b95ed943c5ab435368e7a25c", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "123c85a2812a517d967db5f31660db0e6aded4a0b95ed943c5ab435368e7a25c", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/e", @@ -652,23 +715,26 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/e/eterm", "size": 0, "sha1": null, - "md5": "c79a54efd731abe696b0373d814c9a67839eb74229cb0f63ec436b43871b8a2a", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "c79a54efd731abe696b0373d814c9a67839eb74229cb0f63ec436b43871b8a2a", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/e/eterm-color", "size": 0, "sha1": null, - "md5": "718af703c538849e5b13ca124dc0416a60e05f1eed5208f6d72836c51c108f31", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "718af703c538849e5b13ca124dc0416a60e05f1eed5208f6d72836c51c108f31", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/g", @@ -676,23 +742,26 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/g/gnome", "size": 0, "sha1": null, - "md5": "e6d9c90d328d11542f2f28c05a33977fb822a5d72b51456d8b7e4091f37676c0", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "e6d9c90d328d11542f2f28c05a33977fb822a5d72b51456d8b7e4091f37676c0", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/g/gnome-256color", "size": 0, "sha1": null, - "md5": "8e7026ff5f02e68ea5bf7377a659215a21fbb70ebe3dc2908b4946938746db0c", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "8e7026ff5f02e68ea5bf7377a659215a21fbb70ebe3dc2908b4946938746db0c", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/h", @@ -700,15 +769,17 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/h/hurd", "size": 0, "sha1": null, - "md5": "ea3517cda1607f3c65f58a746c524bced0a32aa3840e5751cdde267f15c07748", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "ea3517cda1607f3c65f58a746c524bced0a32aa3840e5751cdde267f15c07748", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/j", @@ -716,15 +787,17 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/j/jfbterm", "size": 0, "sha1": null, - "md5": "c238f6378992e34dc9eef03f52b6efeb6b6d37a5042d4f1a5a1334b40e367735", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "c238f6378992e34dc9eef03f52b6efeb6b6d37a5042d4f1a5a1334b40e367735", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/k", @@ -732,39 +805,44 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/k/kon", "size": 0, "sha1": null, - "md5": "c238f6378992e34dc9eef03f52b6efeb6b6d37a5042d4f1a5a1334b40e367735", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "c238f6378992e34dc9eef03f52b6efeb6b6d37a5042d4f1a5a1334b40e367735", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/k/kon2", "size": 0, "sha1": null, - "md5": "c238f6378992e34dc9eef03f52b6efeb6b6d37a5042d4f1a5a1334b40e367735", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "c238f6378992e34dc9eef03f52b6efeb6b6d37a5042d4f1a5a1334b40e367735", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/k/konsole", "size": 0, "sha1": null, - "md5": "d54737abe9927dd7447b70d33a15a895339e796296fb6eabb53a5cdf95e28511", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "d54737abe9927dd7447b70d33a15a895339e796296fb6eabb53a5cdf95e28511", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/k/konsole-256color", "size": 0, "sha1": null, - "md5": "8fb0d289deddb27a2f6e253527798d38a2e952fa4e293188e268aeffd6d271f7", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "8fb0d289deddb27a2f6e253527798d38a2e952fa4e293188e268aeffd6d271f7", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/l", @@ -772,15 +850,17 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/l/linux", "size": 0, "sha1": null, - "md5": "4beebb2d5615856487c4a46d826c70c27b590ffc849744c1a06056ba2ba757a7", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "4beebb2d5615856487c4a46d826c70c27b590ffc849744c1a06056ba2ba757a7", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/m", @@ -788,63 +868,71 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/m/mach", "size": 0, "sha1": null, - "md5": "ecd31c58040e5908eb434514e67620b2e4be538655126f427155760b273c7e9b", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "ecd31c58040e5908eb434514e67620b2e4be538655126f427155760b273c7e9b", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/m/mach-bold", "size": 0, "sha1": null, - "md5": "4e4400e3ad4df2dbbf90920860c540cd72552ca71a24b556a0b6ba62fa091b84", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "4e4400e3ad4df2dbbf90920860c540cd72552ca71a24b556a0b6ba62fa091b84", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/m/mach-color", "size": 0, "sha1": null, - "md5": "5caa825bd606e26c8b6c55a3206eccfea525e788f74da5e7cb48cc713db52239", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "5caa825bd606e26c8b6c55a3206eccfea525e788f74da5e7cb48cc713db52239", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/m/mach-gnu", "size": 0, "sha1": null, - "md5": "99372cd399478be723230692595362004df345dee6c4145e4d109113a2357717", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "99372cd399478be723230692595362004df345dee6c4145e4d109113a2357717", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/m/mach-gnu-color", "size": 0, "sha1": null, - "md5": "e1c62541670d0e10fe46daabce8ce95d9fd77115a68106e5eb2c2a7647e40a13", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "e1c62541670d0e10fe46daabce8ce95d9fd77115a68106e5eb2c2a7647e40a13", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/m/mlterm", "size": 0, "sha1": null, - "md5": "84a72b515c64b2594914b7b90b082300467b3c815f4223b2dcaef789e4e46ed2", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "84a72b515c64b2594914b7b90b082300467b3c815f4223b2dcaef789e4e46ed2", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/m/mrxvt", "size": 0, "sha1": null, - "md5": "d9ccb1774f5631d96af45db221fc6efb370d8ddc49baecd7bb217bab20573a32", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "d9ccb1774f5631d96af45db221fc6efb370d8ddc49baecd7bb217bab20573a32", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/n", @@ -852,23 +940,26 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/n/nsterm", "size": 0, "sha1": null, - "md5": "6bf12fa8e2596f3c60d54d74f8dcf8f1630baa174654136899b819d908bdbad8", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "6bf12fa8e2596f3c60d54d74f8dcf8f1630baa174654136899b819d908bdbad8", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/n/nxterm", "size": 0, "sha1": null, - "md5": "f74fe619914bfe650f6071bbbaf242c439de8a2f0ecefe9e80870216dfb844b4", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "f74fe619914bfe650f6071bbbaf242c439de8a2f0ecefe9e80870216dfb844b4", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/p", @@ -876,31 +967,35 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/p/pcansi", "size": 0, "sha1": null, - "md5": "ecda9662049c96ee0a574f40cfb8950b0198b508b5b72a3de05774eb3cb3f34e", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "ecda9662049c96ee0a574f40cfb8950b0198b508b5b72a3de05774eb3cb3f34e", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/p/putty", "size": 0, "sha1": null, - "md5": "9ae6e78233c431b1420f2decb2366bbd7aeca8a2114fe8fc8039cb5a0ab0d866", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "9ae6e78233c431b1420f2decb2366bbd7aeca8a2114fe8fc8039cb5a0ab0d866", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/p/putty-256color", "size": 0, "sha1": null, - "md5": "c4cac29cfa971a3ec4fabc789acb49d6abe64de8ba5c27e756d6d63c1dc84bf4", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "c4cac29cfa971a3ec4fabc789acb49d6abe64de8ba5c27e756d6d63c1dc84bf4", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/r", @@ -908,87 +1003,98 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/r/rxvt", "size": 0, "sha1": null, - "md5": "f33c1aa275fe5817678b61898573754d6b855607c291afe2f6795441097a6a3f", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "f33c1aa275fe5817678b61898573754d6b855607c291afe2f6795441097a6a3f", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/r/rxvt-16color", "size": 0, "sha1": null, - "md5": "ab1a4668a6ffd1b4b01d4ef3a38e2f3cace3d40c1f1b60bdb7e1c2287d20c596", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "ab1a4668a6ffd1b4b01d4ef3a38e2f3cace3d40c1f1b60bdb7e1c2287d20c596", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/r/rxvt-256color", "size": 0, "sha1": null, - "md5": "bca06510856fe184904c21410b0c63c16972de9bdeb99c3e3c9299191878230e", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "bca06510856fe184904c21410b0c63c16972de9bdeb99c3e3c9299191878230e", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/r/rxvt-88color", "size": 0, "sha1": null, - "md5": "091b08cab321b22dcee7aa80362e541122164716b9830874950b6b8c8ba6a7c4", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "091b08cab321b22dcee7aa80362e541122164716b9830874950b6b8c8ba6a7c4", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/r/rxvt-basic", "size": 0, "sha1": null, - "md5": "f62895c1844a812f25561b9d02cdf125ade487bf92a60bcc00e2c66cfc08b794", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "f62895c1844a812f25561b9d02cdf125ade487bf92a60bcc00e2c66cfc08b794", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/r/rxvt-color", "size": 0, "sha1": null, - "md5": "2a4642610d94fb16e2d0ba2d04b72e395814bc25744b5f269ff3f28893e64df0", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "2a4642610d94fb16e2d0ba2d04b72e395814bc25744b5f269ff3f28893e64df0", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/r/rxvt-cygwin", "size": 0, "sha1": null, - "md5": "7a6f37c37d18a8dcddaf2d1ff64d42423ae6177272d8e64e201e216c240c449c", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "7a6f37c37d18a8dcddaf2d1ff64d42423ae6177272d8e64e201e216c240c449c", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/r/rxvt-cygwin-native", "size": 0, "sha1": null, - "md5": "0660c542f166cae23a7218f75123180e6ad8d5acbd342068314c91964cd4390e", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "0660c542f166cae23a7218f75123180e6ad8d5acbd342068314c91964cd4390e", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/r/rxvt-unicode", "size": 0, "sha1": null, - "md5": "063264a85fd735a13028390c8d43cf38b5214417c6e48908eabb85bcdb9b7495", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "063264a85fd735a13028390c8d43cf38b5214417c6e48908eabb85bcdb9b7495", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/r/rxvt-xpm", "size": 0, "sha1": null, - "md5": "e0d7ec933ce140fb9548664083bbab6604593b6fa1ba1dd6eb0a91dd795c9396", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "e0d7ec933ce140fb9548664083bbab6604593b6fa1ba1dd6eb0a91dd795c9396", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/s", @@ -996,247 +1102,278 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/s/screen", "size": 0, "sha1": null, - "md5": "60df1fc3f6346efdd64e6971b36e98bc35e2a175c0d4420e7fd22c5d0853c112", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "60df1fc3f6346efdd64e6971b36e98bc35e2a175c0d4420e7fd22c5d0853c112", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/s/screen-16color", "size": 0, "sha1": null, - "md5": "953590d73e211177f772e560bc41484de24a72459a741b3581db3c742e4d71f1", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "953590d73e211177f772e560bc41484de24a72459a741b3581db3c742e4d71f1", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/s/screen-256color", "size": 0, "sha1": null, - "md5": "868cdd7aeeb7201aa33883296d596d149f55002625a671876da65ce2f6a3b290", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "868cdd7aeeb7201aa33883296d596d149f55002625a671876da65ce2f6a3b290", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/s/screen.Eterm", "size": 0, "sha1": null, - "md5": "0b940c1dbb17acdf27e5acb65f99e680da847619eb902e0a225b14b120971ed1", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "0b940c1dbb17acdf27e5acb65f99e680da847619eb902e0a225b14b120971ed1", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/s/screen.gnome", "size": 0, "sha1": null, - "md5": "4f7a5ad8721bd29977845ecc018cccd81ea6916842977509e1dfb370cd468c41", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "4f7a5ad8721bd29977845ecc018cccd81ea6916842977509e1dfb370cd468c41", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/s/screen.konsole", "size": 0, "sha1": null, - "md5": "7294a74cee3704e30d342c4208a863df0cf7efe83f0141ba1c5fd3768760155a", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "7294a74cee3704e30d342c4208a863df0cf7efe83f0141ba1c5fd3768760155a", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/s/screen.konsole-256color", "size": 0, "sha1": null, - "md5": "a5ac0409c4cd8c518f267a5a48bcdc82f3b7f137dc97f448837a63153d330236", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "a5ac0409c4cd8c518f267a5a48bcdc82f3b7f137dc97f448837a63153d330236", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/s/screen.linux", "size": 0, "sha1": null, - "md5": "0da28a0c084ef373054cf43aa4d4899636ff40b812bb8d66e325f2d0c30ceef5", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "0da28a0c084ef373054cf43aa4d4899636ff40b812bb8d66e325f2d0c30ceef5", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/s/screen.mlterm", "size": 0, "sha1": null, - "md5": "b5c44865b01a0ef5375430bff581ced25e0c39bd8babbbafbbe16fa6ae396c89", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "b5c44865b01a0ef5375430bff581ced25e0c39bd8babbbafbbe16fa6ae396c89", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/s/screen.mlterm-256color", "size": 0, "sha1": null, - "md5": "4d948d3366566dd82ddbf1db563f22e987c44b6add1536723b97691a39b57e27", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "4d948d3366566dd82ddbf1db563f22e987c44b6add1536723b97691a39b57e27", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/s/screen.mrxvt", "size": 0, "sha1": null, - "md5": "1055b1ae17f86dc7e658fb34613d8f9a4e845e49365c35d3a6053f8951c0d9b1", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "1055b1ae17f86dc7e658fb34613d8f9a4e845e49365c35d3a6053f8951c0d9b1", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/s/screen.putty", "size": 0, "sha1": null, - "md5": "d1d4e5abe3e72dcb4239a18763dd5e55b98c95b4fe2a21c0edee963e3297184b", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "d1d4e5abe3e72dcb4239a18763dd5e55b98c95b4fe2a21c0edee963e3297184b", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/s/screen.putty-256color", "size": 0, "sha1": null, - "md5": "32ea43f836ec63b2bd11f86d7a42f3ce858beba03f1b28eb6581618dadb52f79", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "32ea43f836ec63b2bd11f86d7a42f3ce858beba03f1b28eb6581618dadb52f79", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/s/screen.rxvt", "size": 0, "sha1": null, - "md5": "56c9d69c6d47692e303fe4d96181076162910cf74cefe89437ead6f26c408c3d", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "56c9d69c6d47692e303fe4d96181076162910cf74cefe89437ead6f26c408c3d", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/s/screen.teraterm", "size": 0, "sha1": null, - "md5": "725d4c2a9c80bed343cb48aadc13aabc855b5aa1a573c9a54bae2dc529a9c5e2", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "725d4c2a9c80bed343cb48aadc13aabc855b5aa1a573c9a54bae2dc529a9c5e2", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/s/screen.vte", "size": 0, "sha1": null, - "md5": "0e339b3d65c23a066ac9d8d7d3afaf266feb11dab2d042406a3ec45873eebba2", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "0e339b3d65c23a066ac9d8d7d3afaf266feb11dab2d042406a3ec45873eebba2", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/s/screen.vte-256color", "size": 0, "sha1": null, - "md5": "e69bfa913b17f9fff3ead0289fbed657a21c21e4de4a4d9eb8edaf70754db8ed", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "e69bfa913b17f9fff3ead0289fbed657a21c21e4de4a4d9eb8edaf70754db8ed", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/s/screen.xterm-256color", "size": 0, "sha1": null, - "md5": "63e5331cd64a5211a4ed476452a2654d77825c2449d989cf2e6e8a7889fc8aa8", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "63e5331cd64a5211a4ed476452a2654d77825c2449d989cf2e6e8a7889fc8aa8", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/s/screen.xterm-new", "size": 0, "sha1": null, - "md5": "0215182a3f8a0ec27209799f21befa88a3f588fdb5663edcd9148e065ceb7ae3", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "0215182a3f8a0ec27209799f21befa88a3f588fdb5663edcd9148e065ceb7ae3", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/s/screen.xterm-r6", "size": 0, "sha1": null, - "md5": "ecd3c79d5dc9301f0472af6a58ff9319275091556bbcaaa7d4b79833ac2f9dd1", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "ecd3c79d5dc9301f0472af6a58ff9319275091556bbcaaa7d4b79833ac2f9dd1", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/s/screen.xterm-xfree86", "size": 0, "sha1": null, - "md5": "0215182a3f8a0ec27209799f21befa88a3f588fdb5663edcd9148e065ceb7ae3", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "0215182a3f8a0ec27209799f21befa88a3f588fdb5663edcd9148e065ceb7ae3", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/s/st", "size": 0, "sha1": null, - "md5": "6c9514d660232ea443e619ab3ab6dfb9fea10b19bdd168a3da112db01001136c", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "6c9514d660232ea443e619ab3ab6dfb9fea10b19bdd168a3da112db01001136c", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/s/st-16color", "size": 0, "sha1": null, - "md5": "f029dc0aa4a8e755ae1673dd1cb11ae4af30789c0d27f5015fe7d008b22d8159", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "f029dc0aa4a8e755ae1673dd1cb11ae4af30789c0d27f5015fe7d008b22d8159", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/s/st-256color", "size": 0, "sha1": null, - "md5": "7ae4cbb8a2784c2e95cd166b635878dfb4e53471afa32723d4186cb5343702c1", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "7ae4cbb8a2784c2e95cd166b635878dfb4e53471afa32723d4186cb5343702c1", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/s/stterm", "size": 0, "sha1": null, - "md5": "6c9514d660232ea443e619ab3ab6dfb9fea10b19bdd168a3da112db01001136c", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "6c9514d660232ea443e619ab3ab6dfb9fea10b19bdd168a3da112db01001136c", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/s/stterm-16color", "size": 0, "sha1": null, - "md5": "f029dc0aa4a8e755ae1673dd1cb11ae4af30789c0d27f5015fe7d008b22d8159", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "f029dc0aa4a8e755ae1673dd1cb11ae4af30789c0d27f5015fe7d008b22d8159", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/s/stterm-256color", "size": 0, "sha1": null, - "md5": "7ae4cbb8a2784c2e95cd166b635878dfb4e53471afa32723d4186cb5343702c1", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "7ae4cbb8a2784c2e95cd166b635878dfb4e53471afa32723d4186cb5343702c1", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/s/sun", "size": 0, "sha1": null, - "md5": "02e392161cb23f49a8fb1ba2f1a6583e013c0c26672f58c5eaca828db3b19914", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "02e392161cb23f49a8fb1ba2f1a6583e013c0c26672f58c5eaca828db3b19914", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/s/sun1", "size": 0, "sha1": null, - "md5": "02e392161cb23f49a8fb1ba2f1a6583e013c0c26672f58c5eaca828db3b19914", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "02e392161cb23f49a8fb1ba2f1a6583e013c0c26672f58c5eaca828db3b19914", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/s/sun2", "size": 0, "sha1": null, - "md5": "02e392161cb23f49a8fb1ba2f1a6583e013c0c26672f58c5eaca828db3b19914", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "02e392161cb23f49a8fb1ba2f1a6583e013c0c26672f58c5eaca828db3b19914", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/t", @@ -1244,39 +1381,44 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/t/teraterm", "size": 0, "sha1": null, - "md5": "75be3c4134fb55cb4b90e82eb97a7cc1cf346015a1afd723f48171862250e748", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "75be3c4134fb55cb4b90e82eb97a7cc1cf346015a1afd723f48171862250e748", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/t/teraterm2.3", "size": 0, "sha1": null, - "md5": "6598b360cd87b5c3e3f99a5b0b4d462c59e754bad79968febc84c77b7acc3bdc", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "6598b360cd87b5c3e3f99a5b0b4d462c59e754bad79968febc84c77b7acc3bdc", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/t/tmux", "size": 0, "sha1": null, - "md5": "fe430822d0555eaadfd3748d7a56e78d60b42cd51a0cc492b8b918d55212ed12", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "fe430822d0555eaadfd3748d7a56e78d60b42cd51a0cc492b8b918d55212ed12", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/t/tmux-256color", "size": 0, "sha1": null, - "md5": "3e23bb2e0eda229c32ffe3b9ea54c11919a01d539ca4d94650349c3da2e2ac48", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "3e23bb2e0eda229c32ffe3b9ea54c11919a01d539ca4d94650349c3da2e2ac48", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/v", @@ -1284,95 +1426,107 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/v/vs100", "size": 0, "sha1": null, - "md5": "2b1249158a7053eee58242625f79b29f35da721cbcf695a327521cfed3bec117", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "2b1249158a7053eee58242625f79b29f35da721cbcf695a327521cfed3bec117", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/v/vt100", "size": 0, "sha1": null, - "md5": "44fe1bfcc36f3a7669a387b623a44c360f9e150868f9924920182b44bcbbdba6", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "44fe1bfcc36f3a7669a387b623a44c360f9e150868f9924920182b44bcbbdba6", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/v/vt100-am", "size": 0, "sha1": null, - "md5": "44fe1bfcc36f3a7669a387b623a44c360f9e150868f9924920182b44bcbbdba6", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "44fe1bfcc36f3a7669a387b623a44c360f9e150868f9924920182b44bcbbdba6", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/v/vt100-nav", "size": 0, "sha1": null, - "md5": "e509a4ee7373ff884ef9b5b293fdffa88182711d6b0448fe99d2cbeb1939114a", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "e509a4ee7373ff884ef9b5b293fdffa88182711d6b0448fe99d2cbeb1939114a", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/v/vt102", "size": 0, "sha1": null, - "md5": "60e451f57c0308b79004ebc6189b49417b4ac11d783154072cae803a11af7d3f", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "60e451f57c0308b79004ebc6189b49417b4ac11d783154072cae803a11af7d3f", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/v/vt200", "size": 0, "sha1": null, - "md5": "75a4723bfcdcd22756366838f1d65233f386d7592b019740c8ca5b578e9a5857", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "75a4723bfcdcd22756366838f1d65233f386d7592b019740c8ca5b578e9a5857", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/v/vt220", "size": 0, "sha1": null, - "md5": "75a4723bfcdcd22756366838f1d65233f386d7592b019740c8ca5b578e9a5857", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "75a4723bfcdcd22756366838f1d65233f386d7592b019740c8ca5b578e9a5857", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/v/vt52", "size": 0, "sha1": null, - "md5": "1d8e7d40be89fe71e5d2582caa5168fe53ed85d9063e0ccf42e5c53f4d17b069", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "1d8e7d40be89fe71e5d2582caa5168fe53ed85d9063e0ccf42e5c53f4d17b069", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/v/vte", "size": 0, "sha1": null, - "md5": "8cb5a672dedd365d4831f11fbafedf0f803e70e7bb4dea69d9aa371027b6cd72", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "8cb5a672dedd365d4831f11fbafedf0f803e70e7bb4dea69d9aa371027b6cd72", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/v/vte-256color", "size": 0, "sha1": null, - "md5": "0462f44fd6f4e5ac720e9e315bad30d6236716dbf31bd083fb619444ce56e3aa", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "0462f44fd6f4e5ac720e9e315bad30d6236716dbf31bd083fb619444ce56e3aa", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/v/vwmterm", "size": 0, "sha1": null, - "md5": "eae3fe39004992478d09bdb5063c6609f8c6f5119053de8fca645002b993b535", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "eae3fe39004992478d09bdb5063c6609f8c6f5119053de8fca645002b993b535", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/w", @@ -1380,23 +1534,26 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/w/wsvt25", "size": 0, "sha1": null, - "md5": "28d3410e6b83a3b78a41f108098ac8772a3af3ee2b627b9f9bb4b19b363a5be3", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "28d3410e6b83a3b78a41f108098ac8772a3af3ee2b627b9f9bb4b19b363a5be3", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/w/wsvt25m", "size": 0, "sha1": null, - "md5": "18c85db3b0ef0ab15b7eb8dc4ac6ea14a37d851628220c8bb61e2edfa4f81683", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "18c85db3b0ef0ab15b7eb8dc4ac6ea14a37d851628220c8bb61e2edfa4f81683", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/x", @@ -1404,336 +1561,385 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/x/xfce", "size": 0, "sha1": null, - "md5": "3dd1f7ed31697af67aaeb0c5efc724298d1a92e76bbc406fa17f98c927533da3", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "3dd1f7ed31697af67aaeb0c5efc724298d1a92e76bbc406fa17f98c927533da3", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/x/xterm", "size": 0, "sha1": null, - "md5": "1e56cd2b185047fd1fda6eacf067d1d85191463f1da4b1bf2128e17fe609815f", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "1e56cd2b185047fd1fda6eacf067d1d85191463f1da4b1bf2128e17fe609815f", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/x/xterm-1002", "size": 0, "sha1": null, - "md5": "3f8873764e44acb8d47cb743ad4203584698f3dfc71cbbeb70da2dbff5d5c4be", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "3f8873764e44acb8d47cb743ad4203584698f3dfc71cbbeb70da2dbff5d5c4be", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/x/xterm-1003", "size": 0, "sha1": null, - "md5": "2ae6ccb1c3c7af51aa8a24924bb87974e90b6559dd0ed057c42ae7cffd2ff840", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "2ae6ccb1c3c7af51aa8a24924bb87974e90b6559dd0ed057c42ae7cffd2ff840", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/x/xterm-1005", "size": 0, "sha1": null, - "md5": "db3f585af9406e3f119d2708ebe8381c465b17e827d668825901e65335613543", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "db3f585af9406e3f119d2708ebe8381c465b17e827d668825901e65335613543", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/x/xterm-1006", "size": 0, "sha1": null, - "md5": "977ff286ea5a88afbd8998a74d04146288e3011d901314260fd54bff3497b2fa", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "977ff286ea5a88afbd8998a74d04146288e3011d901314260fd54bff3497b2fa", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/x/xterm-16color", "size": 0, "sha1": null, - "md5": "b6b95048b459156682b6a3212ce0d4f099c87a54882e8c876530004d3ca69819", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "b6b95048b459156682b6a3212ce0d4f099c87a54882e8c876530004d3ca69819", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/x/xterm-24", "size": 0, "sha1": null, - "md5": "2b1249158a7053eee58242625f79b29f35da721cbcf695a327521cfed3bec117", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "2b1249158a7053eee58242625f79b29f35da721cbcf695a327521cfed3bec117", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/x/xterm-256color", "size": 0, "sha1": null, - "md5": "7620aabd7be3a33a75e4817db17f6714bcf2a5336c6c6c51b12c2ee43e74c100", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "7620aabd7be3a33a75e4817db17f6714bcf2a5336c6c6c51b12c2ee43e74c100", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/x/xterm-88color", "size": 0, "sha1": null, - "md5": "6d0a051181c07ddf0442f542375ac67d86eb7c0aaa0fe919361a1bce09974123", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "6d0a051181c07ddf0442f542375ac67d86eb7c0aaa0fe919361a1bce09974123", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/x/xterm-8bit", "size": 0, "sha1": null, - "md5": "5956361073c012c553c68a0089065a44d0c7e950df02114e6520f815f419aa82", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "5956361073c012c553c68a0089065a44d0c7e950df02114e6520f815f419aa82", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/x/xterm-basic", "size": 0, "sha1": null, - "md5": "a9a35b70ee5a50c27637598f84d206ed9bfe4e66550ff863e0115e548ae0b3fb", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "a9a35b70ee5a50c27637598f84d206ed9bfe4e66550ff863e0115e548ae0b3fb", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/x/xterm-bold", "size": 0, "sha1": null, - "md5": "4296a878469b6bc5bab5acbce875e43bc501ab57a62d8d29cd34a424ba1e9de4", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "4296a878469b6bc5bab5acbce875e43bc501ab57a62d8d29cd34a424ba1e9de4", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/x/xterm-color", "size": 0, "sha1": null, - "md5": "f74fe619914bfe650f6071bbbaf242c439de8a2f0ecefe9e80870216dfb844b4", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "f74fe619914bfe650f6071bbbaf242c439de8a2f0ecefe9e80870216dfb844b4", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/x/xterm-direct", "size": 0, "sha1": null, - "md5": "3519edd987899e953931c7907e0342d2392a3383ffddd6eef7b632ff59516cca", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "3519edd987899e953931c7907e0342d2392a3383ffddd6eef7b632ff59516cca", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/x/xterm-direct2", "size": 0, "sha1": null, - "md5": "9316fced488ee2277fbb281a302362b3c82a6c414954037cbe6c2d2ff3e65aa8", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "9316fced488ee2277fbb281a302362b3c82a6c414954037cbe6c2d2ff3e65aa8", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/x/xterm-hp", "size": 0, "sha1": null, - "md5": "c1fb479583d422e6046b35302f944962b98e409161f4d13806aed6c79b9b5da7", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "c1fb479583d422e6046b35302f944962b98e409161f4d13806aed6c79b9b5da7", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/x/xterm-new", "size": 0, "sha1": null, - "md5": "9044f070e173876a4914cc4fb965a2832fcdb18abee1d82bae5df29f4d6745f0", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "9044f070e173876a4914cc4fb965a2832fcdb18abee1d82bae5df29f4d6745f0", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/x/xterm-nic", "size": 0, "sha1": null, - "md5": "18e365928ffb140aae9e86bc4f758a9bd603237a74e41185d5147579a65fd601", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "18e365928ffb140aae9e86bc4f758a9bd603237a74e41185d5147579a65fd601", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/x/xterm-noapp", "size": 0, "sha1": null, - "md5": "43673e62c97d99d9ba1ae13e2742eee3cd1f94c1447a98f6daefc14b4d2dfb2f", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "43673e62c97d99d9ba1ae13e2742eee3cd1f94c1447a98f6daefc14b4d2dfb2f", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/x/xterm-old", "size": 0, "sha1": null, - "md5": "927b8821c947b96b020ca7341dffb57bdfa2986fcaecd5fdbf2ca2369eacc285", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "927b8821c947b96b020ca7341dffb57bdfa2986fcaecd5fdbf2ca2369eacc285", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/x/xterm-pcolor", "size": 0, "sha1": null, - "md5": "8e26c29e1e306f010b464dacc578ca179943ff3717e43af3d566bad24d74dc10", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "8e26c29e1e306f010b464dacc578ca179943ff3717e43af3d566bad24d74dc10", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/x/xterm-r5", "size": 0, "sha1": null, - "md5": "82098ec067be6189e91e8264278bb85fe3b7bfdeaa3754be301313be140522ca", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "82098ec067be6189e91e8264278bb85fe3b7bfdeaa3754be301313be140522ca", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/x/xterm-r6", "size": 0, "sha1": null, - "md5": "ee12fe6d2d8e1d0b83d1042fe8a38f1aed6fd73e2c7316e6db5ec5b061b09ef8", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "ee12fe6d2d8e1d0b83d1042fe8a38f1aed6fd73e2c7316e6db5ec5b061b09ef8", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/x/xterm-sco", "size": 0, "sha1": null, - "md5": "7b263571d8faea2decc93c9544d318bad2575287c0435172d4d7b427da97fb0b", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "7b263571d8faea2decc93c9544d318bad2575287c0435172d4d7b427da97fb0b", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/x/xterm-sun", "size": 0, "sha1": null, - "md5": "59ff2e4c54bdd7c06e8f14fcd5c7dd2687560f6a251e00af47f90cd3a25f69b6", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "59ff2e4c54bdd7c06e8f14fcd5c7dd2687560f6a251e00af47f90cd3a25f69b6", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/x/xterm-utf8", "size": 0, "sha1": null, - "md5": "1dbcda3b0020deb52bdbbc2103499422c7a25e1527cf17445ccf7b08b1eb2241", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "1dbcda3b0020deb52bdbbc2103499422c7a25e1527cf17445ccf7b08b1eb2241", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/x/xterm-vt220", "size": 0, "sha1": null, - "md5": "99afd4451a07b57527fa44c0e08a4543d151464a26fc4d9326116373f33c8e3b", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "99afd4451a07b57527fa44c0e08a4543d151464a26fc4d9326116373f33c8e3b", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/x/xterm-vt52", "size": 0, "sha1": null, - "md5": "ec2164504f16ace2ce5d17b1f07a655029767148dc5f58d388853454aeb47a6d", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "ec2164504f16ace2ce5d17b1f07a655029767148dc5f58d388853454aeb47a6d", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/x/xterm-x10mouse", "size": 0, "sha1": null, - "md5": "528494945a2e0934b9ce68e94e95853ba0d1a83f0b48f53139da212dfabcda68", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "528494945a2e0934b9ce68e94e95853ba0d1a83f0b48f53139da212dfabcda68", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/x/xterm-x11hilite", "size": 0, "sha1": null, - "md5": "b7af246ba47b100afcabb3dee7cc52c1686ee2127becd73d952823e410fe58e7", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "b7af246ba47b100afcabb3dee7cc52c1686ee2127becd73d952823e410fe58e7", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/x/xterm-x11mouse", "size": 0, "sha1": null, - "md5": "dbda39a53519d0aea9524d658e6bfd6a7337a83b30d2539c6f31d2667a8a3e17", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "dbda39a53519d0aea9524d658e6bfd6a7337a83b30d2539c6f31d2667a8a3e17", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/x/xterm-xf86-v32", "size": 0, "sha1": null, - "md5": "815040ec1c43c48641c930d6efd596dd3ffedb858c092d204db7d679dedca047", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "815040ec1c43c48641c930d6efd596dd3ffedb858c092d204db7d679dedca047", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/x/xterm-xf86-v33", "size": 0, "sha1": null, - "md5": "3cd4e00bb8394ae485e6e19d3f79fda189ad180d6c30f67ea9f854dd220c39b9", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "3cd4e00bb8394ae485e6e19d3f79fda189ad180d6c30f67ea9f854dd220c39b9", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/x/xterm-xf86-v333", "size": 0, "sha1": null, - "md5": "d76ac338322b93169c4f1be085e0a28ac2de5c70bc2e7acf3967fb0ff2d05094", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "d76ac338322b93169c4f1be085e0a28ac2de5c70bc2e7acf3967fb0ff2d05094", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/x/xterm-xf86-v40", "size": 0, "sha1": null, - "md5": "52a70e4af3efcd6d57156501c56f99de86374792fd9ed85b8e6f97e04fd674a1", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "52a70e4af3efcd6d57156501c56f99de86374792fd9ed85b8e6f97e04fd674a1", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/x/xterm-xf86-v43", "size": 0, "sha1": null, - "md5": "bef75e99c6d11623dc551d28b3e755bbdd611c3bc2eacfe7adb3dc3996cc9a9a", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "bef75e99c6d11623dc551d28b3e755bbdd611c3bc2eacfe7adb3dc3996cc9a9a", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/x/xterm-xf86-v44", "size": 0, "sha1": null, - "md5": "e8d2495110bbfebabdb8d89dad2d39a70bb806704bb379d8d0a9ad61869a8781", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "e8d2495110bbfebabdb8d89dad2d39a70bb806704bb379d8d0a9ad61869a8781", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/x/xterm-xfree86", "size": 0, "sha1": null, - "md5": "2cfabe28ee20533848426f6c04c134603dd121a3d6831d0ec8a12f200e5a863b", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "2cfabe28ee20533848426f6c04c134603dd121a3d6831d0ec8a12f200e5a863b", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/x/xterm-xi", "size": 0, "sha1": null, - "md5": "59b2ad72d3752c4e3875502821fc90857f3b4d7e3ded5ff975b6c557e3944076", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "59b2ad72d3752c4e3875502821fc90857f3b4d7e3ded5ff975b6c557e3944076", + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/terminfo/x/xterms", "size": 0, "sha1": null, - "md5": "2b1249158a7053eee58242625f79b29f35da721cbcf695a327521cfed3bec117", - "sha256": null, - "sha512": null + "md5": null, + "sha256": "2b1249158a7053eee58242625f79b29f35da721cbcf695a327521cfed3bec117", + "sha512": null, + "extra_data": {} } - ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "rpm_installed_database_sqlite", + "purl": "pkg:rpm/ncurses-base@6.1?arch=noarch" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/rpm_installed/rootfs/Packages b/tests/packagedcode/data/rpm_installed/rootfs/Packages new file mode 100755 index 00000000000..a44149161b8 Binary files /dev/null and b/tests/packagedcode/data/rpm_installed/rootfs/Packages differ diff --git a/tests/packagedcode/data/rpm_installed/xmlish/centos-5-rpms.xmlish-expected.json b/tests/packagedcode/data/rpm_installed/xmlish/centos-5-rpms.xmlish-expected.json index 28e58328714..8f93efcfcdf 100644 --- a/tests/packagedcode/data/rpm_installed/xmlish/centos-5-rpms.xmlish-expected.json +++ b/tests/packagedcode/data/rpm_installed/xmlish/centos-5-rpms.xmlish-expected.json @@ -24,24 +24,19 @@ "code_view_url": null, "vcs_url": null, "copyright": null, - "license_expression": null, + "license_expression": "public-domain", "declared_license": "public domain", "notice_text": null, - "contains_source_code": null, "source_packages": [], - "extra_data": {}, - "purl": "pkg:rpm/setup@2.5.58?arch=noarch", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null, - "installed_files": [ + "file_references": [ { "path": "/etc/aliases", "size": 0, "sha1": null, "md5": "039e9bb0c206d57c616c8fab3cb82c2a", "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/bashrc", @@ -49,7 +44,8 @@ "sha1": null, "md5": "4d93be6a1e2c112096e6545faf8f829c", "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/csh.cshrc", @@ -57,7 +53,8 @@ "sha1": null, "md5": "0e866df1fad20b59214c563f56412b45", "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/csh.login", @@ -65,7 +62,8 @@ "sha1": null, "md5": "106d1a19969f1d12b1949bc331975c47", "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/environment", @@ -73,7 +71,8 @@ "sha1": null, "md5": "d41d8cd98f00b204e9800998ecf8427e", "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/exports", @@ -81,7 +80,8 @@ "sha1": null, "md5": "d41d8cd98f00b204e9800998ecf8427e", "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/filesystems", @@ -89,7 +89,8 @@ "sha1": null, "md5": "59b5f604a6899aca8dc54e6e6897086e", "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/fstab", @@ -97,7 +98,8 @@ "sha1": null, "md5": "d41d8cd98f00b204e9800998ecf8427e", "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/group", @@ -105,7 +107,8 @@ "sha1": null, "md5": "71803878c7d0b35d21a22c7b9349c1a6", "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/gshadow", @@ -113,7 +116,8 @@ "sha1": null, "md5": "d41d8cd98f00b204e9800998ecf8427e", "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/host.conf", @@ -121,7 +125,8 @@ "sha1": null, "md5": "d41d8cd98f00b204e9800998ecf8427e", "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/hosts.allow", @@ -129,7 +134,8 @@ "sha1": null, "md5": "25fd7a8a9ec4794960ef198a60f66d22", "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/hosts.deny", @@ -137,7 +143,8 @@ "sha1": null, "md5": "75febde367e30a4fdf539eb679d59120", "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/inputrc", @@ -145,7 +152,8 @@ "sha1": null, "md5": "b2a7c18ae5159070abb2a4e4a615f999", "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/motd", @@ -153,7 +161,8 @@ "sha1": null, "md5": "d41d8cd98f00b204e9800998ecf8427e", "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/mtab", @@ -161,7 +170,8 @@ "sha1": null, "md5": "d41d8cd98f00b204e9800998ecf8427e", "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/passwd", @@ -169,7 +179,8 @@ "sha1": null, "md5": "b4936b3216c0a2655fc4abedcefbdbd4", "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/printcap", @@ -177,7 +188,8 @@ "sha1": null, "md5": "dc208a34b021823564a290720169534e", "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/profile", @@ -185,7 +197,8 @@ "sha1": null, "md5": "e685859fe01e8c62fd9de8a2c1934001", "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/profile.d", @@ -193,7 +206,8 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/protocols", @@ -201,7 +215,8 @@ "sha1": null, "md5": "21a25996ed4424d22d2902ee94029f6a", "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/securetty", @@ -209,7 +224,8 @@ "sha1": null, "md5": "30afa82e759c95ea880593a4fb43e25e", "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/services", @@ -217,7 +233,8 @@ "sha1": null, "md5": "dde31302b080df6ec5fcacee0d56dc90", "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/shadow", @@ -225,7 +242,8 @@ "sha1": null, "md5": "d41d8cd98f00b204e9800998ecf8427e", "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/shells", @@ -233,7 +251,8 @@ "sha1": null, "md5": "11bf793328a6037085fbd47931d69a1f", "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/doc/setup-2.5.58", @@ -241,7 +260,8 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/doc/setup-2.5.58/uidgid", @@ -249,7 +269,8 @@ "sha1": null, "md5": "72a2ada9ad25c217338369667c6ef302", "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/var/log/lastlog", @@ -257,9 +278,17 @@ "sha1": null, "md5": "d41d8cd98f00b204e9800998ecf8427e", "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} } - ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "rpm_installed_database_sqlite", + "purl": "pkg:rpm/setup@2.5.58?arch=noarch" }, { "type": "rpm", @@ -277,7 +306,7 @@ "keywords": [], "homepage_url": null, "download_url": null, - "size": 0, + "size": null, "sha1": "640b66efc6a459ebf80e53622f217dbc1fc49983", "md5": null, "sha256": null, @@ -286,16 +315,17 @@ "code_view_url": null, "vcs_url": null, "copyright": null, - "license_expression": null, + "license_expression": "public-domain", "declared_license": "public domain", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, - "purl": "pkg:rpm/basesystem@8.0?arch=noarch", + "dependencies": [], "repository_homepage_url": null, "repository_download_url": null, "api_data_url": null, - "installed_files": [] + "datasource_id": "rpm_installed_database_sqlite", + "purl": "pkg:rpm/basesystem@8.0?arch=noarch" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/rpm_installed/xmlish/centos-5-rpms.xmlish-with-license-expected.json b/tests/packagedcode/data/rpm_installed/xmlish/centos-5-rpms.xmlish-with-license-expected.json index a5ca4bcdd6d..8f93efcfcdf 100644 --- a/tests/packagedcode/data/rpm_installed/xmlish/centos-5-rpms.xmlish-with-license-expected.json +++ b/tests/packagedcode/data/rpm_installed/xmlish/centos-5-rpms.xmlish-with-license-expected.json @@ -27,21 +27,16 @@ "license_expression": "public-domain", "declared_license": "public domain", "notice_text": null, - "contains_source_code": null, "source_packages": [], - "extra_data": {}, - "purl": "pkg:rpm/setup@2.5.58?arch=noarch", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null, - "installed_files": [ + "file_references": [ { "path": "/etc/aliases", "size": 0, "sha1": null, "md5": "039e9bb0c206d57c616c8fab3cb82c2a", "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/bashrc", @@ -49,7 +44,8 @@ "sha1": null, "md5": "4d93be6a1e2c112096e6545faf8f829c", "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/csh.cshrc", @@ -57,7 +53,8 @@ "sha1": null, "md5": "0e866df1fad20b59214c563f56412b45", "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/csh.login", @@ -65,7 +62,8 @@ "sha1": null, "md5": "106d1a19969f1d12b1949bc331975c47", "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/environment", @@ -73,7 +71,8 @@ "sha1": null, "md5": "d41d8cd98f00b204e9800998ecf8427e", "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/exports", @@ -81,7 +80,8 @@ "sha1": null, "md5": "d41d8cd98f00b204e9800998ecf8427e", "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/filesystems", @@ -89,7 +89,8 @@ "sha1": null, "md5": "59b5f604a6899aca8dc54e6e6897086e", "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/fstab", @@ -97,7 +98,8 @@ "sha1": null, "md5": "d41d8cd98f00b204e9800998ecf8427e", "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/group", @@ -105,7 +107,8 @@ "sha1": null, "md5": "71803878c7d0b35d21a22c7b9349c1a6", "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/gshadow", @@ -113,7 +116,8 @@ "sha1": null, "md5": "d41d8cd98f00b204e9800998ecf8427e", "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/host.conf", @@ -121,7 +125,8 @@ "sha1": null, "md5": "d41d8cd98f00b204e9800998ecf8427e", "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/hosts.allow", @@ -129,7 +134,8 @@ "sha1": null, "md5": "25fd7a8a9ec4794960ef198a60f66d22", "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/hosts.deny", @@ -137,7 +143,8 @@ "sha1": null, "md5": "75febde367e30a4fdf539eb679d59120", "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/inputrc", @@ -145,7 +152,8 @@ "sha1": null, "md5": "b2a7c18ae5159070abb2a4e4a615f999", "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/motd", @@ -153,7 +161,8 @@ "sha1": null, "md5": "d41d8cd98f00b204e9800998ecf8427e", "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/mtab", @@ -161,7 +170,8 @@ "sha1": null, "md5": "d41d8cd98f00b204e9800998ecf8427e", "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/passwd", @@ -169,7 +179,8 @@ "sha1": null, "md5": "b4936b3216c0a2655fc4abedcefbdbd4", "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/printcap", @@ -177,7 +188,8 @@ "sha1": null, "md5": "dc208a34b021823564a290720169534e", "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/profile", @@ -185,7 +197,8 @@ "sha1": null, "md5": "e685859fe01e8c62fd9de8a2c1934001", "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/profile.d", @@ -193,7 +206,8 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/protocols", @@ -201,7 +215,8 @@ "sha1": null, "md5": "21a25996ed4424d22d2902ee94029f6a", "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/securetty", @@ -209,7 +224,8 @@ "sha1": null, "md5": "30afa82e759c95ea880593a4fb43e25e", "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/services", @@ -217,7 +233,8 @@ "sha1": null, "md5": "dde31302b080df6ec5fcacee0d56dc90", "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/shadow", @@ -225,7 +242,8 @@ "sha1": null, "md5": "d41d8cd98f00b204e9800998ecf8427e", "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/etc/shells", @@ -233,7 +251,8 @@ "sha1": null, "md5": "11bf793328a6037085fbd47931d69a1f", "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/doc/setup-2.5.58", @@ -241,7 +260,8 @@ "sha1": null, "md5": null, "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/usr/share/doc/setup-2.5.58/uidgid", @@ -249,7 +269,8 @@ "sha1": null, "md5": "72a2ada9ad25c217338369667c6ef302", "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} }, { "path": "/var/log/lastlog", @@ -257,9 +278,17 @@ "sha1": null, "md5": "d41d8cd98f00b204e9800998ecf8427e", "sha256": null, - "sha512": null + "sha512": null, + "extra_data": {} } - ] + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "rpm_installed_database_sqlite", + "purl": "pkg:rpm/setup@2.5.58?arch=noarch" }, { "type": "rpm", @@ -277,7 +306,7 @@ "keywords": [], "homepage_url": null, "download_url": null, - "size": 0, + "size": null, "sha1": "640b66efc6a459ebf80e53622f217dbc1fc49983", "md5": null, "sha256": null, @@ -289,13 +318,14 @@ "license_expression": "public-domain", "declared_license": "public domain", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, - "purl": "pkg:rpm/basesystem@8.0?arch=noarch", + "dependencies": [], "repository_homepage_url": null, "repository_download_url": null, "api_data_url": null, - "installed_files": [] + "datasource_id": "rpm_installed_database_sqlite", + "purl": "pkg:rpm/basesystem@8.0?arch=noarch" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/rubygems/gem/a_okay-0.1.0.gem.json b/tests/packagedcode/data/rubygems/gem/a_okay-0.1.0.gem.json index a537f62fa51..827022b5b9f 100644 --- a/tests/packagedcode/data/rubygems/gem/a_okay-0.1.0.gem.json +++ b/tests/packagedcode/data/rubygems/gem/a_okay-0.1.0.gem.json @@ -33,13 +33,14 @@ "license_expression": null, "declared_license": [], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:gem/a_okay@0.1.0", "repository_homepage_url": "https://rubygems.org/gems/a_okay/versions/0.1.0", "repository_download_url": "https://rubygems.org/downloads/a_okay-0.1.0.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/a_okay/versions/0.1.0.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/a_okay/versions/0.1.0.json", + "datasource_id": "gem_archive", + "purl": "pkg:gem/a_okay@0.1.0" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/rubygems/gem/action_tracker-1.0.2.gem.json b/tests/packagedcode/data/rubygems/gem/action_tracker-1.0.2.gem.json index 0a9d37f5fe4..b360b4d72ca 100644 --- a/tests/packagedcode/data/rubygems/gem/action_tracker-1.0.2.gem.json +++ b/tests/packagedcode/data/rubygems/gem/action_tracker-1.0.2.gem.json @@ -42,8 +42,8 @@ "MIT" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -137,9 +137,10 @@ "resolved_package": {} } ], - "purl": "pkg:gem/action_tracker@1.0.2", "repository_homepage_url": "https://rubygems.org/gems/action_tracker/versions/1.0.2", "repository_download_url": "https://rubygems.org/downloads/action_tracker-1.0.2.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/action_tracker/versions/1.0.2.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/action_tracker/versions/1.0.2.json", + "datasource_id": "gem_archive", + "purl": "pkg:gem/action_tracker@1.0.2" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/rubygems/gem/archive-tar-minitar-0.5.2.gem.json b/tests/packagedcode/data/rubygems/gem/archive-tar-minitar-0.5.2.gem.json index 1f8a2794854..f160b15fb2a 100644 --- a/tests/packagedcode/data/rubygems/gem/archive-tar-minitar-0.5.2.gem.json +++ b/tests/packagedcode/data/rubygems/gem/archive-tar-minitar-0.5.2.gem.json @@ -33,13 +33,14 @@ "license_expression": null, "declared_license": [], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:gem/archive-tar-minitar@0.5.2", "repository_homepage_url": "https://rubygems.org/gems/archive-tar-minitar/versions/0.5.2", "repository_download_url": "https://rubygems.org/downloads/archive-tar-minitar-0.5.2.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/archive-tar-minitar/versions/0.5.2.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/archive-tar-minitar/versions/0.5.2.json", + "datasource_id": "gem_archive", + "purl": "pkg:gem/archive-tar-minitar@0.5.2" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/rubygems/gem/blankslate-3.1.3.gem.json b/tests/packagedcode/data/rubygems/gem/blankslate-3.1.3.gem.json index 1ea02226bc9..b192f7b3adb 100644 --- a/tests/packagedcode/data/rubygems/gem/blankslate-3.1.3.gem.json +++ b/tests/packagedcode/data/rubygems/gem/blankslate-3.1.3.gem.json @@ -47,8 +47,8 @@ "license_expression": null, "declared_license": [], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -70,9 +70,10 @@ "resolved_package": {} } ], - "purl": "pkg:gem/blankslate@3.1.3", "repository_homepage_url": "https://rubygems.org/gems/blankslate/versions/3.1.3", "repository_download_url": "https://rubygems.org/downloads/blankslate-3.1.3.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/blankslate/versions/3.1.3.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/blankslate/versions/3.1.3.json", + "datasource_id": "gem_archive", + "purl": "pkg:gem/blankslate@3.1.3" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/rubygems/gem/m2r-2.1.0.gem.json b/tests/packagedcode/data/rubygems/gem/m2r-2.1.0.gem.json index ec28c8451d1..2d989547095 100644 --- a/tests/packagedcode/data/rubygems/gem/m2r-2.1.0.gem.json +++ b/tests/packagedcode/data/rubygems/gem/m2r-2.1.0.gem.json @@ -56,8 +56,8 @@ "MIT" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -178,9 +178,10 @@ "resolved_package": {} } ], - "purl": "pkg:gem/m2r@2.1.0", "repository_homepage_url": "https://rubygems.org/gems/m2r/versions/2.1.0", "repository_download_url": "https://rubygems.org/downloads/m2r-2.1.0.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/m2r/versions/2.1.0.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/m2r/versions/2.1.0.json", + "datasource_id": "gem_archive", + "purl": "pkg:gem/m2r@2.1.0" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/rubygems/gem/mysmallidea-address_standardization-0.4.1.gem.json b/tests/packagedcode/data/rubygems/gem/mysmallidea-address_standardization-0.4.1.gem.json index 24aad48591f..49045ab14a9 100644 --- a/tests/packagedcode/data/rubygems/gem/mysmallidea-address_standardization-0.4.1.gem.json +++ b/tests/packagedcode/data/rubygems/gem/mysmallidea-address_standardization-0.4.1.gem.json @@ -33,8 +33,8 @@ "license_expression": null, "declared_license": [], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -65,9 +65,10 @@ "resolved_package": {} } ], - "purl": "pkg:gem/mysmallidea-address_standardization@0.4.1", "repository_homepage_url": "https://rubygems.org/gems/mysmallidea-address_standardization/versions/0.4.1", "repository_download_url": "https://rubygems.org/downloads/mysmallidea-address_standardization-0.4.1.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/mysmallidea-address_standardization/versions/0.4.1.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/mysmallidea-address_standardization/versions/0.4.1.json", + "datasource_id": "gem_archive", + "purl": "pkg:gem/mysmallidea-address_standardization@0.4.1" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/rubygems/gem/mysmallidea-mad_mimi_mailer-0.0.9.gem.json b/tests/packagedcode/data/rubygems/gem/mysmallidea-mad_mimi_mailer-0.0.9.gem.json index ced976ea424..76888ce4daa 100644 --- a/tests/packagedcode/data/rubygems/gem/mysmallidea-mad_mimi_mailer-0.0.9.gem.json +++ b/tests/packagedcode/data/rubygems/gem/mysmallidea-mad_mimi_mailer-0.0.9.gem.json @@ -33,13 +33,14 @@ "license_expression": null, "declared_license": [], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:gem/mysmallidea-mad_mimi_mailer@0.0.9", "repository_homepage_url": "https://rubygems.org/gems/mysmallidea-mad_mimi_mailer/versions/0.0.9", "repository_download_url": "https://rubygems.org/downloads/mysmallidea-mad_mimi_mailer-0.0.9.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/mysmallidea-mad_mimi_mailer/versions/0.0.9.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/mysmallidea-mad_mimi_mailer/versions/0.0.9.json", + "datasource_id": "gem_archive", + "purl": "pkg:gem/mysmallidea-mad_mimi_mailer@0.0.9" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/rubygems/gem/new/dependabot-omnibus-0.87.15.gem.json b/tests/packagedcode/data/rubygems/gem/new/dependabot-omnibus-0.87.15.gem.json index cb4da972c4e..dff34d4a474 100644 --- a/tests/packagedcode/data/rubygems/gem/new/dependabot-omnibus-0.87.15.gem.json +++ b/tests/packagedcode/data/rubygems/gem/new/dependabot-omnibus-0.87.15.gem.json @@ -35,8 +35,8 @@ "Nonstandard" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -139,9 +139,10 @@ "resolved_package": {} } ], - "purl": "pkg:gem/dependabot-omnibus@0.87.15", "repository_homepage_url": "https://rubygems.org/gems/dependabot-omnibus/versions/0.87.15", "repository_download_url": "https://rubygems.org/downloads/dependabot-omnibus-0.87.15.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/dependabot-omnibus/versions/0.87.15.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/dependabot-omnibus/versions/0.87.15.json", + "datasource_id": "gem_archive", + "purl": "pkg:gem/dependabot-omnibus@0.87.15" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/rubygems/gem/new/hiredis-0.6.3-java.gem.json b/tests/packagedcode/data/rubygems/gem/new/hiredis-0.6.3-java.gem.json index 04259a85787..1ee0df00051 100644 --- a/tests/packagedcode/data/rubygems/gem/new/hiredis-0.6.3-java.gem.json +++ b/tests/packagedcode/data/rubygems/gem/new/hiredis-0.6.3-java.gem.json @@ -37,8 +37,8 @@ "BSD-3-Clause" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -69,9 +69,10 @@ "resolved_package": {} } ], - "purl": "pkg:gem/hiredis@0.6.3?platform=java", "repository_homepage_url": "https://rubygems.org/gems/hiredis/versions/0.6.3", "repository_download_url": "https://rubygems.org/downloads/hiredis-0.6.3-java.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/hiredis/versions/0.6.3.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/hiredis/versions/0.6.3.json", + "datasource_id": "gem_archive", + "purl": "pkg:gem/hiredis@0.6.3?platform=java" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/rubygems/gem/new/int_time-0.0.2.gem.json b/tests/packagedcode/data/rubygems/gem/new/int_time-0.0.2.gem.json index 75ae75ea509..ce649d0f608 100644 --- a/tests/packagedcode/data/rubygems/gem/new/int_time-0.0.2.gem.json +++ b/tests/packagedcode/data/rubygems/gem/new/int_time-0.0.2.gem.json @@ -35,13 +35,14 @@ "MIT" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:gem/int_time@0.0.2", "repository_homepage_url": "https://rubygems.org/gems/int_time/versions/0.0.2", "repository_download_url": "https://rubygems.org/downloads/int_time-0.0.2.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/int_time/versions/0.0.2.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/int_time/versions/0.0.2.json", + "datasource_id": "gem_archive", + "purl": "pkg:gem/int_time@0.0.2" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/rubygems/gem/new/jaro_winkler-1.5.1-java.gem.json b/tests/packagedcode/data/rubygems/gem/new/jaro_winkler-1.5.1-java.gem.json index 4f64d89a0ff..f31225c6239 100644 --- a/tests/packagedcode/data/rubygems/gem/new/jaro_winkler-1.5.1-java.gem.json +++ b/tests/packagedcode/data/rubygems/gem/new/jaro_winkler-1.5.1-java.gem.json @@ -37,8 +37,8 @@ "MIT" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -78,9 +78,10 @@ "resolved_package": {} } ], - "purl": "pkg:gem/jaro_winkler@1.5.1?platform=java", "repository_homepage_url": "https://rubygems.org/gems/jaro_winkler/versions/1.5.1", "repository_download_url": "https://rubygems.org/downloads/jaro_winkler-1.5.1-java.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/jaro_winkler/versions/1.5.1.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/jaro_winkler/versions/1.5.1.json", + "datasource_id": "gem_archive", + "purl": "pkg:gem/jaro_winkler@1.5.1?platform=java" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/rubygems/gem/new/rubocop-0.62.0.gem.json b/tests/packagedcode/data/rubygems/gem/new/rubocop-0.62.0.gem.json index f49c512a972..5fcdac1dacb 100644 --- a/tests/packagedcode/data/rubygems/gem/new/rubocop-0.62.0.gem.json +++ b/tests/packagedcode/data/rubygems/gem/new/rubocop-0.62.0.gem.json @@ -7,7 +7,7 @@ "qualifiers": {}, "subpath": null, "primary_language": "Ruby", - "description": "Automatic Ruby code style checking tool.\n Automatic Ruby code style checking tool.\n Aims to enforce the community-driven Ruby Style Guide.\n", + "description": "Automatic Ruby code style checking tool.\n Aims to enforce the community-driven Ruby Style Guide.", "release_date": "2019-01-01", "parties": [ { @@ -33,7 +33,7 @@ } ], "keywords": [], - "homepage_url": "https://github.com/rubocop-hq/rubocop", + "homepage_url": "https://www.rubocop.org/", "download_url": "https://rubygems.org/downloads/rubocop-0.62.0.gem", "size": null, "sha1": null, @@ -49,8 +49,8 @@ "MIT" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -135,9 +135,10 @@ "resolved_package": {} } ], - "purl": "pkg:gem/rubocop@0.62.0", "repository_homepage_url": "https://rubygems.org/gems/rubocop/versions/0.62.0", "repository_download_url": "https://rubygems.org/downloads/rubocop-0.62.0.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/rubocop/versions/0.62.0.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/rubocop/versions/0.62.0.json", + "datasource_id": "gem_archive", + "purl": "pkg:gem/rubocop@0.62.0" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/rubygems/gem/ng-rails-csrf-0.1.0.gem.json b/tests/packagedcode/data/rubygems/gem/ng-rails-csrf-0.1.0.gem.json index 9171ecf1608..741c5cf92ec 100644 --- a/tests/packagedcode/data/rubygems/gem/ng-rails-csrf-0.1.0.gem.json +++ b/tests/packagedcode/data/rubygems/gem/ng-rails-csrf-0.1.0.gem.json @@ -33,13 +33,14 @@ "license_expression": null, "declared_license": [], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:gem/ng-rails-csrf@0.1.0", "repository_homepage_url": "https://rubygems.org/gems/ng-rails-csrf/versions/0.1.0", "repository_download_url": "https://rubygems.org/downloads/ng-rails-csrf-0.1.0.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/ng-rails-csrf/versions/0.1.0.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/ng-rails-csrf/versions/0.1.0.json", + "datasource_id": "gem_archive", + "purl": "pkg:gem/ng-rails-csrf@0.1.0" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/rubygems/gem/small-0.2.gem.json b/tests/packagedcode/data/rubygems/gem/small-0.2.gem.json index 527b9f6bb40..36ad069f6f2 100644 --- a/tests/packagedcode/data/rubygems/gem/small-0.2.gem.json +++ b/tests/packagedcode/data/rubygems/gem/small-0.2.gem.json @@ -33,13 +33,14 @@ "license_expression": null, "declared_license": [], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:gem/small@0.2", "repository_homepage_url": "https://rubygems.org/gems/small/versions/0.2", "repository_download_url": "https://rubygems.org/downloads/small-0.2.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/small/versions/0.2.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/small/versions/0.2.json", + "datasource_id": "gem_archive", + "purl": "pkg:gem/small@0.2" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/rubygems/gem/small_wonder-0.1.10.gem.json b/tests/packagedcode/data/rubygems/gem/small_wonder-0.1.10.gem.json index 3f2116ee8d0..dc298ff6c38 100644 --- a/tests/packagedcode/data/rubygems/gem/small_wonder-0.1.10.gem.json +++ b/tests/packagedcode/data/rubygems/gem/small_wonder-0.1.10.gem.json @@ -33,8 +33,8 @@ "license_expression": null, "declared_license": [], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -137,9 +137,10 @@ "resolved_package": {} } ], - "purl": "pkg:gem/small_wonder@0.1.10", "repository_homepage_url": "https://rubygems.org/gems/small_wonder/versions/0.1.10", "repository_download_url": "https://rubygems.org/downloads/small_wonder-0.1.10.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/small_wonder/versions/0.1.10.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/small_wonder/versions/0.1.10.json", + "datasource_id": "gem_archive", + "purl": "pkg:gem/small_wonder@0.1.10" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/rubygems/gem/sprockets-vendor_gems-0.1.3.gem.json b/tests/packagedcode/data/rubygems/gem/sprockets-vendor_gems-0.1.3.gem.json index 7cd0cdab07a..5d33a3d7824 100644 --- a/tests/packagedcode/data/rubygems/gem/sprockets-vendor_gems-0.1.3.gem.json +++ b/tests/packagedcode/data/rubygems/gem/sprockets-vendor_gems-0.1.3.gem.json @@ -33,8 +33,8 @@ "license_expression": null, "declared_license": [], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -83,9 +83,10 @@ "resolved_package": {} } ], - "purl": "pkg:gem/sprockets-vendor_gems@0.1.3", "repository_homepage_url": "https://rubygems.org/gems/sprockets-vendor_gems/versions/0.1.3", "repository_download_url": "https://rubygems.org/downloads/sprockets-vendor_gems-0.1.3.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/sprockets-vendor_gems/versions/0.1.3.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/sprockets-vendor_gems/versions/0.1.3.json", + "datasource_id": "gem_archive", + "purl": "pkg:gem/sprockets-vendor_gems@0.1.3" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/rubygems/gemfile-lock/Gemfile.lock.expected b/tests/packagedcode/data/rubygems/gemfile-lock/Gemfile.lock.expected index 6a5e27d2365..fbcf0ca9416 100644 --- a/tests/packagedcode/data/rubygems/gemfile-lock/Gemfile.lock.expected +++ b/tests/packagedcode/data/rubygems/gemfile-lock/Gemfile.lock.expected @@ -25,8 +25,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -606,10 +606,11 @@ "resolved_package": {} } ], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "gemfile_lock", + "purl": null }, { "type": "gem", @@ -624,7 +625,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/actioncable-5.0.6.gem", "size": null, "sha1": null, "md5": null, @@ -637,8 +638,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -669,10 +670,11 @@ "resolved_package": {} } ], - "purl": "pkg:gem/actioncable@5.0.6", "repository_homepage_url": "https://rubygems.org/gems/actioncable/versions/5.0.6", "repository_download_url": "https://rubygems.org/downloads/actioncable-5.0.6.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/actioncable/versions/5.0.6.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/actioncable/versions/5.0.6.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/actioncable@5.0.6" }, { "type": "gem", @@ -687,7 +689,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/actionpack-5.0.6.gem", "size": null, "sha1": null, "md5": null, @@ -700,8 +702,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -759,10 +761,11 @@ "resolved_package": {} } ], - "purl": "pkg:gem/actionpack@5.0.6", "repository_homepage_url": "https://rubygems.org/gems/actionpack/versions/5.0.6", "repository_download_url": "https://rubygems.org/downloads/actionpack-5.0.6.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/actionpack/versions/5.0.6.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/actionpack/versions/5.0.6.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/actionpack@5.0.6" }, { "type": "gem", @@ -777,7 +780,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/nio4r-2.1.0.gem", "size": null, "sha1": null, "md5": null, @@ -790,14 +793,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:gem/nio4r@2.1.0", "repository_homepage_url": "https://rubygems.org/gems/nio4r/versions/2.1.0", "repository_download_url": "https://rubygems.org/downloads/nio4r-2.1.0.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/nio4r/versions/2.1.0.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/nio4r/versions/2.1.0.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/nio4r@2.1.0" }, { "type": "gem", @@ -812,7 +816,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/websocket-driver-0.6.5.gem", "size": null, "sha1": null, "md5": null, @@ -825,8 +829,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -839,10 +843,11 @@ "resolved_package": {} } ], - "purl": "pkg:gem/websocket-driver@0.6.5", "repository_homepage_url": "https://rubygems.org/gems/websocket-driver/versions/0.6.5", "repository_download_url": "https://rubygems.org/downloads/websocket-driver-0.6.5.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/websocket-driver/versions/0.6.5.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/websocket-driver/versions/0.6.5.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/websocket-driver@0.6.5" }, { "type": "gem", @@ -857,7 +862,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/actionmailer-5.0.6.gem", "size": null, "sha1": null, "md5": null, @@ -870,8 +875,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -920,10 +925,11 @@ "resolved_package": {} } ], - "purl": "pkg:gem/actionmailer@5.0.6", "repository_homepage_url": "https://rubygems.org/gems/actionmailer/versions/5.0.6", "repository_download_url": "https://rubygems.org/downloads/actionmailer-5.0.6.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/actionmailer/versions/5.0.6.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/actionmailer/versions/5.0.6.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/actionmailer@5.0.6" }, { "type": "gem", @@ -938,7 +944,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/actionview-5.0.6.gem", "size": null, "sha1": null, "md5": null, @@ -951,8 +957,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -1001,10 +1007,11 @@ "resolved_package": {} } ], - "purl": "pkg:gem/actionview@5.0.6", "repository_homepage_url": "https://rubygems.org/gems/actionview/versions/5.0.6", "repository_download_url": "https://rubygems.org/downloads/actionview-5.0.6.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/actionview/versions/5.0.6.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/actionview/versions/5.0.6.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/actionview@5.0.6" }, { "type": "gem", @@ -1019,7 +1026,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/activejob-5.0.6.gem", "size": null, "sha1": null, "md5": null, @@ -1032,8 +1039,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -1055,10 +1062,11 @@ "resolved_package": {} } ], - "purl": "pkg:gem/activejob@5.0.6", "repository_homepage_url": "https://rubygems.org/gems/activejob/versions/5.0.6", "repository_download_url": "https://rubygems.org/downloads/activejob-5.0.6.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/activejob/versions/5.0.6.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/activejob/versions/5.0.6.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/activejob@5.0.6" }, { "type": "gem", @@ -1073,7 +1081,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/mail-2.6.6.gem", "size": null, "sha1": null, "md5": null, @@ -1086,8 +1094,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -1100,10 +1108,11 @@ "resolved_package": {} } ], - "purl": "pkg:gem/mail@2.6.6", "repository_homepage_url": "https://rubygems.org/gems/mail/versions/2.6.6", "repository_download_url": "https://rubygems.org/downloads/mail-2.6.6.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/mail/versions/2.6.6.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/mail/versions/2.6.6.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/mail@2.6.6" }, { "type": "gem", @@ -1118,7 +1127,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/rails-dom-testing-2.0.3.gem", "size": null, "sha1": null, "md5": null, @@ -1131,8 +1140,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -1154,10 +1163,11 @@ "resolved_package": {} } ], - "purl": "pkg:gem/rails-dom-testing@2.0.3", "repository_homepage_url": "https://rubygems.org/gems/rails-dom-testing/versions/2.0.3", "repository_download_url": "https://rubygems.org/downloads/rails-dom-testing-2.0.3.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/rails-dom-testing/versions/2.0.3.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/rails-dom-testing/versions/2.0.3.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/rails-dom-testing@2.0.3" }, { "type": "gem", @@ -1172,7 +1182,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/activesupport-5.0.6.gem", "size": null, "sha1": null, "md5": null, @@ -1185,8 +1195,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -1226,10 +1236,11 @@ "resolved_package": {} } ], - "purl": "pkg:gem/activesupport@5.0.6", "repository_homepage_url": "https://rubygems.org/gems/activesupport/versions/5.0.6", "repository_download_url": "https://rubygems.org/downloads/activesupport-5.0.6.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/activesupport/versions/5.0.6.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/activesupport/versions/5.0.6.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/activesupport@5.0.6" }, { "type": "gem", @@ -1244,7 +1255,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/rack-2.0.3.gem", "size": null, "sha1": null, "md5": null, @@ -1257,14 +1268,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:gem/rack@2.0.3", "repository_homepage_url": "https://rubygems.org/gems/rack/versions/2.0.3", "repository_download_url": "https://rubygems.org/downloads/rack-2.0.3.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/rack/versions/2.0.3.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/rack/versions/2.0.3.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/rack@2.0.3" }, { "type": "gem", @@ -1279,7 +1291,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/rack-test-0.6.3.gem", "size": null, "sha1": null, "md5": null, @@ -1292,8 +1304,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -1306,10 +1318,11 @@ "resolved_package": {} } ], - "purl": "pkg:gem/rack-test@0.6.3", "repository_homepage_url": "https://rubygems.org/gems/rack-test/versions/0.6.3", "repository_download_url": "https://rubygems.org/downloads/rack-test-0.6.3.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/rack-test/versions/0.6.3.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/rack-test/versions/0.6.3.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/rack-test@0.6.3" }, { "type": "gem", @@ -1324,7 +1337,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/rails-html-sanitizer-1.0.3.gem", "size": null, "sha1": null, "md5": null, @@ -1337,8 +1350,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -1351,10 +1364,11 @@ "resolved_package": {} } ], - "purl": "pkg:gem/rails-html-sanitizer@1.0.3", "repository_homepage_url": "https://rubygems.org/gems/rails-html-sanitizer/versions/1.0.3", "repository_download_url": "https://rubygems.org/downloads/rails-html-sanitizer-1.0.3.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/rails-html-sanitizer/versions/1.0.3.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/rails-html-sanitizer/versions/1.0.3.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/rails-html-sanitizer@1.0.3" }, { "type": "gem", @@ -1369,7 +1383,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/builder-3.2.3.gem", "size": null, "sha1": null, "md5": null, @@ -1382,14 +1396,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:gem/builder@3.2.3", "repository_homepage_url": "https://rubygems.org/gems/builder/versions/3.2.3", "repository_download_url": "https://rubygems.org/downloads/builder-3.2.3.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/builder/versions/3.2.3.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/builder/versions/3.2.3.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/builder@3.2.3" }, { "type": "gem", @@ -1404,7 +1419,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/erubis-2.7.0.gem", "size": null, "sha1": null, "md5": null, @@ -1417,14 +1432,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:gem/erubis@2.7.0", "repository_homepage_url": "https://rubygems.org/gems/erubis/versions/2.7.0", "repository_download_url": "https://rubygems.org/downloads/erubis-2.7.0.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/erubis/versions/2.7.0.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/erubis/versions/2.7.0.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/erubis@2.7.0" }, { "type": "gem", @@ -1439,7 +1455,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/globalid-0.4.0.gem", "size": null, "sha1": null, "md5": null, @@ -1452,8 +1468,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -1466,10 +1482,11 @@ "resolved_package": {} } ], - "purl": "pkg:gem/globalid@0.4.0", "repository_homepage_url": "https://rubygems.org/gems/globalid/versions/0.4.0", "repository_download_url": "https://rubygems.org/downloads/globalid-0.4.0.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/globalid/versions/0.4.0.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/globalid/versions/0.4.0.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/globalid@0.4.0" }, { "type": "gem", @@ -1484,7 +1501,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/activemodel-5.0.6.gem", "size": null, "sha1": null, "md5": null, @@ -1497,8 +1514,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -1511,10 +1528,11 @@ "resolved_package": {} } ], - "purl": "pkg:gem/activemodel@5.0.6", "repository_homepage_url": "https://rubygems.org/gems/activemodel/versions/5.0.6", "repository_download_url": "https://rubygems.org/downloads/activemodel-5.0.6.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/activemodel/versions/5.0.6.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/activemodel/versions/5.0.6.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/activemodel@5.0.6" }, { "type": "gem", @@ -1529,7 +1547,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/activerecord-5.0.6.gem", "size": null, "sha1": null, "md5": null, @@ -1542,8 +1560,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -1574,10 +1592,11 @@ "resolved_package": {} } ], - "purl": "pkg:gem/activerecord@5.0.6", "repository_homepage_url": "https://rubygems.org/gems/activerecord/versions/5.0.6", "repository_download_url": "https://rubygems.org/downloads/activerecord-5.0.6.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/activerecord/versions/5.0.6.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/activerecord/versions/5.0.6.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/activerecord@5.0.6" }, { "type": "gem", @@ -1592,7 +1611,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/arel-7.1.4.gem", "size": null, "sha1": null, "md5": null, @@ -1605,14 +1624,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:gem/arel@7.1.4", "repository_homepage_url": "https://rubygems.org/gems/arel/versions/7.1.4", "repository_download_url": "https://rubygems.org/downloads/arel-7.1.4.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/arel/versions/7.1.4.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/arel/versions/7.1.4.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/arel@7.1.4" }, { "type": "gem", @@ -1627,7 +1647,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/concurrent-ruby-1.0.5.gem", "size": null, "sha1": null, "md5": null, @@ -1640,14 +1660,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:gem/concurrent-ruby@1.0.5", "repository_homepage_url": "https://rubygems.org/gems/concurrent-ruby/versions/1.0.5", "repository_download_url": "https://rubygems.org/downloads/concurrent-ruby-1.0.5.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/concurrent-ruby/versions/1.0.5.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/concurrent-ruby/versions/1.0.5.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/concurrent-ruby@1.0.5" }, { "type": "gem", @@ -1662,7 +1683,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/i18n-0.8.6.gem", "size": null, "sha1": null, "md5": null, @@ -1675,14 +1696,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:gem/i18n@0.8.6", "repository_homepage_url": "https://rubygems.org/gems/i18n/versions/0.8.6", "repository_download_url": "https://rubygems.org/downloads/i18n-0.8.6.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/i18n/versions/0.8.6.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/i18n/versions/0.8.6.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/i18n@0.8.6" }, { "type": "gem", @@ -1697,7 +1719,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/minitest-5.10.3.gem", "size": null, "sha1": null, "md5": null, @@ -1710,14 +1732,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:gem/minitest@5.10.3", "repository_homepage_url": "https://rubygems.org/gems/minitest/versions/5.10.3", "repository_download_url": "https://rubygems.org/downloads/minitest-5.10.3.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/minitest/versions/5.10.3.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/minitest/versions/5.10.3.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/minitest@5.10.3" }, { "type": "gem", @@ -1732,7 +1755,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/tzinfo-1.2.3.gem", "size": null, "sha1": null, "md5": null, @@ -1745,8 +1768,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -1759,10 +1782,11 @@ "resolved_package": {} } ], - "purl": "pkg:gem/tzinfo@1.2.3", "repository_homepage_url": "https://rubygems.org/gems/tzinfo/versions/1.2.3", "repository_download_url": "https://rubygems.org/downloads/tzinfo-1.2.3.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/tzinfo/versions/1.2.3.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/tzinfo/versions/1.2.3.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/tzinfo@1.2.3" }, { "type": "gem", @@ -1777,7 +1801,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/bindex-0.5.0.gem", "size": null, "sha1": null, "md5": null, @@ -1790,14 +1814,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:gem/bindex@0.5.0", "repository_homepage_url": "https://rubygems.org/gems/bindex/versions/0.5.0", "repository_download_url": "https://rubygems.org/downloads/bindex-0.5.0.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/bindex/versions/0.5.0.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/bindex/versions/0.5.0.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/bindex@0.5.0" }, { "type": "gem", @@ -1812,7 +1837,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/byebug-9.1.0.gem", "size": null, "sha1": null, "md5": null, @@ -1825,14 +1850,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:gem/byebug@9.1.0", "repository_homepage_url": "https://rubygems.org/gems/byebug/versions/9.1.0", "repository_download_url": "https://rubygems.org/downloads/byebug-9.1.0.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/byebug/versions/9.1.0.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/byebug/versions/9.1.0.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/byebug@9.1.0" }, { "type": "gem", @@ -1847,7 +1873,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/coffee-rails-4.2.2.gem", "size": null, "sha1": null, "md5": null, @@ -1860,8 +1886,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -1883,10 +1909,11 @@ "resolved_package": {} } ], - "purl": "pkg:gem/coffee-rails@4.2.2", "repository_homepage_url": "https://rubygems.org/gems/coffee-rails/versions/4.2.2", "repository_download_url": "https://rubygems.org/downloads/coffee-rails-4.2.2.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/coffee-rails/versions/4.2.2.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/coffee-rails/versions/4.2.2.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/coffee-rails@4.2.2" }, { "type": "gem", @@ -1901,7 +1928,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/coffee-script-2.4.1.gem", "size": null, "sha1": null, "md5": null, @@ -1914,8 +1941,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -1937,10 +1964,11 @@ "resolved_package": {} } ], - "purl": "pkg:gem/coffee-script@2.4.1", "repository_homepage_url": "https://rubygems.org/gems/coffee-script/versions/2.4.1", "repository_download_url": "https://rubygems.org/downloads/coffee-script-2.4.1.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/coffee-script/versions/2.4.1.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/coffee-script/versions/2.4.1.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/coffee-script@2.4.1" }, { "type": "gem", @@ -1955,7 +1983,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/railties-5.0.6.gem", "size": null, "sha1": null, "md5": null, @@ -1968,8 +1996,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -2018,10 +2046,11 @@ "resolved_package": {} } ], - "purl": "pkg:gem/railties@5.0.6", "repository_homepage_url": "https://rubygems.org/gems/railties/versions/5.0.6", "repository_download_url": "https://rubygems.org/downloads/railties-5.0.6.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/railties/versions/5.0.6.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/railties/versions/5.0.6.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/railties@5.0.6" }, { "type": "gem", @@ -2036,7 +2065,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/coffee-script-source-1.12.2.gem", "size": null, "sha1": null, "md5": null, @@ -2049,14 +2078,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:gem/coffee-script-source@1.12.2", "repository_homepage_url": "https://rubygems.org/gems/coffee-script-source/versions/1.12.2", "repository_download_url": "https://rubygems.org/downloads/coffee-script-source-1.12.2.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/coffee-script-source/versions/1.12.2.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/coffee-script-source/versions/1.12.2.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/coffee-script-source@1.12.2" }, { "type": "gem", @@ -2071,7 +2101,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/execjs-2.7.0.gem", "size": null, "sha1": null, "md5": null, @@ -2084,14 +2114,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:gem/execjs@2.7.0", "repository_homepage_url": "https://rubygems.org/gems/execjs/versions/2.7.0", "repository_download_url": "https://rubygems.org/downloads/execjs-2.7.0.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/execjs/versions/2.7.0.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/execjs/versions/2.7.0.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/execjs@2.7.0" }, { "type": "gem", @@ -2106,7 +2137,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/crass-1.0.2.gem", "size": null, "sha1": null, "md5": null, @@ -2119,14 +2150,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:gem/crass@1.0.2", "repository_homepage_url": "https://rubygems.org/gems/crass/versions/1.0.2", "repository_download_url": "https://rubygems.org/downloads/crass-1.0.2.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/crass/versions/1.0.2.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/crass/versions/1.0.2.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/crass@1.0.2" }, { "type": "gem", @@ -2141,7 +2173,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/ffi-1.9.18.gem", "size": null, "sha1": null, "md5": null, @@ -2154,14 +2186,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:gem/ffi@1.9.18", "repository_homepage_url": "https://rubygems.org/gems/ffi/versions/1.9.18", "repository_download_url": "https://rubygems.org/downloads/ffi-1.9.18.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/ffi/versions/1.9.18.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/ffi/versions/1.9.18.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/ffi@1.9.18" }, { "type": "gem", @@ -2176,7 +2209,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/jbuilder-2.7.0.gem", "size": null, "sha1": null, "md5": null, @@ -2189,8 +2222,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -2212,10 +2245,11 @@ "resolved_package": {} } ], - "purl": "pkg:gem/jbuilder@2.7.0", "repository_homepage_url": "https://rubygems.org/gems/jbuilder/versions/2.7.0", "repository_download_url": "https://rubygems.org/downloads/jbuilder-2.7.0.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/jbuilder/versions/2.7.0.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/jbuilder/versions/2.7.0.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/jbuilder@2.7.0" }, { "type": "gem", @@ -2230,7 +2264,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/multi_json-1.12.2.gem", "size": null, "sha1": null, "md5": null, @@ -2243,14 +2277,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:gem/multi_json@1.12.2", "repository_homepage_url": "https://rubygems.org/gems/multi_json/versions/1.12.2", "repository_download_url": "https://rubygems.org/downloads/multi_json-1.12.2.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/multi_json/versions/1.12.2.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/multi_json/versions/1.12.2.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/multi_json@1.12.2" }, { "type": "gem", @@ -2265,7 +2300,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/jquery-rails-4.3.1.gem", "size": null, "sha1": null, "md5": null, @@ -2278,8 +2313,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -2310,10 +2345,11 @@ "resolved_package": {} } ], - "purl": "pkg:gem/jquery-rails@4.3.1", "repository_homepage_url": "https://rubygems.org/gems/jquery-rails/versions/4.3.1", "repository_download_url": "https://rubygems.org/downloads/jquery-rails-4.3.1.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/jquery-rails/versions/4.3.1.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/jquery-rails/versions/4.3.1.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/jquery-rails@4.3.1" }, { "type": "gem", @@ -2328,7 +2364,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/thor-0.20.0.gem", "size": null, "sha1": null, "md5": null, @@ -2341,14 +2377,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:gem/thor@0.20.0", "repository_homepage_url": "https://rubygems.org/gems/thor/versions/0.20.0", "repository_download_url": "https://rubygems.org/downloads/thor-0.20.0.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/thor/versions/0.20.0.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/thor/versions/0.20.0.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/thor@0.20.0" }, { "type": "gem", @@ -2363,7 +2400,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/listen-3.0.8.gem", "size": null, "sha1": null, "md5": null, @@ -2376,8 +2413,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -2399,10 +2436,11 @@ "resolved_package": {} } ], - "purl": "pkg:gem/listen@3.0.8", "repository_homepage_url": "https://rubygems.org/gems/listen/versions/3.0.8", "repository_download_url": "https://rubygems.org/downloads/listen-3.0.8.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/listen/versions/3.0.8.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/listen/versions/3.0.8.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/listen@3.0.8" }, { "type": "gem", @@ -2417,7 +2455,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/rb-fsevent-0.10.2.gem", "size": null, "sha1": null, "md5": null, @@ -2430,14 +2468,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:gem/rb-fsevent@0.10.2", "repository_homepage_url": "https://rubygems.org/gems/rb-fsevent/versions/0.10.2", "repository_download_url": "https://rubygems.org/downloads/rb-fsevent-0.10.2.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/rb-fsevent/versions/0.10.2.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/rb-fsevent/versions/0.10.2.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/rb-fsevent@0.10.2" }, { "type": "gem", @@ -2452,7 +2491,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/rb-inotify-0.9.10.gem", "size": null, "sha1": null, "md5": null, @@ -2465,8 +2504,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -2479,10 +2518,11 @@ "resolved_package": {} } ], - "purl": "pkg:gem/rb-inotify@0.9.10", "repository_homepage_url": "https://rubygems.org/gems/rb-inotify/versions/0.9.10", "repository_download_url": "https://rubygems.org/downloads/rb-inotify-0.9.10.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/rb-inotify/versions/0.9.10.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/rb-inotify/versions/0.9.10.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/rb-inotify@0.9.10" }, { "type": "gem", @@ -2497,7 +2537,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/loofah-2.1.1.gem", "size": null, "sha1": null, "md5": null, @@ -2510,8 +2550,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -2533,10 +2573,11 @@ "resolved_package": {} } ], - "purl": "pkg:gem/loofah@2.1.1", "repository_homepage_url": "https://rubygems.org/gems/loofah/versions/2.1.1", "repository_download_url": "https://rubygems.org/downloads/loofah-2.1.1.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/loofah/versions/2.1.1.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/loofah/versions/2.1.1.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/loofah@2.1.1" }, { "type": "gem", @@ -2551,7 +2592,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/nokogiri-1.8.1.gem", "size": null, "sha1": null, "md5": null, @@ -2564,8 +2605,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -2578,10 +2619,11 @@ "resolved_package": {} } ], - "purl": "pkg:gem/nokogiri@1.8.1", "repository_homepage_url": "https://rubygems.org/gems/nokogiri/versions/1.8.1", "repository_download_url": "https://rubygems.org/downloads/nokogiri-1.8.1.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/nokogiri/versions/1.8.1.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/nokogiri/versions/1.8.1.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/nokogiri@1.8.1" }, { "type": "gem", @@ -2596,7 +2638,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/mime-types-3.1.gem", "size": null, "sha1": null, "md5": null, @@ -2609,8 +2651,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -2623,10 +2665,11 @@ "resolved_package": {} } ], - "purl": "pkg:gem/mime-types@3.1", "repository_homepage_url": "https://rubygems.org/gems/mime-types/versions/3.1", "repository_download_url": "https://rubygems.org/downloads/mime-types-3.1.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/mime-types/versions/3.1.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/mime-types/versions/3.1.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/mime-types@3.1" }, { "type": "gem", @@ -2641,7 +2684,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/method_source-0.9.0.gem", "size": null, "sha1": null, "md5": null, @@ -2654,14 +2697,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:gem/method_source@0.9.0", "repository_homepage_url": "https://rubygems.org/gems/method_source/versions/0.9.0", "repository_download_url": "https://rubygems.org/downloads/method_source-0.9.0.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/method_source/versions/0.9.0.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/method_source/versions/0.9.0.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/method_source@0.9.0" }, { "type": "gem", @@ -2676,7 +2720,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/mime-types-data-3.2016.0521.gem", "size": null, "sha1": null, "md5": null, @@ -2689,14 +2733,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:gem/mime-types-data@3.2016.0521", "repository_homepage_url": "https://rubygems.org/gems/mime-types-data/versions/3.2016.0521", "repository_download_url": "https://rubygems.org/downloads/mime-types-data-3.2016.0521.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/mime-types-data/versions/3.2016.0521.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/mime-types-data/versions/3.2016.0521.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/mime-types-data@3.2016.0521" }, { "type": "gem", @@ -2711,7 +2756,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/mini_portile2-2.3.0.gem", "size": null, "sha1": null, "md5": null, @@ -2724,14 +2769,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:gem/mini_portile2@2.3.0", "repository_homepage_url": "https://rubygems.org/gems/mini_portile2/versions/2.3.0", "repository_download_url": "https://rubygems.org/downloads/mini_portile2-2.3.0.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/mini_portile2/versions/2.3.0.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/mini_portile2/versions/2.3.0.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/mini_portile2@2.3.0" }, { "type": "gem", @@ -2746,7 +2792,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/puma-3.10.0.gem", "size": null, "sha1": null, "md5": null, @@ -2759,14 +2805,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:gem/puma@3.10.0", "repository_homepage_url": "https://rubygems.org/gems/puma/versions/3.10.0", "repository_download_url": "https://rubygems.org/downloads/puma-3.10.0.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/puma/versions/3.10.0.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/puma/versions/3.10.0.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/puma@3.10.0" }, { "type": "gem", @@ -2781,7 +2828,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/rails-5.0.6.gem", "size": null, "sha1": null, "md5": null, @@ -2794,8 +2841,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -2889,10 +2936,11 @@ "resolved_package": {} } ], - "purl": "pkg:gem/rails@5.0.6", "repository_homepage_url": "https://rubygems.org/gems/rails/versions/5.0.6", "repository_download_url": "https://rubygems.org/downloads/rails-5.0.6.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/rails/versions/5.0.6.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/rails/versions/5.0.6.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/rails@5.0.6" }, { "type": "gem", @@ -2907,7 +2955,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/sprockets-rails-3.2.1.gem", "size": null, "sha1": null, "md5": null, @@ -2920,8 +2968,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -2952,10 +3000,11 @@ "resolved_package": {} } ], - "purl": "pkg:gem/sprockets-rails@3.2.1", "repository_homepage_url": "https://rubygems.org/gems/sprockets-rails/versions/3.2.1", "repository_download_url": "https://rubygems.org/downloads/sprockets-rails-3.2.1.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/sprockets-rails/versions/3.2.1.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/sprockets-rails/versions/3.2.1.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/sprockets-rails@3.2.1" }, { "type": "gem", @@ -2970,7 +3019,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/rake-12.1.0.gem", "size": null, "sha1": null, "md5": null, @@ -2983,14 +3032,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:gem/rake@12.1.0", "repository_homepage_url": "https://rubygems.org/gems/rake/versions/12.1.0", "repository_download_url": "https://rubygems.org/downloads/rake-12.1.0.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/rake/versions/12.1.0.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/rake/versions/12.1.0.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/rake@12.1.0" }, { "type": "gem", @@ -3005,7 +3055,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/sass-3.5.2.gem", "size": null, "sha1": null, "md5": null, @@ -3018,8 +3068,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -3032,10 +3082,11 @@ "resolved_package": {} } ], - "purl": "pkg:gem/sass@3.5.2", "repository_homepage_url": "https://rubygems.org/gems/sass/versions/3.5.2", "repository_download_url": "https://rubygems.org/downloads/sass-3.5.2.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/sass/versions/3.5.2.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/sass/versions/3.5.2.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/sass@3.5.2" }, { "type": "gem", @@ -3050,7 +3101,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/sass-listen-4.0.0.gem", "size": null, "sha1": null, "md5": null, @@ -3063,8 +3114,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -3086,10 +3137,11 @@ "resolved_package": {} } ], - "purl": "pkg:gem/sass-listen@4.0.0", "repository_homepage_url": "https://rubygems.org/gems/sass-listen/versions/4.0.0", "repository_download_url": "https://rubygems.org/downloads/sass-listen-4.0.0.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/sass-listen/versions/4.0.0.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/sass-listen/versions/4.0.0.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/sass-listen@4.0.0" }, { "type": "gem", @@ -3104,7 +3156,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/sass-rails-5.0.6.gem", "size": null, "sha1": null, "md5": null, @@ -3117,8 +3169,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -3167,10 +3219,11 @@ "resolved_package": {} } ], - "purl": "pkg:gem/sass-rails@5.0.6", "repository_homepage_url": "https://rubygems.org/gems/sass-rails/versions/5.0.6", "repository_download_url": "https://rubygems.org/downloads/sass-rails-5.0.6.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/sass-rails/versions/5.0.6.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/sass-rails/versions/5.0.6.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/sass-rails@5.0.6" }, { "type": "gem", @@ -3185,7 +3238,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/sprockets-3.7.1.gem", "size": null, "sha1": null, "md5": null, @@ -3198,8 +3251,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -3221,10 +3274,11 @@ "resolved_package": {} } ], - "purl": "pkg:gem/sprockets@3.7.1", "repository_homepage_url": "https://rubygems.org/gems/sprockets/versions/3.7.1", "repository_download_url": "https://rubygems.org/downloads/sprockets-3.7.1.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/sprockets/versions/3.7.1.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/sprockets/versions/3.7.1.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/sprockets@3.7.1" }, { "type": "gem", @@ -3239,7 +3293,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/tilt-2.0.8.gem", "size": null, "sha1": null, "md5": null, @@ -3252,14 +3306,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:gem/tilt@2.0.8", "repository_homepage_url": "https://rubygems.org/gems/tilt/versions/2.0.8", "repository_download_url": "https://rubygems.org/downloads/tilt-2.0.8.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/tilt/versions/2.0.8.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/tilt/versions/2.0.8.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/tilt@2.0.8" }, { "type": "gem", @@ -3274,7 +3329,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/spring-2.0.2.gem", "size": null, "sha1": null, "md5": null, @@ -3287,8 +3342,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -3301,10 +3356,11 @@ "resolved_package": {} } ], - "purl": "pkg:gem/spring@2.0.2", "repository_homepage_url": "https://rubygems.org/gems/spring/versions/2.0.2", "repository_download_url": "https://rubygems.org/downloads/spring-2.0.2.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/spring/versions/2.0.2.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/spring/versions/2.0.2.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/spring@2.0.2" }, { "type": "gem", @@ -3319,7 +3375,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/spring-watcher-listen-2.0.1.gem", "size": null, "sha1": null, "md5": null, @@ -3332,8 +3388,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -3355,10 +3411,11 @@ "resolved_package": {} } ], - "purl": "pkg:gem/spring-watcher-listen@2.0.1", "repository_homepage_url": "https://rubygems.org/gems/spring-watcher-listen/versions/2.0.1", "repository_download_url": "https://rubygems.org/downloads/spring-watcher-listen-2.0.1.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/spring-watcher-listen/versions/2.0.1.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/spring-watcher-listen/versions/2.0.1.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/spring-watcher-listen@2.0.1" }, { "type": "gem", @@ -3373,7 +3430,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/sqlite3-1.3.13.gem", "size": null, "sha1": null, "md5": null, @@ -3386,14 +3443,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:gem/sqlite3@1.3.13", "repository_homepage_url": "https://rubygems.org/gems/sqlite3/versions/1.3.13", "repository_download_url": "https://rubygems.org/downloads/sqlite3-1.3.13.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/sqlite3/versions/1.3.13.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/sqlite3/versions/1.3.13.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/sqlite3@1.3.13" }, { "type": "gem", @@ -3408,7 +3466,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/thread_safe-0.3.6.gem", "size": null, "sha1": null, "md5": null, @@ -3421,14 +3479,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:gem/thread_safe@0.3.6", "repository_homepage_url": "https://rubygems.org/gems/thread_safe/versions/0.3.6", "repository_download_url": "https://rubygems.org/downloads/thread_safe-0.3.6.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/thread_safe/versions/0.3.6.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/thread_safe/versions/0.3.6.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/thread_safe@0.3.6" }, { "type": "gem", @@ -3443,7 +3502,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/turbolinks-5.0.1.gem", "size": null, "sha1": null, "md5": null, @@ -3456,8 +3515,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -3470,10 +3529,11 @@ "resolved_package": {} } ], - "purl": "pkg:gem/turbolinks@5.0.1", "repository_homepage_url": "https://rubygems.org/gems/turbolinks/versions/5.0.1", "repository_download_url": "https://rubygems.org/downloads/turbolinks-5.0.1.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/turbolinks/versions/5.0.1.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/turbolinks/versions/5.0.1.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/turbolinks@5.0.1" }, { "type": "gem", @@ -3488,7 +3548,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/turbolinks-source-5.0.3.gem", "size": null, "sha1": null, "md5": null, @@ -3501,14 +3561,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:gem/turbolinks-source@5.0.3", "repository_homepage_url": "https://rubygems.org/gems/turbolinks-source/versions/5.0.3", "repository_download_url": "https://rubygems.org/downloads/turbolinks-source-5.0.3.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/turbolinks-source/versions/5.0.3.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/turbolinks-source/versions/5.0.3.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/turbolinks-source@5.0.3" }, { "type": "gem", @@ -3523,7 +3584,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/uglifier-3.2.0.gem", "size": null, "sha1": null, "md5": null, @@ -3536,8 +3597,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -3550,10 +3611,11 @@ "resolved_package": {} } ], - "purl": "pkg:gem/uglifier@3.2.0", "repository_homepage_url": "https://rubygems.org/gems/uglifier/versions/3.2.0", "repository_download_url": "https://rubygems.org/downloads/uglifier-3.2.0.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/uglifier/versions/3.2.0.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/uglifier/versions/3.2.0.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/uglifier@3.2.0" }, { "type": "gem", @@ -3568,7 +3630,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/web-console-3.5.1.gem", "size": null, "sha1": null, "md5": null, @@ -3581,8 +3643,8 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -3622,10 +3684,11 @@ "resolved_package": {} } ], - "purl": "pkg:gem/web-console@3.5.1", "repository_homepage_url": "https://rubygems.org/gems/web-console/versions/3.5.1", "repository_download_url": "https://rubygems.org/downloads/web-console-3.5.1.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/web-console/versions/3.5.1.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/web-console/versions/3.5.1.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/web-console@3.5.1" }, { "type": "gem", @@ -3640,7 +3703,7 @@ "parties": [], "keywords": [], "homepage_url": null, - "download_url": null, + "download_url": "https://rubygems.org/downloads/websocket-extensions-0.1.2.gem", "size": null, "sha1": null, "md5": null, @@ -3653,14 +3716,15 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:gem/websocket-extensions@0.1.2", "repository_homepage_url": "https://rubygems.org/gems/websocket-extensions/versions/0.1.2", "repository_download_url": "https://rubygems.org/downloads/websocket-extensions-0.1.2.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/websocket-extensions/versions/0.1.2.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/websocket-extensions/versions/0.1.2.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/websocket-extensions@0.1.2" }, { "type": "gem", @@ -3688,13 +3752,14 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:gem/tzinfo-data", "repository_homepage_url": "https://rubygems.org/gems/tzinfo-data", "repository_download_url": null, - "api_data_url": "https://rubygems.org/api/v1/versions/tzinfo-data.json" + "api_data_url": "https://rubygems.org/api/v1/versions/tzinfo-data.json", + "datasource_id": "gemfile_lock", + "purl": "pkg:gem/tzinfo-data" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/rubygems/gemfile-lock/complex/Gemfile.lock b/tests/packagedcode/data/rubygems/gemfile-lock/complex/Gemfile.lock new file mode 100644 index 00000000000..586fe738649 --- /dev/null +++ b/tests/packagedcode/data/rubygems/gemfile-lock/complex/Gemfile.lock @@ -0,0 +1,640 @@ +GIT + remote: https://github.com/QueueClassic/queue_classic.git + revision: 1e40ddd810c416619ead88316b2b251936ee2495 + specs: + queue_classic (4.0.0.pre.alpha1) + pg (>= 0.17, < 2.0) + +GIT + remote: https://github.com/brianmario/mysql2.git + revision: e2503dc6e8ad02f8c2f4fc71006f9840694e319c + specs: + mysql2 (0.5.3) + +GIT + remote: https://github.com/matthewd/websocket-client-simple.git + revision: e161305f1a466b9398d86df3b1731b03362da91b + branch: close-race + specs: + websocket-client-simple (0.3.0) + event_emitter + websocket + +PATH + remote: . + specs: + actioncable (7.0.0.alpha) + actionpack (= 7.0.0.alpha) + activesupport (= 7.0.0.alpha) + nio4r (~> 2.0) + websocket-driver (>= 0.6.1) + actionmailbox (7.0.0.alpha) + actionpack (= 7.0.0.alpha) + activejob (= 7.0.0.alpha) + activerecord (= 7.0.0.alpha) + activestorage (= 7.0.0.alpha) + activesupport (= 7.0.0.alpha) + mail (>= 2.7.1) + actionmailer (7.0.0.alpha) + actionpack (= 7.0.0.alpha) + actionview (= 7.0.0.alpha) + activejob (= 7.0.0.alpha) + activesupport (= 7.0.0.alpha) + mail (~> 2.5, >= 2.5.4) + rails-dom-testing (~> 2.0) + actionpack (7.0.0.alpha) + actionview (= 7.0.0.alpha) + activesupport (= 7.0.0.alpha) + rack (~> 2.0, >= 2.0.9) + rack-test (>= 0.6.3) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.0, >= 1.2.0) + actiontext (7.0.0.alpha) + actionpack (= 7.0.0.alpha) + activerecord (= 7.0.0.alpha) + activestorage (= 7.0.0.alpha) + activesupport (= 7.0.0.alpha) + nokogiri (>= 1.8.5) + actionview (7.0.0.alpha) + activesupport (= 7.0.0.alpha) + builder (~> 3.1) + erubi (~> 1.4) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.1, >= 1.2.0) + activejob (7.0.0.alpha) + activesupport (= 7.0.0.alpha) + globalid (>= 0.3.6) + activemodel (7.0.0.alpha) + activesupport (= 7.0.0.alpha) + activerecord (7.0.0.alpha) + activemodel (= 7.0.0.alpha) + activesupport (= 7.0.0.alpha) + activestorage (7.0.0.alpha) + actionpack (= 7.0.0.alpha) + activejob (= 7.0.0.alpha) + activerecord (= 7.0.0.alpha) + activesupport (= 7.0.0.alpha) + marcel (~> 0.3.1) + mimemagic (~> 0.3.2) + activesupport (7.0.0.alpha) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 1.6, < 2) + minitest (>= 5.1) + tzinfo (~> 2.0) + zeitwerk (~> 2.3) + rails (7.0.0.alpha) + actioncable (= 7.0.0.alpha) + actionmailbox (= 7.0.0.alpha) + actionmailer (= 7.0.0.alpha) + actionpack (= 7.0.0.alpha) + actiontext (= 7.0.0.alpha) + actionview (= 7.0.0.alpha) + activejob (= 7.0.0.alpha) + activemodel (= 7.0.0.alpha) + activerecord (= 7.0.0.alpha) + activestorage (= 7.0.0.alpha) + activesupport (= 7.0.0.alpha) + bundler (>= 1.15.0) + railties (= 7.0.0.alpha) + sprockets-rails (>= 2.0.0) + railties (7.0.0.alpha) + actionpack (= 7.0.0.alpha) + activesupport (= 7.0.0.alpha) + method_source + rake (>= 0.8.7) + thor (~> 1.0) + +GEM + remote: https://rubygems.org/ + specs: + activerecord-jdbc-adapter (61.0-java) + activerecord (~> 6.1.0) + activerecord-jdbcmysql-adapter (61.0-java) + activerecord-jdbc-adapter (= 61.0) + jdbc-mysql (~> 5.1.36, < 9) + activerecord-jdbcpostgresql-adapter (61.0-java) + activerecord-jdbc-adapter (= 61.0) + jdbc-postgres (>= 9.4, < 43) + activerecord-jdbcsqlite3-adapter (61.0-java) + activerecord-jdbc-adapter (= 61.0) + jdbc-sqlite3 (~> 3.8, < 3.30) + addressable (2.7.0) + public_suffix (>= 2.0.2, < 5.0) + amq-protocol (2.3.2) + ansi (1.5.0) + ast (2.4.1) + aws-eventstream (1.1.0) + aws-partitions (1.417.0) + aws-sdk-core (3.111.2) + aws-eventstream (~> 1, >= 1.0.2) + aws-partitions (~> 1, >= 1.239.0) + aws-sigv4 (~> 1.1) + jmespath (~> 1.0) + aws-sdk-kms (1.41.0) + aws-sdk-core (~> 3, >= 3.109.0) + aws-sigv4 (~> 1.1) + aws-sdk-s3 (1.87.0) + aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-kms (~> 1) + aws-sigv4 (~> 1.1) + aws-sdk-sns (1.37.0) + aws-sdk-core (~> 3, >= 3.109.0) + aws-sigv4 (~> 1.1) + aws-sigv4 (1.2.2) + aws-eventstream (~> 1, >= 1.0.2) + azure-storage-blob (2.0.1) + azure-storage-common (~> 2.0) + nokogiri (~> 1.11.0.rc2) + azure-storage-common (2.0.2) + faraday (~> 1.0) + faraday_middleware (~> 1.0.0.rc1) + net-http-persistent (~> 4.0) + nokogiri (~> 1.11.0.rc2) + backburner (1.5.0) + beaneater (~> 1.0) + concurrent-ruby (~> 1.0, >= 1.0.1) + dante (> 0.1.5) + bcrypt (3.1.16) + bcrypt (3.1.16-java) + beaneater (1.0.0) + benchmark-ips (2.8.4) + blade (0.7.1) + activesupport (>= 3.0.0) + blade-qunit_adapter (~> 2.0.1) + coffee-script + coffee-script-source + curses (~> 1.0.0) + eventmachine + faye + sprockets (>= 3.0) + thin (>= 1.6.0) + thor (>= 0.19.1) + useragent (~> 0.16.7) + blade-qunit_adapter (2.0.1) + bootsnap (1.5.1) + msgpack (~> 1.0) + bootsnap (1.5.1-java) + msgpack (~> 1.0) + builder (3.2.4) + bunny (2.17.0) + amq-protocol (~> 2.3, >= 2.3.1) + byebug (11.1.3) + capybara (3.34.0) + addressable + mini_mime (>= 0.1.3) + nokogiri (~> 1.8) + rack (>= 1.6.0) + rack-test (>= 0.6.3) + regexp_parser (~> 1.5) + xpath (~> 3.2) + childprocess (4.0.0) + coffee-script (2.4.1) + coffee-script-source + execjs + coffee-script-source (1.12.2) + concurrent-ruby (1.1.8) + connection_pool (2.2.3) + cookiejar (0.3.3) + crack (0.4.5) + rexml + crass (1.0.6) + curses (1.0.2) + daemons (1.3.1) + dalli (2.7.11) + dante (0.2.0) + declarative (0.0.20) + declarative-option (0.1.0) + delayed_job (4.1.9) + activesupport (>= 3.0, < 6.2) + delayed_job_active_record (4.1.5) + activerecord (>= 3.0, < 6.2) + delayed_job (>= 3.0, < 5) + digest-crc (0.6.3) + rake (>= 12.0.0, < 14.0.0) + em-http-request (1.1.7) + addressable (>= 2.3.4) + cookiejar (!= 0.3.1) + em-socksify (>= 0.3) + eventmachine (>= 1.0.3) + http_parser.rb (>= 0.6.0) + em-socksify (0.3.2) + eventmachine (>= 1.0.0.beta.4) + erubi (1.10.0) + et-orbi (1.2.4) + tzinfo + event_emitter (0.2.6) + eventmachine (1.2.7) + execjs (2.7.0) + faraday (1.3.0) + faraday-net_http (~> 1.0) + multipart-post (>= 1.2, < 3) + ruby2_keywords + faraday-net_http (1.0.1) + faraday_middleware (1.0.0) + faraday (~> 1.0) + faye (1.4.0) + cookiejar (>= 0.3.0) + em-http-request (>= 1.1.6) + eventmachine (>= 0.12.0) + faye-websocket (>= 0.11.0) + multi_json (>= 1.0.0) + rack (>= 1.0.0) + websocket-driver (>= 0.5.1) + faye-websocket (0.11.0) + eventmachine (>= 0.12.0) + websocket-driver (>= 0.5.1) + ffi (1.14.2) + ffi (1.14.2-java) + ffi (1.14.2-x64-mingw32) + ffi (1.14.2-x86-mingw32) + fugit (1.4.2) + et-orbi (~> 1.1, >= 1.1.8) + raabro (~> 1.4) + globalid (0.4.2) + activesupport (>= 4.2.0) + google-apis-core (0.2.0) + addressable (~> 2.5, >= 2.5.1) + googleauth (~> 0.14) + httpclient (>= 2.8.1, < 3.0) + mini_mime (~> 1.0) + representable (~> 3.0) + retriable (>= 2.0, < 4.0) + rexml + signet (~> 0.14) + google-apis-iamcredentials_v1 (0.1.0) + google-apis-core (~> 0.1) + google-apis-storage_v1 (0.1.0) + google-apis-core (~> 0.1) + google-cloud-core (1.5.0) + google-cloud-env (~> 1.0) + google-cloud-errors (~> 1.0) + google-cloud-env (1.4.0) + faraday (>= 0.17.3, < 2.0) + google-cloud-errors (1.0.1) + google-cloud-storage (1.30.0) + addressable (~> 2.5) + digest-crc (~> 0.4) + google-apis-iamcredentials_v1 (~> 0.1) + google-apis-storage_v1 (~> 0.1) + google-cloud-core (~> 1.2) + googleauth (~> 0.9) + mini_mime (~> 1.0) + googleauth (0.14.0) + faraday (>= 0.17.3, < 2.0) + jwt (>= 1.4, < 3.0) + memoist (~> 0.16) + multi_json (~> 1.11) + os (>= 0.9, < 2.0) + signet (~> 0.14) + hashdiff (1.0.1) + hiredis (0.6.3) + hiredis (0.6.3-java) + http_parser.rb (0.6.0) + httpclient (2.8.3) + i18n (1.8.7) + concurrent-ruby (~> 1.0) + image_processing (1.12.1) + mini_magick (>= 4.9.5, < 5) + ruby-vips (>= 2.0.17, < 3) + jdbc-mysql (5.1.47) + jdbc-postgres (42.2.14) + jdbc-sqlite3 (3.28.0) + jmespath (1.4.0) + json (2.5.1) + json (2.5.1-java) + jwt (2.2.2) + kindlerb (1.2.0) + mustache + nokogiri + libxml-ruby (3.2.1) + listen (3.4.1) + rb-fsevent (~> 0.10, >= 0.10.3) + rb-inotify (~> 0.9, >= 0.9.10) + loofah (2.9.0) + crass (~> 1.0.2) + nokogiri (>= 1.5.9) + mail (2.7.1) + mini_mime (>= 0.1.1) + marcel (0.3.3) + mimemagic (~> 0.3.2) + memoist (0.16.2) + method_source (1.0.0) + mimemagic (0.3.5) + mini_magick (4.11.0) + mini_mime (1.0.2) + mini_portile2 (2.5.0) + minitest (5.14.3) + minitest-bisect (1.5.1) + minitest-server (~> 1.0) + path_expander (~> 1.1) + minitest-reporters (1.4.2) + ansi + builder + minitest (>= 5.0) + ruby-progressbar + minitest-retry (0.2.1) + minitest (>= 5.0) + minitest-server (1.0.6) + minitest (~> 5.0) + mono_logger (1.1.0) + msgpack (1.3.3) + msgpack (1.3.3-java) + msgpack (1.3.3-x64-mingw32) + msgpack (1.3.3-x86-mingw32) + multi_json (1.15.0) + multipart-post (2.1.1) + mustache (1.1.1) + mustermann (1.1.1) + ruby2_keywords (~> 0.0.1) + net-http-persistent (4.0.1) + connection_pool (~> 2.2) + nio4r (2.5.4) + nio4r (2.5.4-java) + nokogiri (1.11.1) + mini_portile2 (~> 2.5.0) + racc (~> 1.4) + nokogiri (1.11.1-java) + racc (~> 1.4) + nokogiri (1.11.1-x64-mingw32) + racc (~> 1.4) + nokogiri (1.11.1-x86-mingw32) + racc (~> 1.4) + nokogiri (1.11.1-x86_64-darwin) + racc (~> 1.4) + os (1.1.1) + parallel (1.20.1) + parser (3.0.0.0) + ast (~> 2.4.1) + path_expander (1.1.0) + pg (1.2.3) + pg (1.2.3-x64-mingw32) + pg (1.2.3-x86-mingw32) + psych (3.3.0) + public_suffix (4.0.6) + puma (5.1.1) + nio4r (~> 2.0) + puma (5.1.1-java) + nio4r (~> 2.0) + que (0.14.3) + qunit-selenium (0.0.4) + selenium-webdriver + thor + raabro (1.4.0) + racc (1.5.2) + rack (2.2.3) + rack-cache (1.12.1) + rack (>= 0.4) + rack-protection (2.1.0) + rack + rack-proxy (0.6.5) + rack + rack-test (1.1.0) + rack (>= 1.0, < 3) + rails-dom-testing (2.0.3) + activesupport (>= 4.2.0) + nokogiri (>= 1.6) + rails-html-sanitizer (1.3.0) + loofah (~> 2.3) + rainbow (3.0.0) + rake (13.0.3) + rb-fsevent (0.10.4) + rb-inotify (0.10.1) + ffi (~> 1.0) + rdoc (6.3.0) + redcarpet (3.2.3) + redis (4.2.5) + redis-namespace (1.8.1) + redis (>= 3.0.4) + regexp_parser (1.8.2) + representable (3.0.4) + declarative (< 0.1.0) + declarative-option (< 0.2.0) + uber (< 0.2.0) + resque (2.0.0) + mono_logger (~> 1.0) + multi_json (~> 1.0) + redis-namespace (~> 1.6) + sinatra (>= 0.9.2) + vegas (~> 0.1.2) + resque-scheduler (4.4.0) + mono_logger (~> 1.0) + redis (>= 3.3) + resque (>= 1.26) + rufus-scheduler (~> 3.2) + retriable (3.1.2) + rexml (3.2.4) + rouge (3.26.0) + rubocop (1.8.1) + parallel (~> 1.10) + parser (>= 3.0.0.0) + rainbow (>= 2.2.2, < 4.0) + regexp_parser (>= 1.8, < 3.0) + rexml + rubocop-ast (>= 1.2.0, < 2.0) + ruby-progressbar (~> 1.7) + unicode-display_width (>= 1.4.0, < 3.0) + rubocop-ast (1.4.0) + parser (>= 2.7.1.5) + rubocop-packaging (0.5.1) + rubocop (>= 0.89, < 2.0) + rubocop-performance (1.9.2) + rubocop (>= 0.90.0, < 2.0) + rubocop-ast (>= 0.4.0) + rubocop-rails (2.9.1) + activesupport (>= 4.2.0) + rack (>= 1.1) + rubocop (>= 0.90.0, < 2.0) + ruby-progressbar (1.11.0) + ruby-vips (2.0.17) + ffi (~> 1.9) + ruby2_keywords (0.0.4) + rubyzip (2.3.0) + rufus-scheduler (3.7.0) + fugit (~> 1.1, >= 1.1.6) + sass-rails (6.0.0) + sassc-rails (~> 2.1, >= 2.1.1) + sassc (2.4.0) + ffi (~> 1.9) + sassc (2.4.0-x64-mingw32) + ffi (~> 1.9) + sassc-rails (2.1.2) + railties (>= 4.0.0) + sassc (>= 2.0) + sprockets (> 3.0) + sprockets-rails + tilt + sdoc (2.0.4) + rdoc (>= 5.0) + selenium-webdriver (4.0.0.alpha7) + childprocess (>= 0.5, < 5.0) + rubyzip (>= 1.2.2) + websocket (~> 1.0) + semantic_range (2.3.1) + sequel (5.40.0) + serverengine (2.0.7) + sigdump (~> 0.2.2) + sidekiq (6.1.3) + connection_pool (>= 2.2.2) + rack (~> 2.0) + redis (>= 4.2.0) + sigdump (0.2.4) + signet (0.14.0) + addressable (~> 2.3) + faraday (>= 0.17.3, < 2.0) + jwt (>= 1.5, < 3.0) + multi_json (~> 1.10) + sinatra (2.1.0) + mustermann (~> 1.0) + rack (~> 2.2) + rack-protection (= 2.1.0) + tilt (~> 2.0) + sneakers (2.11.0) + bunny (~> 2.12) + concurrent-ruby (~> 1.0) + rake + serverengine (~> 2.0.5) + thor + sprockets (4.0.2) + concurrent-ruby (~> 1.0) + rack (> 1, < 3) + sprockets-export (1.0.0) + sprockets-rails (3.2.2) + actionpack (>= 4.0) + activesupport (>= 4.0) + sprockets (>= 3.0.0) + sqlite3 (1.4.2) + stackprof (0.2.16) + sucker_punch (2.1.2) + concurrent-ruby (~> 1.0) + thin (1.8.0) + daemons (~> 1.0, >= 1.0.9) + eventmachine (~> 1.0, >= 1.0.4) + rack (>= 1, < 3) + thor (1.1.0) + tilt (2.0.10) + turbolinks (5.2.1) + turbolinks-source (~> 5.2) + turbolinks-source (5.2.0) + tzinfo (2.0.4) + concurrent-ruby (~> 1.0) + tzinfo-data (1.2020.6) + tzinfo (>= 1.0.0) + uber (0.1.0) + uglifier (4.2.0) + execjs (>= 0.3.0, < 3) + unicode-display_width (2.0.0) + useragent (0.16.10) + vegas (0.1.11) + rack (>= 1.0.0) + w3c_validators (1.3.6) + json (>= 1.8) + nokogiri (~> 1.6) + rexml (~> 3.2) + wdm (0.1.1) + webdrivers (4.5.0) + nokogiri (~> 1.6) + rubyzip (>= 1.3.0) + selenium-webdriver (>= 3.0, < 4.0) + webmock (3.11.1) + addressable (>= 2.3.6) + crack (>= 0.3.2) + hashdiff (>= 0.4.0, < 2.0.0) + webpacker (5.2.1) + activesupport (>= 5.2) + rack-proxy (>= 0.6.1) + railties (>= 5.2) + semantic_range (>= 2.3.0) + webrick (1.7.0) + websocket (1.2.9) + websocket-driver (0.7.3) + websocket-extensions (>= 0.1.0) + websocket-driver (0.7.3-java) + websocket-extensions (>= 0.1.0) + websocket-extensions (0.1.5) + xpath (3.2.0) + nokogiri (~> 1.8) + zeitwerk (2.4.2) + +PLATFORMS + java + mswin64 + ruby + x64-mingw32 + x86-mingw32 + x86-mswin32 + x86_64-darwin-19 + +DEPENDENCIES + activerecord-jdbcmysql-adapter (>= 1.3.0) + activerecord-jdbcpostgresql-adapter (>= 1.3.0) + activerecord-jdbcsqlite3-adapter (>= 1.3.0) + aws-sdk-s3 + aws-sdk-sns + azure-storage-blob + backburner + bcrypt (~> 3.1.11) + benchmark-ips + blade + bootsnap (>= 1.4.4) + byebug + capybara (>= 3.26) + connection_pool + dalli + delayed_job + delayed_job_active_record + google-cloud-storage (~> 1.11) + hiredis + image_processing (~> 1.2) + json (>= 2.0.0) + kindlerb (~> 1.2.0) + libxml-ruby + listen (~> 3.3) + minitest-bisect + minitest-reporters + minitest-retry + mysql2 (~> 0.5)! + nokogiri (>= 1.8.1, != 1.11.0) + pg (~> 1.1) + psych (~> 3.0) + puma + que + queue_classic! + qunit-selenium + racc (>= 1.4.6) + rack-cache (~> 1.2) + rails! + rake (>= 11.1) + redcarpet (~> 3.2.3) + redis (~> 4.0) + redis-namespace + resque + resque-scheduler + rexml + rouge + rubocop (>= 0.90) + rubocop-packaging + rubocop-performance + rubocop-rails + sass-rails + sdoc (>= 2.0.4) + selenium-webdriver (>= 4.0.0.alpha7) + sequel + sidekiq + sneakers + sprockets-export + sqlite3 (~> 1.4) + stackprof + sucker_punch + turbolinks (~> 5) + tzinfo-data + uglifier (>= 1.3.0) + w3c_validators (~> 1.3.6) + wdm (>= 0.1.0) + webdrivers + webmock + webpacker (~> 5.0) + webrick + websocket-client-simple! + +BUNDLED WITH + 2.2.3 diff --git a/tests/packagedcode/data/rubygems/gemfile-lock/complex/origin.ABOUT b/tests/packagedcode/data/rubygems/gemfile-lock/complex/origin.ABOUT new file mode 100644 index 00000000000..d3a185e8801 --- /dev/null +++ b/tests/packagedcode/data/rubygems/gemfile-lock/complex/origin.ABOUT @@ -0,0 +1,2 @@ +date: 2022-04-01 +download_url: https://raw.githubusercontent.com/github/linguist/32ec19c013a7f81ffaeead25e6e8f9668c7ed574/samples/Gemfile.lock/filenames/Gemfile.lock diff --git a/tests/packagedcode/data/rubygems/gemfile/1/Gemfile b/tests/packagedcode/data/rubygems/gemfile/1/Gemfile new file mode 100644 index 00000000000..91880bb58c4 --- /dev/null +++ b/tests/packagedcode/data/rubygems/gemfile/1/Gemfile @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +source 'https://rubygems.org' +git_source(:github) { |repo| "https://github.com/#{repo}.git" } + +ruby '2.6.3' + + +gem 'active_model_serializers' +gem 'bootsnap', '>= 1.4.2', require: false +gem 'jbuilder', '~> 2.7' +gem 'pg', '>= 0.18', '< 2.0' +gem 'puma', '~> 4.1' +gem 'rack-cors' +gem 'rails', '~> 6.0.4', '>= 6.0.4.7' + +group :development, :test do + gem 'byebug', platforms: %i[mri mingw x64_mingw] + gem 'rspec-rails', '~> 5.0.0' +end + +group :development do + gem 'factory_bot_rails' + gem 'faker' + gem 'listen', '~> 3.2' + gem 'spring' + gem 'spring-watcher-listen', '~> 2.0.0' +end + +gem 'tzinfo-data', platforms: %i[mingw mswin x64_mingw jruby] diff --git a/tests/packagedcode/data/rubygems/gemfile/1/Gemfile.lock b/tests/packagedcode/data/rubygems/gemfile/1/Gemfile.lock new file mode 100644 index 00000000000..e3ae155e53d --- /dev/null +++ b/tests/packagedcode/data/rubygems/gemfile/1/Gemfile.lock @@ -0,0 +1,207 @@ +GEM + remote: https://rubygems.org/ + specs: + actioncable (6.0.4.7) + actionpack (= 6.0.4.7) + nio4r (~> 2.0) + websocket-driver (>= 0.6.1) + actionmailbox (6.0.4.7) + actionpack (= 6.0.4.7) + activejob (= 6.0.4.7) + activerecord (= 6.0.4.7) + activestorage (= 6.0.4.7) + activesupport (= 6.0.4.7) + mail (>= 2.7.1) + actionmailer (6.0.4.7) + actionpack (= 6.0.4.7) + actionview (= 6.0.4.7) + activejob (= 6.0.4.7) + mail (~> 2.5, >= 2.5.4) + rails-dom-testing (~> 2.0) + actionpack (6.0.4.7) + actionview (= 6.0.4.7) + activesupport (= 6.0.4.7) + rack (~> 2.0, >= 2.0.8) + rack-test (>= 0.6.3) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.0, >= 1.2.0) + actiontext (6.0.4.7) + actionpack (= 6.0.4.7) + activerecord (= 6.0.4.7) + activestorage (= 6.0.4.7) + activesupport (= 6.0.4.7) + nokogiri (>= 1.8.5) + actionview (6.0.4.7) + activesupport (= 6.0.4.7) + builder (~> 3.1) + erubi (~> 1.4) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.1, >= 1.2.0) + active_model_serializers (0.10.10) + actionpack (>= 4.1, < 6.1) + activemodel (>= 4.1, < 6.1) + case_transform (>= 0.2) + jsonapi-renderer (>= 0.1.1.beta1, < 0.3) + activejob (6.0.4.7) + activesupport (= 6.0.4.7) + globalid (>= 0.3.6) + activemodel (6.0.4.7) + activesupport (= 6.0.4.7) + activerecord (6.0.4.7) + activemodel (= 6.0.4.7) + activesupport (= 6.0.4.7) + activestorage (6.0.4.7) + actionpack (= 6.0.4.7) + activejob (= 6.0.4.7) + activerecord (= 6.0.4.7) + marcel (~> 1.0.0) + activesupport (6.0.4.7) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 0.7, < 2) + minitest (~> 5.1) + tzinfo (~> 1.1) + zeitwerk (~> 2.2, >= 2.2.2) + bootsnap (1.11.1) + msgpack (~> 1.2) + builder (3.2.4) + byebug (11.1.3) + case_transform (0.2) + activesupport + concurrent-ruby (1.1.9) + crass (1.0.6) + diff-lcs (1.5.0) + erubi (1.10.0) + factory_bot (6.1.0) + activesupport (>= 5.0.0) + factory_bot_rails (6.1.0) + factory_bot (~> 6.1.0) + railties (>= 5.0.0) + faker (2.17.0) + i18n (>= 1.6, < 2) + ffi (1.15.5) + globalid (1.0.0) + activesupport (>= 5.0) + i18n (1.10.0) + concurrent-ruby (~> 1.0) + jbuilder (2.11.2) + activesupport (>= 5.0.0) + jsonapi-renderer (0.2.2) + listen (3.7.1) + rb-fsevent (~> 0.10, >= 0.10.3) + rb-inotify (~> 0.9, >= 0.9.10) + loofah (2.15.0) + crass (~> 1.0.2) + nokogiri (>= 1.5.9) + mail (2.7.1) + mini_mime (>= 0.1.1) + marcel (1.0.2) + method_source (1.0.0) + mini_mime (1.1.2) + mini_portile2 (2.8.0) + minitest (5.15.0) + msgpack (1.4.5) + nio4r (2.5.8) + nokogiri (1.13.3) + mini_portile2 (~> 2.8.0) + racc (~> 1.4) + pg (1.3.4) + puma (4.3.11) + nio4r (~> 2.0) + racc (1.6.0) + rack (2.2.3) + rack-cors (1.1.1) + rack (>= 2.0.0) + rack-test (1.1.0) + rack (>= 1.0, < 3) + rails (6.0.4.7) + actioncable (= 6.0.4.7) + actionmailbox (= 6.0.4.7) + actionmailer (= 6.0.4.7) + actionpack (= 6.0.4.7) + actiontext (= 6.0.4.7) + actionview (= 6.0.4.7) + activejob (= 6.0.4.7) + activemodel (= 6.0.4.7) + activerecord (= 6.0.4.7) + activestorage (= 6.0.4.7) + activesupport (= 6.0.4.7) + bundler (>= 1.3.0) + railties (= 6.0.4.7) + sprockets-rails (>= 2.0.0) + rails-dom-testing (2.0.3) + activesupport (>= 4.2.0) + nokogiri (>= 1.6) + rails-html-sanitizer (1.4.2) + loofah (~> 2.3) + railties (6.0.4.7) + actionpack (= 6.0.4.7) + activesupport (= 6.0.4.7) + method_source + rake (>= 0.8.7) + thor (>= 0.20.3, < 2.0) + rake (13.0.6) + rb-fsevent (0.11.1) + rb-inotify (0.10.1) + ffi (~> 1.0) + rspec-core (3.11.0) + rspec-support (~> 3.11.0) + rspec-expectations (3.11.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.11.0) + rspec-mocks (3.11.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.11.0) + rspec-rails (5.0.1) + actionpack (>= 5.2) + activesupport (>= 5.2) + railties (>= 5.2) + rspec-core (~> 3.10) + rspec-expectations (~> 3.10) + rspec-mocks (~> 3.10) + rspec-support (~> 3.10) + rspec-support (3.11.0) + spring (2.1.1) + spring-watcher-listen (2.0.1) + listen (>= 2.7, < 4.0) + spring (>= 1.2, < 3.0) + sprockets (4.0.3) + concurrent-ruby (~> 1.0) + rack (> 1, < 3) + sprockets-rails (3.4.2) + actionpack (>= 5.2) + activesupport (>= 5.2) + sprockets (>= 3.0.0) + thor (1.2.1) + thread_safe (0.3.6) + tzinfo (1.2.9) + thread_safe (~> 0.1) + websocket-driver (0.7.5) + websocket-extensions (>= 0.1.0) + websocket-extensions (0.1.5) + zeitwerk (2.5.4) + +PLATFORMS + ruby + +DEPENDENCIES + active_model_serializers + bootsnap (>= 1.4.2) + byebug + factory_bot_rails + faker + jbuilder (~> 2.7) + listen (~> 3.2) + pg (>= 0.18, < 2.0) + puma (~> 4.1) + rack-cors + rails (~> 6.0.4, >= 6.0.4.7) + rspec-rails (~> 5.0.0) + spring + spring-watcher-listen (~> 2.0.0) + tzinfo-data + +RUBY VERSION + ruby 2.6.3p62 + +BUNDLED WITH + 2.1.4 diff --git a/tests/packagedcode/data/rubygems/gemfile/1/origin.ABOUT b/tests/packagedcode/data/rubygems/gemfile/1/origin.ABOUT new file mode 100644 index 00000000000..c52c9b1359d --- /dev/null +++ b/tests/packagedcode/data/rubygems/gemfile/1/origin.ABOUT @@ -0,0 +1,4 @@ +date: 2022-04-01 +download_url: https://raw.githubusercontent.com/byrneg7/MWL_api/master/Gemfile +date: 2022-04-01 +download_url: https://raw.githubusercontent.com/byrneg7/MWL_api/master/Gemfile.lock diff --git a/tests/packagedcode/data/rubygems/gemfile/10/Gemfile b/tests/packagedcode/data/rubygems/gemfile/10/Gemfile new file mode 100644 index 00000000000..4d7a8c3e750 --- /dev/null +++ b/tests/packagedcode/data/rubygems/gemfile/10/Gemfile @@ -0,0 +1,58 @@ +source 'https://rubygems.org' + +git_source(:github) do |repo_name| + repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/") + "https://github.com/#{repo_name}.git" +end + +gem 'nokogiri', '~> 1.12', '< 1.13' ### TEMPORARY PIN 1.13 requires ruby > 2.5 + +gem 'rails', '~> 5.2' +gem 'dotenv-deployment' +gem 'dotenv-rails' + +# Required gems for QA and linked data access +gem 'qa_server', '~> 7.9' +gem 'qa', '~> 5.5' +gem 'linkeddata' + +# Other gems +gem 'coffee-rails', '~> 4.2' +gem 'concurrent-ruby' +gem 'jbuilder', '~> 2.5' +gem 'lograge' +gem 'mysql2' +gem 'puma', '~> 4.3' +gem 'sass-rails', '~> 5.0' +gem 'turbolinks', '~> 5' +gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby] # Windows does not include zoneinfo files, so bundle the tzinfo-data gem +gem 'uglifier', '>= 1.3.0' + +group :development, :test do + gem 'byebug' + gem 'coveralls', require: false + gem 'database_cleaner' + gem 'factory_bot_rails', '~> 4.4', require: false + gem 'faker' + gem 'listen' + gem 'rails-controller-testing' +end + +group :development do + gem 'better_errors' # add command line in browser when errors + gem 'binding_of_caller' # deeper stack trace used by better errors + gem 'bixby', '~> 1.0.0' # style guide enforcement with rubocop + gem 'rubocop' + gem 'rubocop-checkstyle_formatter', require: false + gem 'spring' # Spring speeds up development by keeping your application running in the background. + gem 'web-console', '~> 3.0' # access to IRB console on exception pages + gem 'xray-rails' +end + +group :test do + gem 'rspec-rails' + gem 'rspec-activemodel-mocks' + gem 'sqlite3' +end + +gem 'swagger-docs' diff --git a/tests/packagedcode/data/rubygems/gemfile/10/Gemfile.lock b/tests/packagedcode/data/rubygems/gemfile/10/Gemfile.lock new file mode 100644 index 00000000000..36f34f1de01 --- /dev/null +++ b/tests/packagedcode/data/rubygems/gemfile/10/Gemfile.lock @@ -0,0 +1,524 @@ +GEM + remote: https://rubygems.org/ + specs: + actioncable (5.2.6) + actionpack (= 5.2.6) + nio4r (~> 2.0) + websocket-driver (>= 0.6.1) + actionmailer (5.2.6) + actionpack (= 5.2.6) + actionview (= 5.2.6) + activejob (= 5.2.6) + mail (~> 2.5, >= 2.5.4) + rails-dom-testing (~> 2.0) + actionpack (5.2.6) + actionview (= 5.2.6) + activesupport (= 5.2.6) + rack (~> 2.0, >= 2.0.8) + rack-test (>= 0.6.3) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.0, >= 1.0.2) + actionview (5.2.6) + activesupport (= 5.2.6) + builder (~> 3.1) + erubi (~> 1.4) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.0, >= 1.0.3) + activejob (5.2.6) + activesupport (= 5.2.6) + globalid (>= 0.3.6) + activemodel (5.2.6) + activesupport (= 5.2.6) + activerecord (5.2.6) + activemodel (= 5.2.6) + activesupport (= 5.2.6) + arel (>= 9.0) + activerecord-import (1.3.0) + activerecord (>= 4.2) + activestorage (5.2.6) + actionpack (= 5.2.6) + activerecord (= 5.2.6) + marcel (~> 1.0.0) + activesupport (5.2.6) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 0.7, < 2) + minitest (~> 5.1) + tzinfo (~> 1.1) + addressable (2.8.0) + public_suffix (>= 2.0.2, < 5.0) + amazing_print (1.4.0) + arel (9.0.0) + ast (2.4.2) + bcp47 (0.3.3) + i18n + better_errors (2.9.1) + coderay (>= 1.0.0) + erubi (>= 1.0.0) + rack (>= 0.9.0) + bindex (0.8.1) + binding_of_caller (1.0.0) + debug_inspector (>= 0.0.1) + bixby (1.0.0) + rubocop (~> 0.50, <= 0.52.1) + rubocop-rspec (~> 1.22, <= 1.22.2) + builder (3.2.4) + byebug (11.1.3) + coderay (1.1.3) + coffee-rails (4.2.2) + coffee-script (>= 2.2.0) + railties (>= 4.0.0) + coffee-script (2.4.1) + coffee-script-source + execjs + coffee-script-source (1.12.2) + concurrent-ruby (1.1.9) + connection_pool (2.2.5) + coveralls (0.8.23) + json (>= 1.8, < 3) + simplecov (~> 0.16.1) + term-ansicolor (~> 1.3) + thor (>= 0.19.4, < 2.0) + tins (~> 1.6) + crass (1.0.6) + database_cleaner (2.0.1) + database_cleaner-active_record (~> 2.0.0) + database_cleaner-active_record (2.0.1) + activerecord (>= 5.a) + database_cleaner-core (~> 2.0.0) + database_cleaner-core (2.0.1) + debug_inspector (1.1.0) + deprecation (1.1.0) + activesupport + diff-lcs (1.5.0) + docile (1.4.0) + dotenv (1.0.2) + dotenv-deployment (0.3.0) + dotenv (~> 1.0) + dotenv-rails (1.0.2) + dotenv (= 1.0.2) + ebnf (2.2.1) + amazing_print (~> 1.2) + htmlentities (~> 4.3) + rdf (~> 3.1) + scanf (~> 1.0) + sxp (~> 1.1) + unicode-types (~> 1.6) + equivalent-xml (0.6.0) + nokogiri (>= 1.4.3) + erubi (1.10.0) + execjs (2.8.1) + factory_bot (4.11.1) + activesupport (>= 3.0.0) + factory_bot_rails (4.11.1) + factory_bot (~> 4.11.1) + railties (>= 3.0.0) + faker (2.19.0) + i18n (>= 1.6, < 2) + faraday (1.9.3) + faraday-em_http (~> 1.0) + faraday-em_synchrony (~> 1.0) + faraday-excon (~> 1.1) + faraday-httpclient (~> 1.0) + faraday-multipart (~> 1.0) + faraday-net_http (~> 1.0) + faraday-net_http_persistent (~> 1.0) + faraday-patron (~> 1.0) + faraday-rack (~> 1.0) + faraday-retry (~> 1.0) + ruby2_keywords (>= 0.0.4) + faraday-em_http (1.0.0) + faraday-em_synchrony (1.0.0) + faraday-excon (1.1.0) + faraday-httpclient (1.0.1) + faraday-multipart (1.0.3) + multipart-post (>= 1.2, < 3) + faraday-net_http (1.0.1) + faraday-net_http_persistent (1.2.0) + faraday-patron (1.0.0) + faraday-rack (1.0.0) + faraday-retry (1.0.3) + ffi (1.15.5) + geocoder (1.7.3) + globalid (1.0.0) + activesupport (>= 5.0) + gruff (0.14.0) + histogram + rmagick + haml (5.2.2) + temple (>= 0.8.0) + tilt + hamster (3.0.0) + concurrent-ruby (~> 1.0) + histogram (0.2.4.1) + htmlentities (4.3.4) + i18n (1.9.1) + concurrent-ruby (~> 1.0) + jbuilder (2.11.5) + actionview (>= 5.0.0) + activesupport (>= 5.0.0) + json (2.6.1) + json-canonicalization (0.2.1) + json-ld (3.1.10) + htmlentities (~> 4.3) + json-canonicalization (~> 0.2) + link_header (~> 0.0, >= 0.0.8) + multi_json (~> 1.14) + rack (~> 2.0) + rdf (~> 3.1) + json-ld-preloaded (3.1.6) + json-ld (~> 3.1) + rdf (~> 3.1) + ld-patch (3.1.3) + ebnf (~> 2.1) + rdf (~> 3.1) + rdf-xsd (~> 3.1) + sparql (~> 3.1) + sxp (~> 1.1) + ldpath (1.1.0) + nokogiri (~> 1.8) + parslet + rdf (~> 3.0) + link_header (0.0.8) + linkeddata (3.1.6) + equivalent-xml (~> 0.6) + json-ld (~> 3.1, >= 3.1.10) + json-ld-preloaded (~> 3.1, >= 3.1.6) + ld-patch (~> 3.1, >= 3.1.3) + nokogiri (~> 1.12) + rdf (~> 3.1, >= 3.1.15) + rdf-aggregate-repo (~> 3.1) + rdf-isomorphic (~> 3.1, >= 3.1.1) + rdf-json (~> 3.1) + rdf-microdata (~> 3.1, >= 3.1.4) + rdf-n3 (~> 3.1, >= 3.1.2) + rdf-normalize (~> 0.4) + rdf-ordered-repo (~> 3.1, >= 3.1.1) + rdf-rdfa (~> 3.1, >= 3.1.3) + rdf-rdfxml (~> 3.1, >= 3.1.1) + rdf-reasoner (~> 0.7, >= 0.7.2) + rdf-tabular (~> 3.1, >= 3.1.1) + rdf-trig (~> 3.1, >= 3.1.2) + rdf-trix (~> 3.1, >= 3.1.1) + rdf-turtle (~> 3.1, >= 3.1.3) + rdf-vocab (~> 3.1, >= 3.1.14) + rdf-xsd (~> 3.1, >= 3.1.1) + shacl (~> 0.1, >= 0.1.1) + shex (~> 0.6, >= 0.6.4) + sparql (~> 3.1, >= 3.1.8) + sparql-client (~> 3.1, >= 3.1.2) + listen (3.7.1) + rb-fsevent (~> 0.10, >= 0.10.3) + rb-inotify (~> 0.9, >= 0.9.10) + logger (1.5.0) + lograge (0.11.2) + actionpack (>= 4) + activesupport (>= 4) + railties (>= 4) + request_store (~> 1.0) + loofah (2.13.0) + crass (~> 1.0.2) + nokogiri (>= 1.5.9) + mail (2.7.1) + mini_mime (>= 0.1.1) + marcel (1.0.2) + method_source (1.0.0) + mini_mime (1.1.2) + minitest (5.15.0) + multi_json (1.15.0) + multipart-post (2.1.1) + mysql2 (0.5.3) + net-http-persistent (4.0.1) + connection_pool (~> 2.2) + nio4r (2.5.8) + nokogiri (1.12.5-x86_64-darwin) + racc (~> 1.4) + nokogiri (1.12.5-x86_64-linux) + racc (~> 1.4) + parallel (1.21.0) + parser (2.7.2.0) + ast (~> 2.4.1) + parslet (2.0.0) + powerpack (0.1.3) + public_suffix (4.0.6) + puma (4.3.12) + nio4r (~> 2.0) + qa (5.8.0) + activerecord-import + deprecation + faraday (< 2.0) + geocoder + ldpath + nokogiri (~> 1.6) + rails (>= 5.0, < 6.2) + rdf + qa_server (7.9.2) + gruff + rails (~> 5.2, >= 5.2.5) + sass-rails (~> 5.0) + useragent + racc (1.6.0) + rack (2.2.3) + rack-test (1.1.0) + rack (>= 1.0, < 3) + rails (5.2.6) + actioncable (= 5.2.6) + actionmailer (= 5.2.6) + actionpack (= 5.2.6) + actionview (= 5.2.6) + activejob (= 5.2.6) + activemodel (= 5.2.6) + activerecord (= 5.2.6) + activestorage (= 5.2.6) + activesupport (= 5.2.6) + bundler (>= 1.3.0) + railties (= 5.2.6) + sprockets-rails (>= 2.0.0) + rails-controller-testing (1.0.5) + actionpack (>= 5.0.1.rc1) + actionview (>= 5.0.1.rc1) + activesupport (>= 5.0.1.rc1) + rails-dom-testing (2.0.3) + activesupport (>= 4.2.0) + nokogiri (>= 1.6) + rails-html-sanitizer (1.4.2) + loofah (~> 2.3) + railties (5.2.6) + actionpack (= 5.2.6) + activesupport (= 5.2.6) + method_source + rake (>= 0.8.7) + thor (>= 0.19.0, < 2.0) + rainbow (3.1.1) + rake (13.0.6) + rb-fsevent (0.11.0) + rb-inotify (0.10.1) + ffi (~> 1.0) + rdf (3.1.15) + hamster (~> 3.0) + link_header (~> 0.0, >= 0.0.8) + rdf-aggregate-repo (3.1.0) + rdf (~> 3.1) + rdf-isomorphic (3.1.1) + rdf (~> 3.1) + rdf-json (3.1.0) + rdf (~> 3.1) + rdf-microdata (3.1.4) + htmlentities (~> 4.3) + nokogiri (~> 1.12) + rdf (~> 3.1, >= 3.1.13) + rdf-rdfa (~> 3.1, >= 3.1.3) + rdf-xsd (~> 3.1) + rdf-n3 (3.1.2) + ebnf (~> 2.1) + rdf (~> 3.1, >= 3.1.8) + sparql (~> 3.1, >= 3.1.4) + sxp (~> 1.1) + rdf-normalize (0.4.0) + rdf (~> 3.1) + rdf-ordered-repo (3.1.1) + rdf (~> 3.1) + rdf-rdfa (3.1.3) + haml (~> 5.2) + htmlentities (~> 4.3) + rdf (~> 3.1, >= 3.1.13) + rdf-aggregate-repo (~> 3.1) + rdf-vocab (~> 3.1, >= 3.1.11) + rdf-xsd (~> 3.1) + rdf-rdfxml (3.1.1) + htmlentities (~> 4.3) + rdf (~> 3.1) + rdf-rdfa (~> 3.1) + rdf-xsd (~> 3.1) + rdf-reasoner (0.7.2) + rdf (~> 3.1, >= 3.1.12) + rdf-xsd (~> 3.1) + rdf-tabular (3.1.1) + addressable (~> 2.3) + bcp47 (~> 0.3, >= 0.3.3) + json-ld (~> 3.1) + rdf (~> 3.1) + rdf-vocab (~> 3.1) + rdf-xsd (~> 3.1) + rdf-trig (3.1.2) + ebnf (~> 2.1) + rdf (~> 3.1) + rdf-turtle (~> 3.1) + rdf-trix (3.1.1) + rdf (~> 3.1) + rdf-xsd (~> 3.1) + rdf-turtle (3.1.3) + ebnf (~> 2.1) + rdf (~> 3.1, >= 3.1.8) + rdf-vocab (3.1.14) + rdf (~> 3.1, >= 3.1.12) + rdf-xsd (3.1.1) + rdf (~> 3.1) + rexml (~> 3.2) + request_store (1.5.1) + rack (>= 1.4) + rexml (3.2.5) + rmagick (4.2.4) + rspec-activemodel-mocks (1.1.0) + activemodel (>= 3.0) + activesupport (>= 3.0) + rspec-mocks (>= 2.99, < 4.0) + rspec-core (3.10.2) + rspec-support (~> 3.10.0) + rspec-expectations (3.10.2) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.10.0) + rspec-mocks (3.10.3) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.10.0) + rspec-rails (5.1.0) + actionpack (>= 5.2) + activesupport (>= 5.2) + railties (>= 5.2) + rspec-core (~> 3.10) + rspec-expectations (~> 3.10) + rspec-mocks (~> 3.10) + rspec-support (~> 3.10) + rspec-support (3.10.3) + rubocop (0.52.1) + parallel (~> 1.10) + parser (>= 2.4.0.2, < 3.0) + powerpack (~> 0.1) + rainbow (>= 2.2.2, < 4.0) + ruby-progressbar (~> 1.7) + unicode-display_width (~> 1.0, >= 1.0.1) + rubocop-checkstyle_formatter (0.4.0) + rubocop (>= 0.35.1) + rubocop-rspec (1.22.2) + rubocop (>= 0.52.1) + ruby-progressbar (1.11.0) + ruby2_keywords (0.0.5) + sass (3.7.4) + sass-listen (~> 4.0.0) + sass-listen (4.0.0) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) + sass-rails (5.1.0) + railties (>= 5.2.0) + sass (~> 3.1) + sprockets (>= 2.8, < 4.0) + sprockets-rails (>= 2.0, < 4.0) + tilt (>= 1.1, < 3) + scanf (1.0.0) + shacl (0.1.1) + json-ld (~> 3.1, >= 3.1.7) + rdf (~> 3.1, >= 3.1.8) + sparql (~> 3.1) + sxp (~> 1.1) + shex (0.6.4) + ebnf (~> 2.1, >= 2.2) + htmlentities (~> 4.3) + json-ld (~> 3.1) + json-ld-preloaded (~> 3.1) + rdf (~> 3.1) + rdf-xsd (~> 3.1) + sparql (~> 3.1) + sxp (~> 1.1) + simplecov (0.16.1) + docile (~> 1.1) + json (>= 1.8, < 3) + simplecov-html (~> 0.10.0) + simplecov-html (0.10.2) + sparql (3.1.8) + builder (~> 3.2) + ebnf (~> 2.1) + logger (~> 1.4) + rdf (~> 3.1, >= 3.1.14) + rdf-aggregate-repo (~> 3.1) + rdf-xsd (~> 3.1) + sparql-client (~> 3.1, >= 3.1.2) + sxp (~> 1.1) + sparql-client (3.1.2) + net-http-persistent (~> 4.0, >= 4.0.1) + rdf (~> 3.1) + spring (3.1.1) + sprockets (3.7.2) + concurrent-ruby (~> 1.0) + rack (> 1, < 3) + sprockets-rails (3.4.2) + actionpack (>= 5.2) + activesupport (>= 5.2) + sprockets (>= 3.0.0) + sqlite3 (1.4.2) + swagger-docs (0.2.9) + activesupport (>= 3) + rails (>= 3) + sxp (1.1.0) + rdf (~> 3.1) + sync (0.5.0) + temple (0.8.2) + term-ansicolor (1.7.1) + tins (~> 1.0) + thor (1.2.1) + thread_safe (0.3.6) + tilt (2.0.10) + tins (1.31.0) + sync + turbolinks (5.2.1) + turbolinks-source (~> 5.2) + turbolinks-source (5.2.0) + tzinfo (1.2.9) + thread_safe (~> 0.1) + uglifier (4.2.0) + execjs (>= 0.3.0, < 3) + unicode-display_width (1.8.0) + unicode-types (1.7.0) + useragent (0.16.10) + web-console (3.7.0) + actionview (>= 5.0) + activemodel (>= 5.0) + bindex (>= 0.4.0) + railties (>= 5.0) + websocket-driver (0.7.5) + websocket-extensions (>= 0.1.0) + websocket-extensions (0.1.5) + xray-rails (0.3.2) + rails (>= 3.1.0) + +PLATFORMS + x86_64-darwin-18 + +DEPENDENCIES + better_errors + binding_of_caller + bixby (~> 1.0.0) + byebug + coffee-rails (~> 4.2) + concurrent-ruby + coveralls + database_cleaner + dotenv-deployment + dotenv-rails + factory_bot_rails (~> 4.4) + faker + jbuilder (~> 2.5) + linkeddata + listen + lograge + mysql2 + nokogiri (~> 1.12, < 1.13) + puma (~> 4.3) + qa (~> 5.5) + qa_server (~> 7.9) + rails (~> 5.2) + rails-controller-testing + rspec-activemodel-mocks + rspec-rails + rubocop + rubocop-checkstyle_formatter + sass-rails (~> 5.0) + spring + sqlite3 + swagger-docs + turbolinks (~> 5) + tzinfo-data + uglifier (>= 1.3.0) + web-console (~> 3.0) + xray-rails + +BUNDLED WITH + 2.2.30 diff --git a/tests/packagedcode/data/rubygems/gemfile/10/origin.ABOUT b/tests/packagedcode/data/rubygems/gemfile/10/origin.ABOUT new file mode 100644 index 00000000000..5624d541c1b --- /dev/null +++ b/tests/packagedcode/data/rubygems/gemfile/10/origin.ABOUT @@ -0,0 +1,4 @@ +date: 2022-04-01 +download_url: https://raw.githubusercontent.com/cul-it/qa_server/9d07f2eacfdf7ffa91a89b9703289d11d952f3ea/Gemfile +date: 2022-04-01 +download_url: https://raw.githubusercontent.com/cul-it/qa_server/9d07f2eacfdf7ffa91a89b9703289d11d952f3ea/Gemfile.lock diff --git a/tests/packagedcode/data/rubygems/gemfile/11/Gemfile b/tests/packagedcode/data/rubygems/gemfile/11/Gemfile new file mode 100644 index 00000000000..6a7624b5616 --- /dev/null +++ b/tests/packagedcode/data/rubygems/gemfile/11/Gemfile @@ -0,0 +1,55 @@ +# frozen_string_literal: true + +source 'https://rubygems.org' +git_source(:github) { |repo| "https://github.com/#{repo}.git" } + +ruby '3.0.3' + +# Bundle edge Rails instead: gem 'rails', github: 'rails/rails', branch: 'main' +gem 'rails', '~> 6.1.5' +# Use postgresql as the database for Active Record +gem 'pg' +# Use Puma as the app server +gem 'puma', '~> 5.0' +# Use SCSS for stylesheets +gem 'sass-rails', '>= 6' +# Transpile app-like JavaScript. Read more: https://github.com/rails/webpacker +gem 'webpacker', '~> 5.0' +# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks +gem 'turbolinks', '~> 5' +# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder +gem 'jbuilder', '~> 2.7' +# Use Redis adapter to run Action Cable in production +# gem 'redis', '~> 4.0' +# Use Active Model has_secure_password +# gem 'bcrypt', '~> 3.1.7' + +# Use Active Storage variant +# gem 'image_processing', '~> 1.2' + +# Reduces boot times through caching; required in config/boot.rb +gem 'bootsnap', '>= 1.4.4', require: false + +group :development, :test do + # Call 'byebug' anywhere in the code to stop execution and get a debugger console + gem 'byebug', platforms: %i[mri mingw x64_mingw] +end + +group :development do + # Access an interactive console on exception pages or by calling 'console' anywhere in the code. + gem 'web-console', '>= 4.1.0' + # Display performance information such as SQL time and flame graphs for each request in your browser. + # Can be configured to work on production as well see: https://github.com/MiniProfiler/rack-mini-profiler/blob/master/README.md + gem 'listen', '~> 3.3' + gem 'rack-mini-profiler', '~> 2.0' + # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring + gem 'spring' +end + +# Windows does not include zoneinfo files, so bundle the tzinfo-data gem +gem 'autoprefixer-rails', '10.2.5' +gem 'font-awesome-sass', '~> 5.15' +gem 'rails-controller-testing', group: [:test] +gem 'rspec-rails', group: [:test] +gem 'simple_form', github: 'heartcombo/simple_form' +gem 'tzinfo-data', platforms: %i[mingw mswin x64_mingw jruby] diff --git a/tests/packagedcode/data/rubygems/gemfile/11/Gemfile.lock b/tests/packagedcode/data/rubygems/gemfile/11/Gemfile.lock new file mode 100644 index 00000000000..9cf2bcd5456 --- /dev/null +++ b/tests/packagedcode/data/rubygems/gemfile/11/Gemfile.lock @@ -0,0 +1,240 @@ +GIT + remote: https://github.com/heartcombo/simple_form.git + revision: 159f4015973c5f57b05253308bbaedc238dbbe07 + specs: + simple_form (5.1.0) + actionpack (>= 5.2) + activemodel (>= 5.2) + +GEM + remote: https://rubygems.org/ + specs: + actioncable (6.1.5) + actionpack (= 6.1.5) + activesupport (= 6.1.5) + nio4r (~> 2.0) + websocket-driver (>= 0.6.1) + actionmailbox (6.1.5) + actionpack (= 6.1.5) + activejob (= 6.1.5) + activerecord (= 6.1.5) + activestorage (= 6.1.5) + activesupport (= 6.1.5) + mail (>= 2.7.1) + actionmailer (6.1.5) + actionpack (= 6.1.5) + actionview (= 6.1.5) + activejob (= 6.1.5) + activesupport (= 6.1.5) + mail (~> 2.5, >= 2.5.4) + rails-dom-testing (~> 2.0) + actionpack (6.1.5) + actionview (= 6.1.5) + activesupport (= 6.1.5) + rack (~> 2.0, >= 2.0.9) + rack-test (>= 0.6.3) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.0, >= 1.2.0) + actiontext (6.1.5) + actionpack (= 6.1.5) + activerecord (= 6.1.5) + activestorage (= 6.1.5) + activesupport (= 6.1.5) + nokogiri (>= 1.8.5) + actionview (6.1.5) + activesupport (= 6.1.5) + builder (~> 3.1) + erubi (~> 1.4) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.1, >= 1.2.0) + activejob (6.1.5) + activesupport (= 6.1.5) + globalid (>= 0.3.6) + activemodel (6.1.5) + activesupport (= 6.1.5) + activerecord (6.1.5) + activemodel (= 6.1.5) + activesupport (= 6.1.5) + activestorage (6.1.5) + actionpack (= 6.1.5) + activejob (= 6.1.5) + activerecord (= 6.1.5) + activesupport (= 6.1.5) + marcel (~> 1.0) + mini_mime (>= 1.1.0) + activesupport (6.1.5) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 1.6, < 2) + minitest (>= 5.1) + tzinfo (~> 2.0) + zeitwerk (~> 2.3) + autoprefixer-rails (10.2.5.0) + execjs (< 2.8.0) + bindex (0.8.1) + bootsnap (1.11.1) + msgpack (~> 1.2) + builder (3.2.4) + byebug (11.1.3) + concurrent-ruby (1.1.10) + crass (1.0.6) + diff-lcs (1.5.0) + erubi (1.10.0) + execjs (2.7.0) + ffi (1.15.5) + font-awesome-sass (5.15.1) + sassc (>= 1.11) + globalid (1.0.0) + activesupport (>= 5.0) + i18n (1.10.0) + concurrent-ruby (~> 1.0) + jbuilder (2.11.5) + actionview (>= 5.0.0) + activesupport (>= 5.0.0) + listen (3.7.1) + rb-fsevent (~> 0.10, >= 0.10.3) + rb-inotify (~> 0.9, >= 0.9.10) + loofah (2.15.0) + crass (~> 1.0.2) + nokogiri (>= 1.5.9) + mail (2.7.1) + mini_mime (>= 0.1.1) + marcel (1.0.2) + method_source (1.0.0) + mini_mime (1.1.2) + minitest (5.15.0) + msgpack (1.4.5) + nio4r (2.5.8) + nokogiri (1.13.3-arm64-darwin) + racc (~> 1.4) + pg (1.2.3) + puma (5.6.2) + nio4r (~> 2.0) + racc (1.6.0) + rack (2.2.3) + rack-mini-profiler (2.3.4) + rack (>= 1.2.0) + rack-proxy (0.7.2) + rack + rack-test (1.1.0) + rack (>= 1.0, < 3) + rails (6.1.5) + actioncable (= 6.1.5) + actionmailbox (= 6.1.5) + actionmailer (= 6.1.5) + actionpack (= 6.1.5) + actiontext (= 6.1.5) + actionview (= 6.1.5) + activejob (= 6.1.5) + activemodel (= 6.1.5) + activerecord (= 6.1.5) + activestorage (= 6.1.5) + activesupport (= 6.1.5) + bundler (>= 1.15.0) + railties (= 6.1.5) + sprockets-rails (>= 2.0.0) + rails-controller-testing (1.0.5) + actionpack (>= 5.0.1.rc1) + actionview (>= 5.0.1.rc1) + activesupport (>= 5.0.1.rc1) + rails-dom-testing (2.0.3) + activesupport (>= 4.2.0) + nokogiri (>= 1.6) + rails-html-sanitizer (1.4.2) + loofah (~> 2.3) + railties (6.1.5) + actionpack (= 6.1.5) + activesupport (= 6.1.5) + method_source + rake (>= 12.2) + thor (~> 1.0) + rake (13.0.6) + rb-fsevent (0.11.1) + rb-inotify (0.10.1) + ffi (~> 1.0) + rspec-core (3.11.0) + rspec-support (~> 3.11.0) + rspec-expectations (3.11.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.11.0) + rspec-mocks (3.11.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.11.0) + rspec-rails (5.1.1) + actionpack (>= 5.2) + activesupport (>= 5.2) + railties (>= 5.2) + rspec-core (~> 3.10) + rspec-expectations (~> 3.10) + rspec-mocks (~> 3.10) + rspec-support (~> 3.10) + rspec-support (3.11.0) + sass-rails (6.0.0) + sassc-rails (~> 2.1, >= 2.1.1) + sassc (2.4.0) + ffi (~> 1.9) + sassc-rails (2.1.2) + railties (>= 4.0.0) + sassc (>= 2.0) + sprockets (> 3.0) + sprockets-rails + tilt + semantic_range (3.0.0) + spring (4.0.0) + sprockets (4.0.3) + concurrent-ruby (~> 1.0) + rack (> 1, < 3) + sprockets-rails (3.4.2) + actionpack (>= 5.2) + activesupport (>= 5.2) + sprockets (>= 3.0.0) + thor (1.2.1) + tilt (2.0.10) + turbolinks (5.2.1) + turbolinks-source (~> 5.2) + turbolinks-source (5.2.0) + tzinfo (2.0.4) + concurrent-ruby (~> 1.0) + web-console (4.2.0) + actionview (>= 6.0.0) + activemodel (>= 6.0.0) + bindex (>= 0.4.0) + railties (>= 6.0.0) + webpacker (5.4.3) + activesupport (>= 5.2) + rack-proxy (>= 0.6.1) + railties (>= 5.2) + semantic_range (>= 2.3.0) + websocket-driver (0.7.5) + websocket-extensions (>= 0.1.0) + websocket-extensions (0.1.5) + zeitwerk (2.5.4) + +PLATFORMS + arm64-darwin-21 + +DEPENDENCIES + autoprefixer-rails (= 10.2.5) + bootsnap (>= 1.4.4) + byebug + font-awesome-sass (~> 5.15) + jbuilder (~> 2.7) + listen (~> 3.3) + pg + puma (~> 5.0) + rack-mini-profiler (~> 2.0) + rails (~> 6.1.5) + rails-controller-testing + rspec-rails + sass-rails (>= 6) + simple_form! + spring + turbolinks (~> 5) + tzinfo-data + web-console (>= 4.1.0) + webpacker (~> 5.0) + +RUBY VERSION + ruby 3.0.3p157 + +BUNDLED WITH + 2.3.7 diff --git a/tests/packagedcode/data/rubygems/gemfile/11/origin.ABOUT b/tests/packagedcode/data/rubygems/gemfile/11/origin.ABOUT new file mode 100644 index 00000000000..3d6eb63c12e --- /dev/null +++ b/tests/packagedcode/data/rubygems/gemfile/11/origin.ABOUT @@ -0,0 +1,4 @@ +date: 2022-04-01 +download_url: https://raw.githubusercontent.com/gitjpaul/rails-watch-list/49527bacaaf17e617076e0e56d96b89b0169eddf/Gemfile +date: 2022-04-01 +download_url: https://raw.githubusercontent.com/gitjpaul/rails-watch-list/49527bacaaf17e617076e0e56d96b89b0169eddf/Gemfile.lock diff --git a/tests/packagedcode/data/rubygems/gemfile/12/Gemfile b/tests/packagedcode/data/rubygems/gemfile/12/Gemfile new file mode 100644 index 00000000000..53a86101c08 --- /dev/null +++ b/tests/packagedcode/data/rubygems/gemfile/12/Gemfile @@ -0,0 +1,123 @@ +# frozen_string_literal: true + +source 'https://rubygems.org' + +git_source(:github) do |repo_name| + repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/") + "https://github.com/#{repo_name}.git" +end + +ruby ">= 2.7.2", "< 3.1" + +git_source :github do |name| + "https://github.com/#{name}.git" +end + +gem 'mime-types', '~> 3.3', require: 'mime/types/columnar' + +# Gems required in all environments +if ENV["RAILS_MASTER"] == '1' + gem 'rails', git: 'https://github.com/rails/rails.git' +else + gem 'rails', '6.1.4.1' +end + +gem 'bluecloth' +gem 'dalli' +gem 'devise', github: "heartcombo/devise" +gem 'git_hub_bub' +gem 'jquery-rails' +gem 'local_time', '2.1.0' +gem 'maildown', '~> 3.3' +gem 'omniauth', '~> 2.0.4' +gem 'omniauth-rails_csrf_protection' +gem 'omniauth-github' +gem 'pg' +gem 'puma' +gem 'rack-timeout' +gem 'rrrretry' +gem 'valid_email' +gem 'warden', '1.2.9' +gem 'wicked' +gem 'will_paginate', '3.3.1' +# gem 'sass-rails', '6.0.0.beta1' +gem 'sassc' +gem 'sassc-rails' + +gem 'autoprefixer-rails', '~> 10.2.4' +gem 'bourbon' +gem 'coffee-rails', '~> 5.0.0' +gem 'neat', '~> 1.7' +gem 'normalize-rails' +gem 'slim-rails' +gem 'uglifier', '>= 1.0.3' +gem 'render_async', '~> 2.1' + +group :development do + gem 'bullet', require: false, github: 'flyerhzm/bullet' + gem 'foreman' + gem 'listen' + gem 'web-console' + gem 'memory_profiler' +end + +group :test do + gem 'capybara', '3.35.3' + # Not essential but helpful for save_and_open_page + gem 'launchy' + gem 'mocha', require: false + gem 'rails-controller-testing' + gem 'simplecov', require: false + gem 'vcr' + gem 'webmock' + gem 'test-prof' +end + +group :development, :test do + gem 'derailed_benchmarks' + gem 'dotenv-rails', '2.7.6' + gem 'faker', require: false + gem 'pry' + gem 'rubocop', require: false + gem 'rubocop-performance' +end + +gem 'rack-mini-profiler' + +gem 'the_lone_dyno' + +gem 'sidekiq' +gem 'sinatra', '~> 2.1.0' + +gem 'aws-sdk-s3', '~> 1.103.0' + +gem 'mail', require: ['mail', 'mail/utilities', 'mail/parsers'] # parsers is used by `valid_email` and may be causing https://github.com/mikel/mail/issues/912#issuecomment-170121429 + +gem 'sprockets', github: "rails/sprockets" +gem 'sprockets-rails' + +gem 'babel-transpiler' + +gem 'scout_apm', '~> 4.1.2' +gem 'yard', '~> 0.9.26' + +gem 'oj' +gem 'rack-canonical-host' +gem 'sentry-raven' + +gem 'bootsnap', require: false +gem 'rbtrace' +gem 'redis-namespace' +gem 'stackprof' +gem 'flamegraph' +gem 'prawn' +gem 'skylight', '~> 5.1.1' + +gem 'minitest', '5.14.4' +gem 'sitemap_generator' +gem 'premailer-rails' + +# gem 'barnes' +gem 'puma_worker_killer' +gem 'rake' +gem 'rails_autoscale_agent', github: 'adamlogic/rails_autoscale_agent', branch: 'puma' diff --git a/tests/packagedcode/data/rubygems/gemfile/12/Gemfile.lock b/tests/packagedcode/data/rubygems/gemfile/12/Gemfile.lock new file mode 100644 index 00000000000..06dce092e95 --- /dev/null +++ b/tests/packagedcode/data/rubygems/gemfile/12/Gemfile.lock @@ -0,0 +1,549 @@ +GIT + remote: https://github.com/adamlogic/rails_autoscale_agent.git + revision: f1e2db8020c8c2e371c25df1602155b07dcef6f5 + branch: puma + specs: + rails_autoscale_agent (0.9.0) + +GIT + remote: https://github.com/flyerhzm/bullet.git + revision: 371beece05a89c0acd6162a4406e6262a55a8d85 + specs: + bullet (6.1.5) + activesupport (>= 3.0.0) + uniform_notifier (~> 1.11) + +GIT + remote: https://github.com/heartcombo/devise.git + revision: c82e4cf47b02002b2fd7ca31d441cf1043fc634c + specs: + devise (4.8.0) + bcrypt (~> 3.0) + orm_adapter (~> 0.1) + railties (>= 4.1.0) + responders + warden (~> 1.2.3) + +GIT + remote: https://github.com/rails/sprockets.git + revision: 24c97270fbf6de11b4ffff0311bb427b7a8a3a83 + specs: + sprockets (4.0.2) + concurrent-ruby (~> 1.0) + rack (> 1, < 3) + +GEM + remote: https://rubygems.org/ + specs: + actioncable (6.1.4.1) + actionpack (= 6.1.4.1) + activesupport (= 6.1.4.1) + nio4r (~> 2.0) + websocket-driver (>= 0.6.1) + actionmailbox (6.1.4.1) + actionpack (= 6.1.4.1) + activejob (= 6.1.4.1) + activerecord (= 6.1.4.1) + activestorage (= 6.1.4.1) + activesupport (= 6.1.4.1) + mail (>= 2.7.1) + actionmailer (6.1.4.1) + actionpack (= 6.1.4.1) + actionview (= 6.1.4.1) + activejob (= 6.1.4.1) + activesupport (= 6.1.4.1) + mail (~> 2.5, >= 2.5.4) + rails-dom-testing (~> 2.0) + actionpack (6.1.4.1) + actionview (= 6.1.4.1) + activesupport (= 6.1.4.1) + rack (~> 2.0, >= 2.0.9) + rack-test (>= 0.6.3) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.0, >= 1.2.0) + actiontext (6.1.4.1) + actionpack (= 6.1.4.1) + activerecord (= 6.1.4.1) + activestorage (= 6.1.4.1) + activesupport (= 6.1.4.1) + nokogiri (>= 1.8.5) + actionview (6.1.4.1) + activesupport (= 6.1.4.1) + builder (~> 3.1) + erubi (~> 1.4) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.1, >= 1.2.0) + activejob (6.1.4.1) + activesupport (= 6.1.4.1) + globalid (>= 0.3.6) + activemodel (6.1.4.1) + activesupport (= 6.1.4.1) + activerecord (6.1.4.1) + activemodel (= 6.1.4.1) + activesupport (= 6.1.4.1) + activestorage (6.1.4.1) + actionpack (= 6.1.4.1) + activejob (= 6.1.4.1) + activerecord (= 6.1.4.1) + activesupport (= 6.1.4.1) + marcel (~> 1.0.0) + mini_mime (>= 1.1.0) + activesupport (6.1.4.1) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 1.6, < 2) + minitest (>= 5.1) + tzinfo (~> 2.0) + zeitwerk (~> 2.3) + addressable (2.8.0) + public_suffix (>= 2.0.2, < 5.0) + ast (2.4.2) + autoprefixer-rails (10.2.4.0) + execjs + aws-eventstream (1.2.0) + aws-partitions (1.503.0) + aws-sdk-core (3.121.0) + aws-eventstream (~> 1, >= 1.0.2) + aws-partitions (~> 1, >= 1.239.0) + aws-sigv4 (~> 1.1) + jmespath (~> 1.0) + aws-sdk-kms (1.48.0) + aws-sdk-core (~> 3, >= 3.120.0) + aws-sigv4 (~> 1.1) + aws-sdk-s3 (1.103.0) + aws-sdk-core (~> 3, >= 3.120.0) + aws-sdk-kms (~> 1) + aws-sigv4 (~> 1.4) + aws-sigv4 (1.4.0) + aws-eventstream (~> 1, >= 1.0.2) + babel-source (5.8.35) + babel-transpiler (0.7.0) + babel-source (>= 4.0, < 6) + execjs (~> 2.0) + bcrypt (3.1.16) + benchmark-ips (2.9.1) + bindex (0.8.1) + bluecloth (2.2.0) + bootsnap (1.9.1) + msgpack (~> 1.0) + bourbon (7.0.0) + thor (~> 1.0) + builder (3.2.4) + capybara (3.35.3) + addressable + mini_mime (>= 0.1.3) + nokogiri (~> 1.8) + rack (>= 1.6.0) + rack-test (>= 0.6.3) + regexp_parser (>= 1.5, < 3.0) + xpath (~> 3.2) + coderay (1.1.3) + coffee-rails (5.0.0) + coffee-script (>= 2.2.0) + railties (>= 5.2.0) + coffee-script (2.4.1) + coffee-script-source + execjs + coffee-script-source (1.12.2) + concurrent-ruby (1.1.9) + connection_pool (2.2.3) + crack (0.4.5) + rexml + crass (1.0.6) + css_parser (1.7.1) + addressable + dalli (2.7.11) + dead_end (1.1.7) + derailed_benchmarks (2.1.1) + benchmark-ips (~> 2) + dead_end + get_process_mem (~> 0) + heapy (~> 0) + memory_profiler (>= 0, < 2) + mini_histogram (>= 0.3.0) + rack (>= 1) + rack-test + rake (> 10, < 14) + ruby-statistics (>= 2.1) + thor (>= 0.19, < 2) + docile (1.3.5) + dotenv (2.7.6) + dotenv-rails (2.7.6) + dotenv (= 2.7.6) + railties (>= 3.2) + erubi (1.10.0) + excon (0.71.0) + execjs (2.7.0) + faker (2.19.0) + i18n (>= 1.6, < 2) + faraday (0.17.4) + multipart-post (>= 1.2, < 3) + ffi (1.15.4) + flamegraph (0.9.5) + foreman (0.87.2) + get_process_mem (0.2.7) + ffi (~> 1.0) + git_hub_bub (1.0.1) + excon + rrrretry + globalid (0.5.2) + activesupport (>= 5.0) + hashdiff (1.0.1) + hashie (4.1.0) + heapy (0.2.0) + thor + hey_you (0.1.1) + htmlentities (4.3.4) + i18n (1.8.10) + concurrent-ruby (~> 1.0) + jmespath (1.4.0) + jquery-rails (4.4.0) + rails-dom-testing (>= 1, < 3) + railties (>= 4.2.0) + thor (>= 0.14, < 2.0) + jwt (2.2.2) + kramdown (2.3.1) + rexml + kramdown-parser-gfm (1.1.0) + kramdown (~> 2.0) + launchy (2.5.0) + addressable (~> 2.7) + listen (3.7.0) + rb-fsevent (~> 0.10, >= 0.10.3) + rb-inotify (~> 0.9, >= 0.9.10) + local_time (2.1.0) + loofah (2.12.0) + crass (~> 1.0.2) + nokogiri (>= 1.5.9) + mail (2.7.1) + mini_mime (>= 0.1.1) + maildown (3.3.0) + actionmailer (>= 4.0.0) + kramdown-parser-gfm + marcel (1.0.1) + memory_profiler (1.0.0) + method_source (1.0.0) + mime-types (3.3.1) + mime-types-data (~> 3.2015) + mime-types-data (3.2019.1009) + mini_histogram (0.3.1) + mini_mime (1.1.1) + mini_portile2 (2.6.1) + minitest (5.14.4) + mocha (1.13.0) + msgpack (1.4.2) + multi_json (1.15.0) + multi_xml (0.6.0) + multipart-post (2.1.1) + mustermann (1.1.1) + ruby2_keywords (~> 0.0.1) + neat (1.7.4) + bourbon (>= 4.0) + sass (>= 3.3) + nio4r (2.5.8) + nokogiri (1.12.4) + mini_portile2 (~> 2.6.1) + racc (~> 1.4) + normalize-rails (8.0.1) + oauth2 (1.4.4) + faraday (>= 0.8, < 2.0) + jwt (>= 1.0, < 3.0) + multi_json (~> 1.3) + multi_xml (~> 0.5) + rack (>= 1.2, < 3) + oj (3.13.7) + omniauth (2.0.4) + hashie (>= 3.4.6) + rack (>= 1.6.2, < 3) + rack-protection + omniauth-github (2.0.0) + omniauth (~> 2.0) + omniauth-oauth2 (~> 1.7.1) + omniauth-oauth2 (1.7.1) + oauth2 (~> 1.4) + omniauth (>= 1.9, < 3) + omniauth-rails_csrf_protection (1.0.0) + actionpack (>= 4.2) + omniauth (~> 2.0) + optimist (3.0.1) + orm_adapter (0.5.0) + parallel (1.21.0) + parser (3.0.2.0) + ast (~> 2.4.1) + pdf-core (0.9.0) + pg (1.2.3) + prawn (2.4.0) + pdf-core (~> 0.9.0) + ttfunk (~> 1.7) + premailer (1.11.1) + addressable + css_parser (>= 1.6.0) + htmlentities (>= 4.0.0) + premailer-rails (1.11.1) + actionmailer (>= 3) + premailer (~> 1.7, >= 1.7.9) + pry (0.14.1) + coderay (~> 1.1) + method_source (~> 1.0) + public_suffix (4.0.6) + puma (5.5.0) + nio4r (~> 2.0) + puma_worker_killer (0.3.1) + get_process_mem (~> 0.2) + puma (>= 2.7) + racc (1.5.2) + rack (2.2.3) + rack-canonical-host (1.0.0) + addressable (> 0, < 3) + rack (>= 1.0.0, < 3) + rack-mini-profiler (2.3.3) + rack (>= 1.2.0) + rack-protection (2.1.0) + rack + rack-test (1.1.0) + rack (>= 1.0, < 3) + rack-timeout (0.6.0) + rails (6.1.4.1) + actioncable (= 6.1.4.1) + actionmailbox (= 6.1.4.1) + actionmailer (= 6.1.4.1) + actionpack (= 6.1.4.1) + actiontext (= 6.1.4.1) + actionview (= 6.1.4.1) + activejob (= 6.1.4.1) + activemodel (= 6.1.4.1) + activerecord (= 6.1.4.1) + activestorage (= 6.1.4.1) + activesupport (= 6.1.4.1) + bundler (>= 1.15.0) + railties (= 6.1.4.1) + sprockets-rails (>= 2.0.0) + rails-controller-testing (1.0.5) + actionpack (>= 5.0.1.rc1) + actionview (>= 5.0.1.rc1) + activesupport (>= 5.0.1.rc1) + rails-dom-testing (2.0.3) + activesupport (>= 4.2.0) + nokogiri (>= 1.6) + rails-html-sanitizer (1.4.2) + loofah (~> 2.3) + railties (6.1.4.1) + actionpack (= 6.1.4.1) + activesupport (= 6.1.4.1) + method_source + rake (>= 0.13) + thor (~> 1.0) + rainbow (3.0.0) + rake (13.0.6) + rb-fsevent (0.11.0) + rb-inotify (0.10.1) + ffi (~> 1.0) + rbtrace (0.4.14) + ffi (>= 1.0.6) + msgpack (>= 0.4.3) + optimist (>= 3.0.0) + redis (4.3.1) + redis-namespace (1.8.1) + redis (>= 3.0.4) + regexp_parser (2.1.1) + render_async (2.1.9) + responders (3.0.1) + actionpack (>= 5.0) + railties (>= 5.0) + rexml (3.2.5) + rrrretry (1.0.0) + rubocop (1.21.0) + parallel (~> 1.10) + parser (>= 3.0.0.0) + rainbow (>= 2.2.2, < 4.0) + regexp_parser (>= 1.8, < 3.0) + rexml + rubocop-ast (>= 1.9.1, < 2.0) + ruby-progressbar (~> 1.7) + unicode-display_width (>= 1.4.0, < 3.0) + rubocop-ast (1.11.0) + parser (>= 3.0.1.1) + rubocop-performance (1.11.5) + rubocop (>= 1.7.0, < 2.0) + rubocop-ast (>= 0.4.0) + ruby-progressbar (1.11.0) + ruby-statistics (2.1.3) + ruby2_keywords (0.0.2) + sass (3.7.4) + sass-listen (~> 4.0.0) + sass-listen (4.0.0) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) + sassc (2.4.0) + ffi (~> 1.9) + sassc-rails (2.1.2) + railties (>= 4.0.0) + sassc (>= 2.0) + sprockets (> 3.0) + sprockets-rails + tilt + scout_apm (4.1.2) + parser + sentry-raven (2.13.0) + faraday (>= 0.7.6, < 1.0) + sidekiq (6.2.0) + connection_pool (>= 2.2.2) + rack (~> 2.0) + redis (>= 4.2.0) + simplecov (0.21.2) + docile (~> 1.1) + simplecov-html (~> 0.11) + simplecov_json_formatter (~> 0.1) + simplecov-html (0.12.3) + simplecov_json_formatter (0.1.2) + simpleidn (0.2.1) + unf (~> 0.1.4) + sinatra (2.1.0) + mustermann (~> 1.0) + rack (~> 2.2) + rack-protection (= 2.1.0) + tilt (~> 2.0) + sitemap_generator (6.1.2) + builder (~> 3.0) + skylight (5.1.1) + activesupport (>= 5.2.0) + slim (4.1.0) + temple (>= 0.7.6, < 0.9) + tilt (>= 2.0.6, < 2.1) + slim-rails (3.3.0) + actionpack (>= 3.1) + railties (>= 3.1) + slim (>= 3.0, < 5.0) + sprockets-rails (3.2.2) + actionpack (>= 4.0) + activesupport (>= 4.0) + sprockets (>= 3.0.0) + stackprof (0.2.17) + temple (0.8.2) + test-prof (1.0.7) + the_lone_dyno (1.0.0) + hey_you (~> 0.1.1) + thor (1.1.0) + tilt (2.0.10) + ttfunk (1.7.0) + tzinfo (2.0.4) + concurrent-ruby (~> 1.0) + uglifier (4.2.0) + execjs (>= 0.3.0, < 3) + unf (0.1.4) + unf_ext + unf_ext (0.0.7.7) + unicode-display_width (2.1.0) + uniform_notifier (1.14.2) + valid_email (0.1.4) + activemodel + mail (>= 2.6.1) + simpleidn + vcr (6.0.0) + warden (1.2.9) + rack (>= 2.0.9) + web-console (4.1.0) + actionview (>= 6.0.0) + activemodel (>= 6.0.0) + bindex (>= 0.4.0) + railties (>= 6.0.0) + webmock (3.14.0) + addressable (>= 2.8.0) + crack (>= 0.3.2) + hashdiff (>= 0.4.0, < 2.0.0) + websocket-driver (0.7.5) + websocket-extensions (>= 0.1.0) + websocket-extensions (0.1.5) + wicked (1.3.4) + railties (>= 3.0.7) + will_paginate (3.3.1) + xpath (3.2.0) + nokogiri (~> 1.8) + yard (0.9.26) + zeitwerk (2.4.2) + +PLATFORMS + ruby + +DEPENDENCIES + autoprefixer-rails (~> 10.2.4) + aws-sdk-s3 (~> 1.103.0) + babel-transpiler + bluecloth + bootsnap + bourbon + bullet! + capybara (= 3.35.3) + coffee-rails (~> 5.0.0) + dalli + derailed_benchmarks + devise! + dotenv-rails (= 2.7.6) + faker + flamegraph + foreman + git_hub_bub + jquery-rails + launchy + listen + local_time (= 2.1.0) + mail + maildown (~> 3.3) + memory_profiler + mime-types (~> 3.3) + minitest (= 5.14.4) + mocha + neat (~> 1.7) + normalize-rails + oj + omniauth (~> 2.0.4) + omniauth-github + omniauth-rails_csrf_protection + pg + prawn + premailer-rails + pry + puma + puma_worker_killer + rack-canonical-host + rack-mini-profiler + rack-timeout + rails (= 6.1.4.1) + rails-controller-testing + rails_autoscale_agent! + rake + rbtrace + redis-namespace + render_async (~> 2.1) + rrrretry + rubocop + rubocop-performance + sassc + sassc-rails + scout_apm (~> 4.1.2) + sentry-raven + sidekiq + simplecov + sinatra (~> 2.1.0) + sitemap_generator + skylight (~> 5.1.1) + slim-rails + sprockets! + sprockets-rails + stackprof + test-prof + the_lone_dyno + uglifier (>= 1.0.3) + valid_email + vcr + warden (= 1.2.9) + web-console + webmock + wicked + will_paginate (= 3.3.1) + yard (~> 0.9.26) + +RUBY VERSION + ruby 3.0.2p107 + +BUNDLED WITH + 2.2.22 diff --git a/tests/packagedcode/data/rubygems/gemfile/12/origin.ABOUT b/tests/packagedcode/data/rubygems/gemfile/12/origin.ABOUT new file mode 100644 index 00000000000..7b626a627c6 --- /dev/null +++ b/tests/packagedcode/data/rubygems/gemfile/12/origin.ABOUT @@ -0,0 +1,4 @@ +date: 2022-04-01 +download_url: https://raw.githubusercontent.com/codetriage/CodeTriage/51d496085bc076b43302e1c29922271688dacfe0/Gemfile +date: 2022-04-01 +download_url: https://raw.githubusercontent.com/codetriage/CodeTriage/51d496085bc076b43302e1c29922271688dacfe0/Gemfile.lock diff --git a/tests/packagedcode/data/rubygems/gemfile/2/Gemfile b/tests/packagedcode/data/rubygems/gemfile/2/Gemfile new file mode 100644 index 00000000000..15441dbd39c --- /dev/null +++ b/tests/packagedcode/data/rubygems/gemfile/2/Gemfile @@ -0,0 +1,19 @@ +source "http://rubygems.org" + +gem "actionmailer", "~> 2.3.11" +gem "actionmailer_extensions", "0.4.4" +gem "activesupport", "~> 2.3.11" +gem "httpclient", ">= 2.1.7" +gem "jruby-openssl", "0.7.3" +gem "json_pure" +gem "ntlm-http", ">= 0.1.3" +gem "rews", ">= 0.5.1" +gem "rfc822_util" +gem "sonar_connector" +gem "sonar_exchange_pull_connector" +gem "sonar_ews_pull_connector" +gem "sonar_imap_pull_connector" +gem "sonar_push_connector" +gem "sonar_rexchange" +gem "uuidtools" + diff --git a/tests/packagedcode/data/rubygems/gemfile/2/Gemfile.lock b/tests/packagedcode/data/rubygems/gemfile/2/Gemfile.lock new file mode 100644 index 00000000000..639a7e58c41 --- /dev/null +++ b/tests/packagedcode/data/rubygems/gemfile/2/Gemfile.lock @@ -0,0 +1,96 @@ +GEM + remote: http://rubygems.org/ + specs: + actionmailer (2.3.11) + actionpack (= 2.3.11) + actionmailer_extensions (0.4.4) + actionmailer (~> 2.3.10) + actionpack (2.3.11) + activesupport (= 2.3.11) + rack (~> 1.1.0) + activesupport (2.3.11) + bouncy-castle-java (1.5.0146.1) + builder (3.0.0) + fetch_in (0.2.0) + gyoku (0.4.3) + builder (>= 2.1.2) + httpclient (2.2.0.2) + httpi (0.9.3) + ntlm-http (>= 0.1.1) + rack + jruby-openssl (0.7.3) + bouncy-castle-java + json_pure (1.5.1) + nokogiri (1.4.4.2-java) + weakling (>= 0.0.3) + nori (0.2.0) + ntlm-http (0.1.3) + rack (1.1.2) + rews (0.5.1) + fetch_in (>= 0.2.0) + ntlm-http (>= 0.1.2) + rsxml (>= 0.1.4) + savon (>= 0.8.6) + rfc822_util (0.1.2) + actionmailer (~> 2.3.10) + rsxml (0.1.4) + nokogiri (>= 1.4.4) + savon (0.9.2) + builder (>= 2.1.2) + gyoku (>= 0.4.0) + httpi (>= 0.7.8) + nokogiri (>= 1.4.0) + nori (>= 0.2.0) + sonar_connector (0.9.1) + actionmailer (~> 2.3.10) + actionmailer_extensions (>= 0.4.2) + json_pure (>= 1.2.2) + sonar_connector_filestore (>= 0.1.0) + uuidtools (>= 2.1.1) + sonar_connector_filestore (0.3.0) + sonar_ews_pull_connector (0.3.1) + fetch_in (>= 0.2.0) + httpclient (>= 2.1.6.1.1) + ntlm-http (>= 0.1.1) + rews (>= 0.5.0) + rfc822_util (>= 0.1.1) + rsxml (>= 0.1.4) + savon (>= 0.8.6) + sonar_connector (>= 0.7.2) + sonar_exchange_pull_connector (0.6.1) + activesupport (~> 2.3.10) + json_pure (>= 1.2.2) + sonar_connector (>= 0.7.2) + sonar_rexchange (>= 0.3.7) + sonar_imap_pull_connector (0.3.0) + activesupport (>= 2.3.5) + json_pure (>= 1.2.2) + sonar_connector (>= 0.5.1) + sonar_push_connector (0.8.2) + activesupport (>= 2.3.5) + json_pure (>= 1.2.2) + sonar_connector (>= 0.5.1) + sonar_rexchange (0.4.0) + uuidtools (2.1.2) + weakling (0.0.4-java) + +PLATFORMS + java + +DEPENDENCIES + actionmailer (~> 2.3.11) + actionmailer_extensions (= 0.4.4) + activesupport (~> 2.3.11) + httpclient (>= 2.1.7) + jruby-openssl (= 0.7.3) + json_pure + ntlm-http (>= 0.1.3) + rews (>= 0.5.1) + rfc822_util + sonar_connector + sonar_ews_pull_connector + sonar_exchange_pull_connector + sonar_imap_pull_connector + sonar_push_connector + sonar_rexchange + uuidtools diff --git a/tests/packagedcode/data/rubygems/gemfile/2/origin.ABOUT b/tests/packagedcode/data/rubygems/gemfile/2/origin.ABOUT new file mode 100644 index 00000000000..780232e2f4b --- /dev/null +++ b/tests/packagedcode/data/rubygems/gemfile/2/origin.ABOUT @@ -0,0 +1,4 @@ +date: 2022-04-01 +download_url: https://raw.githubusercontent.com/trampoline/sonar-connector-bundle/32734de156fa88b113066df605bf5bf4ae43a442/Gemfile +date: 2022-04-01 +download_url: https://raw.githubusercontent.com/trampoline/sonar-connector-bundle/32734de156fa88b113066df605bf5bf4ae43a442/Gemfile.lock diff --git a/tests/packagedcode/data/rubygems/gemfile/3/Gemfile b/tests/packagedcode/data/rubygems/gemfile/3/Gemfile new file mode 100644 index 00000000000..06ed0c3eb0b --- /dev/null +++ b/tests/packagedcode/data/rubygems/gemfile/3/Gemfile @@ -0,0 +1,6 @@ +source 'https://rubygems.org' +gemspec :name => "github-linguist" + +group :debug do + gem 'byebug' if RUBY_VERSION >= '2.2' +end diff --git a/tests/packagedcode/data/rubygems/gemfile/3/github-linguist.gemspec b/tests/packagedcode/data/rubygems/gemfile/3/github-linguist.gemspec new file mode 100644 index 00000000000..9ba9e1fea3c --- /dev/null +++ b/tests/packagedcode/data/rubygems/gemfile/3/github-linguist.gemspec @@ -0,0 +1,1732 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + linguist/github-linguist.gemspec at master · github/linguist · GitHub + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to content + + + + + + + + + + +
+ +
+ + + + + + + +
+ + + +
+ + + + + + + + + + +
+
+
+ + + + + + + + + + + + + + + + +
+ + + + + + +
+ + +
+ + + + + + +Permalink + +
+ +
+
+ + + master + + + + +
+
+
+ Switch branches/tags + +
+ + + +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + +
+ + +
+
+
+
+ +
+ +
+ + + Go to file + +
+ + + + +
+
+
+ + + + + + + + + +
+ +
+
+ + @lildude + +
+ + + + + + + + + +
+
+ + Latest commit + 3c3b037 + Mar 4, 2022 + + + + + + History + + +
+
+
* Exclude compiled extension excluded from gem
+
+* Be more idomatic
+
+Co-authored-by: John Gardner <gardnerjohng@gmail.com>
+
+Co-authored-by: John Gardner <gardnerjohng@gmail.com>
+ +
+ +
+
+ + + 24 + + contributors + + +
+ +

+ Users who have contributed to this file +

+
+ + + + + + +
+
+ + + @tnm + + @josh + + @lildude + + @arfon + + @vmg + + @brianmario + + @bkeepers + + @aroben + + @brandonblack + + @pchaigno + + @Alhadis + + @ktdreyer + + + +
+
+ + + + + + + + +
+ +
+ + +
+ + + 37 lines (32 sloc) + + 1.53 KB +
+ + + +
+ +
+
+ + + +
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
require File.expand_path('../lib/linguist/version', __FILE__)
+
Gem::Specification.new do |s|
s.name = 'github-linguist'
s.version = ENV['GEM_VERSION'] || Linguist::VERSION
s.summary = "GitHub Language detection"
s.description = 'We use this library at GitHub to detect blob languages, highlight code, ignore binary files, suppress generated files in diffs, and generate language breakdown graphs.'
+
s.authors = "GitHub"
s.homepage = "https://github.com/github/linguist"
s.license = "MIT"
s.metadata = {
"github_repo" => "ssh://github.com/github/linguist"
}
+
s.files = Dir['{lib,ext}/**/*', 'grammars/*', 'LICENSE'] - Dir['lib/linguist/linguist.{so,bundle}']
s.platform = Gem::Platform::RUBY
s.executables = ['github-linguist', 'git-linguist']
s.extensions = ['ext/linguist/extconf.rb']
s.require_paths = ['lib', 'ext']
+
s.add_dependency 'charlock_holmes', '~> 0.7.7'
s.add_dependency 'escape_utils', '~> 1.2.0'
s.add_dependency 'mini_mime', '~> 1.0'
s.add_dependency 'rugged', '~> 1.0'
+
s.add_development_dependency 'minitest', '~> 5.15'
s.add_development_dependency 'rake-compiler', '~> 0.9'
s.add_development_dependency 'mocha', '~> 1.3'
s.add_development_dependency 'plist', '~>3.1'
s.add_development_dependency 'pry', '~> 0.14'
s.add_development_dependency 'rake', '~> 13.0'
s.add_development_dependency 'yajl-ruby', '~> 1.4'
s.add_development_dependency 'licensed', '~> 2.0'
s.add_development_dependency 'licensee', '~> 9.15'
s.add_development_dependency 'bundler', '~> 2.0'
end
+
+ + + +
+ +
+ + + + +
+ + +
+ + +
+
+ + + + +
+ +
+ + +
+ +
+
+ +
+ + + + + + + + + + + + + + + + + + + + + diff --git a/tests/packagedcode/data/rubygems/gemfile/3/origin.ABOUT b/tests/packagedcode/data/rubygems/gemfile/3/origin.ABOUT new file mode 100644 index 00000000000..732b68c7978 --- /dev/null +++ b/tests/packagedcode/data/rubygems/gemfile/3/origin.ABOUT @@ -0,0 +1,4 @@ +date: 2022-04-01 +download_url: https://raw.githubusercontent.com/github/linguist/master/Gemfile +date: 2022-04-01 +download_url: https://github.com/github/linguist/blob/master/github-linguist.gemspec diff --git a/tests/packagedcode/data/rubygems/gemfile/4/Gemfile b/tests/packagedcode/data/rubygems/gemfile/4/Gemfile new file mode 100644 index 00000000000..9ba535a3339 --- /dev/null +++ b/tests/packagedcode/data/rubygems/gemfile/4/Gemfile @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +source 'https://rubygems.org' + +require 'json' +require 'net/http' +versions = JSON.parse(Net::HTTP.get(URI('https://pages.github.com/versions.json'))) + +gem 'github-pages', versions['github-pages'] + +# https://github.com/jekyll/jekyll/issues/8523 +gem 'webrick', '~> 1.7' + +group :development do + gem 'colored' + gem 'fuzzy_match' + gem 'terminal-table' +end + +group :test do + gem 'html-proofer', '~> 3.0' + gem 'licensee', git: 'https://github.com/licensee/licensee.git', branch: 'master' + gem 'rake' + gem 'rspec' + gem 'rubocop' +end diff --git a/tests/packagedcode/data/rubygems/gemfile/4/origin.ABOUT b/tests/packagedcode/data/rubygems/gemfile/4/origin.ABOUT new file mode 100644 index 00000000000..d991696a886 --- /dev/null +++ b/tests/packagedcode/data/rubygems/gemfile/4/origin.ABOUT @@ -0,0 +1,2 @@ +date: 2022-04-01 +download_url: https://raw.githubusercontent.com/github/choosealicense.com/639dac9dc52678b5f6063ad95e6e5f99e5708556/Gemfile diff --git a/tests/packagedcode/data/rubygems/gemfile/5/Gemfile b/tests/packagedcode/data/rubygems/gemfile/5/Gemfile new file mode 100644 index 00000000000..0581a6d60a9 --- /dev/null +++ b/tests/packagedcode/data/rubygems/gemfile/5/Gemfile @@ -0,0 +1,7 @@ +source "https://rubygems.org" + +gem 'github-pages', '~> 219', group: :jekyll_plugins +gem 'html-proofer' +gem 'rack-contrib', '~> 1.1.0' +gem 'rake' +gem 'jekyll-octicons' diff --git a/tests/packagedcode/data/rubygems/gemfile/5/Gemfile.lock b/tests/packagedcode/data/rubygems/gemfile/5/Gemfile.lock new file mode 100644 index 00000000000..68d23d1d385 --- /dev/null +++ b/tests/packagedcode/data/rubygems/gemfile/5/Gemfile.lock @@ -0,0 +1,304 @@ +GEM + remote: https://rubygems.org/ + specs: + activesupport (6.0.4.1) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 0.7, < 2) + minitest (~> 5.1) + tzinfo (~> 1.1) + zeitwerk (~> 2.2, >= 2.2.2) + addressable (2.8.0) + public_suffix (>= 2.0.2, < 5.0) + coffee-script (2.4.1) + coffee-script-source + execjs + coffee-script-source (1.11.1) + colorator (1.1.0) + commonmarker (0.17.13) + ruby-enum (~> 0.5) + concurrent-ruby (1.1.9) + dnsruby (1.61.7) + simpleidn (~> 0.1) + em-websocket (0.5.2) + eventmachine (>= 0.12.9) + http_parser.rb (~> 0.6.0) + ethon (0.12.0) + ffi (>= 1.3.0) + eventmachine (1.2.7) + execjs (2.8.1) + faraday (1.8.0) + faraday-em_http (~> 1.0) + faraday-em_synchrony (~> 1.0) + faraday-excon (~> 1.1) + faraday-httpclient (~> 1.0.1) + faraday-net_http (~> 1.0) + faraday-net_http_persistent (~> 1.1) + faraday-patron (~> 1.0) + faraday-rack (~> 1.0) + multipart-post (>= 1.2, < 3) + ruby2_keywords (>= 0.0.4) + faraday-em_http (1.0.0) + faraday-em_synchrony (1.0.0) + faraday-excon (1.1.0) + faraday-httpclient (1.0.1) + faraday-net_http (1.0.1) + faraday-net_http_persistent (1.2.0) + faraday-patron (1.0.0) + faraday-rack (1.0.0) + ffi (1.15.4) + forwardable-extended (2.6.0) + gemoji (3.0.1) + github-pages (219) + github-pages-health-check (= 1.17.7) + jekyll (= 3.9.0) + jekyll-avatar (= 0.7.0) + jekyll-coffeescript (= 1.1.1) + jekyll-commonmark-ghpages (= 0.1.6) + jekyll-default-layout (= 0.1.4) + jekyll-feed (= 0.15.1) + jekyll-gist (= 1.5.0) + jekyll-github-metadata (= 2.13.0) + jekyll-mentions (= 1.6.0) + jekyll-optional-front-matter (= 0.3.2) + jekyll-paginate (= 1.1.0) + jekyll-readme-index (= 0.3.0) + jekyll-redirect-from (= 0.16.0) + jekyll-relative-links (= 0.6.1) + jekyll-remote-theme (= 0.4.3) + jekyll-sass-converter (= 1.5.2) + jekyll-seo-tag (= 2.7.1) + jekyll-sitemap (= 1.4.0) + jekyll-swiss (= 1.0.0) + jekyll-theme-architect (= 0.2.0) + jekyll-theme-cayman (= 0.2.0) + jekyll-theme-dinky (= 0.2.0) + jekyll-theme-hacker (= 0.2.0) + jekyll-theme-leap-day (= 0.2.0) + jekyll-theme-merlot (= 0.2.0) + jekyll-theme-midnight (= 0.2.0) + jekyll-theme-minimal (= 0.2.0) + jekyll-theme-modernist (= 0.2.0) + jekyll-theme-primer (= 0.6.0) + jekyll-theme-slate (= 0.2.0) + jekyll-theme-tactile (= 0.2.0) + jekyll-theme-time-machine (= 0.2.0) + jekyll-titles-from-headings (= 0.5.3) + jemoji (= 0.12.0) + kramdown (= 2.3.1) + kramdown-parser-gfm (= 1.1.0) + liquid (= 4.0.3) + mercenary (~> 0.3) + minima (= 2.5.1) + nokogiri (>= 1.10.4, < 2.0) + rouge (= 3.26.0) + terminal-table (~> 1.4) + github-pages-health-check (1.17.7) + addressable (~> 2.3) + dnsruby (~> 1.60) + octokit (~> 4.0) + public_suffix (>= 3.0, < 5.0) + typhoeus (~> 1.3) + html-pipeline (2.14.0) + activesupport (>= 2) + nokogiri (>= 1.4) + html-proofer (3.15.0) + addressable (~> 2.3) + mercenary (~> 0.3) + nokogumbo (~> 2.0) + parallel (~> 1.3) + rainbow (~> 3.0) + typhoeus (~> 1.3) + yell (~> 2.0) + http_parser.rb (0.6.0) + i18n (0.9.5) + concurrent-ruby (~> 1.0) + jekyll (3.9.0) + addressable (~> 2.4) + colorator (~> 1.0) + em-websocket (~> 0.5) + i18n (~> 0.7) + jekyll-sass-converter (~> 1.0) + jekyll-watch (~> 2.0) + kramdown (>= 1.17, < 3) + liquid (~> 4.0) + mercenary (~> 0.3.3) + pathutil (~> 0.9) + rouge (>= 1.7, < 4) + safe_yaml (~> 1.0) + jekyll-avatar (0.7.0) + jekyll (>= 3.0, < 5.0) + jekyll-coffeescript (1.1.1) + coffee-script (~> 2.2) + coffee-script-source (~> 1.11.1) + jekyll-commonmark (1.3.1) + commonmarker (~> 0.14) + jekyll (>= 3.7, < 5.0) + jekyll-commonmark-ghpages (0.1.6) + commonmarker (~> 0.17.6) + jekyll-commonmark (~> 1.2) + rouge (>= 2.0, < 4.0) + jekyll-default-layout (0.1.4) + jekyll (~> 3.0) + jekyll-feed (0.15.1) + jekyll (>= 3.7, < 5.0) + jekyll-gist (1.5.0) + octokit (~> 4.2) + jekyll-github-metadata (2.13.0) + jekyll (>= 3.4, < 5.0) + octokit (~> 4.0, != 4.4.0) + jekyll-mentions (1.6.0) + html-pipeline (~> 2.3) + jekyll (>= 3.7, < 5.0) + jekyll-octicons (15.2.0) + jekyll (>= 3.6, < 5.0) + octicons (= 15.2.0) + jekyll-optional-front-matter (0.3.2) + jekyll (>= 3.0, < 5.0) + jekyll-paginate (1.1.0) + jekyll-readme-index (0.3.0) + jekyll (>= 3.0, < 5.0) + jekyll-redirect-from (0.16.0) + jekyll (>= 3.3, < 5.0) + jekyll-relative-links (0.6.1) + jekyll (>= 3.3, < 5.0) + jekyll-remote-theme (0.4.3) + addressable (~> 2.0) + jekyll (>= 3.5, < 5.0) + jekyll-sass-converter (>= 1.0, <= 3.0.0, != 2.0.0) + rubyzip (>= 1.3.0, < 3.0) + jekyll-sass-converter (1.5.2) + sass (~> 3.4) + jekyll-seo-tag (2.7.1) + jekyll (>= 3.8, < 5.0) + jekyll-sitemap (1.4.0) + jekyll (>= 3.7, < 5.0) + jekyll-swiss (1.0.0) + jekyll-theme-architect (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-cayman (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-dinky (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-hacker (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-leap-day (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-merlot (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-midnight (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-minimal (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-modernist (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-primer (0.6.0) + jekyll (> 3.5, < 5.0) + jekyll-github-metadata (~> 2.9) + jekyll-seo-tag (~> 2.0) + jekyll-theme-slate (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-tactile (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-time-machine (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-titles-from-headings (0.5.3) + jekyll (>= 3.3, < 5.0) + jekyll-watch (2.2.1) + listen (~> 3.0) + jemoji (0.12.0) + gemoji (~> 3.0) + html-pipeline (~> 2.2) + jekyll (>= 3.0, < 5.0) + kramdown (2.3.1) + rexml + kramdown-parser-gfm (1.1.0) + kramdown (~> 2.0) + liquid (4.0.3) + listen (3.7.0) + rb-fsevent (~> 0.10, >= 0.10.3) + rb-inotify (~> 0.9, >= 0.9.10) + mercenary (0.3.6) + mini_portile2 (2.6.1) + minima (2.5.1) + jekyll (>= 3.5, < 5.0) + jekyll-feed (~> 0.9) + jekyll-seo-tag (~> 2.1) + minitest (5.14.4) + multipart-post (2.1.1) + nokogiri (1.12.5) + mini_portile2 (~> 2.6.1) + racc (~> 1.4) + nokogumbo (2.0.2) + nokogiri (~> 1.8, >= 1.8.4) + octicons (15.2.0) + octokit (4.21.0) + faraday (>= 0.9) + sawyer (~> 0.8.0, >= 0.5.3) + parallel (1.19.1) + pathutil (0.16.2) + forwardable-extended (~> 2.6) + public_suffix (4.0.6) + racc (1.5.2) + rack (2.2.3) + rack-contrib (1.1.0) + rack (>= 0.9.1) + rainbow (3.0.0) + rake (13.0.1) + rb-fsevent (0.11.0) + rb-inotify (0.10.1) + ffi (~> 1.0) + rexml (3.2.5) + rouge (3.26.0) + ruby-enum (0.9.0) + i18n + ruby2_keywords (0.0.5) + rubyzip (2.3.2) + safe_yaml (1.0.5) + sass (3.7.4) + sass-listen (~> 4.0.0) + sass-listen (4.0.0) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) + sawyer (0.8.2) + addressable (>= 2.3.5) + faraday (> 0.8, < 2.0) + simpleidn (0.2.1) + unf (~> 0.1.4) + terminal-table (1.8.0) + unicode-display_width (~> 1.1, >= 1.1.1) + thread_safe (0.3.6) + typhoeus (1.4.0) + ethon (>= 0.9.0) + tzinfo (1.2.9) + thread_safe (~> 0.1) + unf (0.1.4) + unf_ext + unf_ext (0.0.8) + unicode-display_width (1.8.0) + yell (2.2.0) + zeitwerk (2.4.2) + +PLATFORMS + ruby + +DEPENDENCIES + github-pages (~> 219) + html-proofer + jekyll-octicons + rack-contrib (~> 1.1.0) + rake + +BUNDLED WITH + 2.2.15 diff --git a/tests/packagedcode/data/rubygems/gemfile/5/origin.ABOUT b/tests/packagedcode/data/rubygems/gemfile/5/origin.ABOUT new file mode 100644 index 00000000000..69bfb752414 --- /dev/null +++ b/tests/packagedcode/data/rubygems/gemfile/5/origin.ABOUT @@ -0,0 +1,4 @@ +date: 2022-04-01 +download_url: https://raw.githubusercontent.com/github/training-kit/7b6f33a1ec1a44a112a5a79e747b5cde28b1d9d3/Gemfile +date: 2022-04-01 +download_url: https://raw.githubusercontent.com/github/training-kit/7b6f33a1ec1a44a112a5a79e747b5cde28b1d9d3/Gemfile.lock diff --git a/tests/packagedcode/data/rubygems/gemfile/6/Gemfile b/tests/packagedcode/data/rubygems/gemfile/6/Gemfile new file mode 100644 index 00000000000..b4e2a20bb60 --- /dev/null +++ b/tests/packagedcode/data/rubygems/gemfile/6/Gemfile @@ -0,0 +1,3 @@ +source "https://rubygems.org" + +gemspec diff --git a/tests/packagedcode/data/rubygems/gemfile/6/origin.ABOUT b/tests/packagedcode/data/rubygems/gemfile/6/origin.ABOUT new file mode 100644 index 00000000000..2189525061e --- /dev/null +++ b/tests/packagedcode/data/rubygems/gemfile/6/origin.ABOUT @@ -0,0 +1,4 @@ +date: 2022-04-01 +download_url: https://raw.githubusercontent.com/github/scientist/main/Gemfile +date: 2022-04-01 +download_url: https://raw.githubusercontent.com/github/scientist/main/scientist.gemspec diff --git a/tests/packagedcode/data/rubygems/gemfile/6/scientist.gemspec b/tests/packagedcode/data/rubygems/gemfile/6/scientist.gemspec new file mode 100644 index 00000000000..81f7fb4fd5b --- /dev/null +++ b/tests/packagedcode/data/rubygems/gemfile/6/scientist.gemspec @@ -0,0 +1,22 @@ +$: << "lib" and require "scientist/version" + +Gem::Specification.new do |gem| + gem.name = "scientist" + gem.description = "A Ruby library for carefully refactoring critical paths" + gem.version = Scientist::VERSION + gem.authors = ["GitHub Open Source", "John Barnette", "Rick Bradley", "Jesse Toth", "Nathan Witmer"] + gem.email = ["opensource+scientist@github.com", "jbarnette@github.com", "rick@rickbradley.com", "jesseplusplus@github.com","zerowidth@github.com"] + gem.summary = "Carefully test, measure, and track refactored code." + gem.homepage = "https://github.com/github/scientist" + gem.license = "MIT" + + gem.required_ruby_version = '>= 2.3' + + gem.files = `git ls-files`.split($/) + gem.executables = [] + gem.test_files = gem.files.grep(/^test/) + gem.require_paths = ["lib"] + + gem.add_development_dependency "minitest", "~> 5.8" + gem.add_development_dependency "rake" +end diff --git a/tests/packagedcode/data/rubygems/gemfile/7/Gemfile b/tests/packagedcode/data/rubygems/gemfile/7/Gemfile new file mode 100644 index 00000000000..aef4cd9422a --- /dev/null +++ b/tests/packagedcode/data/rubygems/gemfile/7/Gemfile @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +source "https://rubygems.org" + +git_source(:github) { |repo_name| "https://github.com/#{repo_name}" } + +gem "rubocop", "~> 1.26.1" +gem "rubocop-github", "~> 0.17.0" +gem "rubocop-performance", "~>1.13.3" +gem "rubocop-rails", "~> 2.14" +gem "rubocop-rspec", "~> 2.9.0" diff --git a/tests/packagedcode/data/rubygems/gemfile/7/Gemfile.lock b/tests/packagedcode/data/rubygems/gemfile/7/Gemfile.lock new file mode 100644 index 00000000000..4607556df24 --- /dev/null +++ b/tests/packagedcode/data/rubygems/gemfile/7/Gemfile.lock @@ -0,0 +1,61 @@ +GEM + remote: https://rubygems.org/ + specs: + activesupport (7.0.2.3) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 1.6, < 2) + minitest (>= 5.1) + tzinfo (~> 2.0) + ast (2.4.2) + concurrent-ruby (1.1.9) + i18n (1.10.0) + concurrent-ruby (~> 1.0) + minitest (5.15.0) + parallel (1.22.1) + parser (3.1.1.0) + ast (~> 2.4.1) + rack (2.2.3) + rainbow (3.1.1) + regexp_parser (2.2.1) + rexml (3.2.5) + rubocop (1.26.1) + parallel (~> 1.10) + parser (>= 3.1.0.0) + rainbow (>= 2.2.2, < 4.0) + regexp_parser (>= 1.8, < 3.0) + rexml + rubocop-ast (>= 1.16.0, < 2.0) + ruby-progressbar (~> 1.7) + unicode-display_width (>= 1.4.0, < 3.0) + rubocop-ast (1.16.0) + parser (>= 3.1.1.0) + rubocop-github (0.17.0) + rubocop + rubocop-performance + rubocop-rails + rubocop-performance (1.13.3) + rubocop (>= 1.7.0, < 2.0) + rubocop-ast (>= 0.4.0) + rubocop-rails (2.14.2) + activesupport (>= 4.2.0) + rack (>= 1.1) + rubocop (>= 1.7.0, < 2.0) + rubocop-rspec (2.9.0) + rubocop (~> 1.19) + ruby-progressbar (1.11.0) + tzinfo (2.0.4) + concurrent-ruby (~> 1.0) + unicode-display_width (2.1.0) + +PLATFORMS + ruby + +DEPENDENCIES + rubocop (~> 1.26.1) + rubocop-github (~> 0.17.0) + rubocop-performance (~> 1.13.3) + rubocop-rails (~> 2.14) + rubocop-rspec (~> 2.9.0) + +BUNDLED WITH + 2.3.7 diff --git a/tests/packagedcode/data/rubygems/gemfile/7/origin.ABOUT b/tests/packagedcode/data/rubygems/gemfile/7/origin.ABOUT new file mode 100644 index 00000000000..a27f765bdf7 --- /dev/null +++ b/tests/packagedcode/data/rubygems/gemfile/7/origin.ABOUT @@ -0,0 +1,4 @@ +date: 2022-04-01 +download_url: https://raw.githubusercontent.com/github/super-linter/main/dependencies/Gemfile +date: 2022-04-01 +download_url: https://raw.githubusercontent.com/github/super-linter/main/dependencies/Gemfile.lock diff --git a/tests/packagedcode/data/rubygems/gemfile/8/Gemfile b/tests/packagedcode/data/rubygems/gemfile/8/Gemfile new file mode 100644 index 00000000000..d775f65688e --- /dev/null +++ b/tests/packagedcode/data/rubygems/gemfile/8/Gemfile @@ -0,0 +1,8 @@ +source "https://rubygems.org" + +gemspec + +group :benchmark do + gem "mysql2" + gem "benchmark-ips" +end diff --git a/tests/packagedcode/data/rubygems/gemfile/8/Gemfile.lock b/tests/packagedcode/data/rubygems/gemfile/8/Gemfile.lock new file mode 100644 index 00000000000..e5ba309a296 --- /dev/null +++ b/tests/packagedcode/data/rubygems/gemfile/8/Gemfile.lock @@ -0,0 +1,24 @@ +PATH + remote: . + specs: + trilogy (2.1.0) + +GEM + remote: https://rubygems.org/ + specs: + benchmark-ips (2.7.2) + minitest (5.11.3) + mysql2 (0.5.2) + rake (13.0.1) + rake-compiler (1.0.7) + rake + +PLATFORMS + ruby + +DEPENDENCIES + benchmark-ips + minitest (~> 5.5) + mysql2 + rake-compiler (~> 1.0) + trilogy! diff --git a/tests/packagedcode/data/rubygems/gemfile/8/origin.ABOUT b/tests/packagedcode/data/rubygems/gemfile/8/origin.ABOUT new file mode 100644 index 00000000000..86236e0a6f6 --- /dev/null +++ b/tests/packagedcode/data/rubygems/gemfile/8/origin.ABOUT @@ -0,0 +1,6 @@ +date: 2022-04-01 +download_url: https://raw.githubusercontent.com/github/trilogy/7057f3685b4d6e9b58c47dde9f6dab6cb12f753a/contrib/ruby/Gemfile +date: 2022-04-01 +download_url: https://raw.githubusercontent.com/github/trilogy/7057f3685b4d6e9b58c47dde9f6dab6cb12f753a/contrib/ruby/Gemfile.lock +date: 2022-04-01 +download_url: https://raw.githubusercontent.com/github/trilogy/7057f3685b4d6e9b58c47dde9f6dab6cb12f753a/contrib/ruby/trilogy.gemspec diff --git a/tests/packagedcode/data/rubygems/gemfile/8/trilogy.gemspec b/tests/packagedcode/data/rubygems/gemfile/8/trilogy.gemspec new file mode 100644 index 00000000000..bee5d0f3f5e --- /dev/null +++ b/tests/packagedcode/data/rubygems/gemfile/8/trilogy.gemspec @@ -0,0 +1,27 @@ +require File.expand_path("../lib/trilogy/version", __FILE__) + +Gem::Specification.new do |s| + s.name = "trilogy" + s.version = Trilogy::VERSION + s.authors = ["GitHub Engineering"] + s.email = "opensource+trilogy@github.com" + s.license = "MIT" + s.homepage = "https://github.com/github/trilogy" + s.summary = "A friendly MySQL-compatible library for Ruby, binding to libtrilogy" + + s.extensions = "ext/trilogy-ruby/extconf.rb" + + gem_files = %w[LICENSE README.md Rakefile trilogy.gemspec] + gem_files += Dir.glob("lib/**/*.rb") + gem_files += Dir.glob("ext/trilogy-ruby/*.c") + gem_files += Dir.glob("ext/trilogy-ruby/*.h") + gem_files += Dir.glob("ext/trilogy-ruby/src/**/*.c") + gem_files += Dir.glob("ext/trilogy-ruby/inc/**/*.h") + + s.files = gem_files + + s.require_paths = ["lib"] + + s.add_development_dependency "rake-compiler", "~> 1.0" + s.add_development_dependency "minitest", "~> 5.5" +end diff --git a/tests/packagedcode/data/rubygems/gemfile/9/Gemfile b/tests/packagedcode/data/rubygems/gemfile/9/Gemfile new file mode 100644 index 00000000000..b4e2a20bb60 --- /dev/null +++ b/tests/packagedcode/data/rubygems/gemfile/9/Gemfile @@ -0,0 +1,3 @@ +source "https://rubygems.org" + +gemspec diff --git a/tests/packagedcode/data/rubygems/gemfile/9/Gemfile.lock b/tests/packagedcode/data/rubygems/gemfile/9/Gemfile.lock new file mode 100644 index 00000000000..f464a73b099 --- /dev/null +++ b/tests/packagedcode/data/rubygems/gemfile/9/Gemfile.lock @@ -0,0 +1,41 @@ +PATH + remote: . + specs: + ssh_data (1.3.0) + +GEM + remote: https://rubygems.org/ + specs: + coderay (1.1.3) + diff-lcs (1.4.4) + ed25519 (1.2.4) + method_source (1.0.0) + pry (0.14.0) + coderay (~> 1.1) + method_source (~> 1.0) + rspec (3.10.0) + rspec-core (~> 3.10.0) + rspec-expectations (~> 3.10.0) + rspec-mocks (~> 3.10.0) + rspec-core (3.10.1) + rspec-support (~> 3.10.0) + rspec-expectations (3.10.1) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.10.0) + rspec-mocks (3.10.2) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.10.0) + rspec-support (3.10.2) + +PLATFORMS + ruby + +DEPENDENCIES + ed25519 (~> 1.2) + pry (~> 0.14) + rspec (~> 3.10) + rspec-mocks (~> 3.10) + ssh_data! + +BUNDLED WITH + 2.1.4 diff --git a/tests/packagedcode/data/rubygems/gemfile/9/origin.ABOUT b/tests/packagedcode/data/rubygems/gemfile/9/origin.ABOUT new file mode 100644 index 00000000000..ad47d32e07f --- /dev/null +++ b/tests/packagedcode/data/rubygems/gemfile/9/origin.ABOUT @@ -0,0 +1,6 @@ +date: 2022-04-01 +download_url: https://raw.githubusercontent.com/github/ssh_data/a1b98d5fdf9cdd691e146ce3a79b118a7ce39ff3/ssh_data.gemspec +date: 2022-04-01 +download_url: https://raw.githubusercontent.com/github/ssh_data/a1b98d5fdf9cdd691e146ce3a79b118a7ce39ff3/Gemfile.lock +date: 2022-04-01 +download_url: https://raw.githubusercontent.com/github/ssh_data/a1b98d5fdf9cdd691e146ce3a79b118a7ce39ff3/Gemfile diff --git a/tests/packagedcode/data/rubygems/gemfile/9/ssh_data.gemspec b/tests/packagedcode/data/rubygems/gemfile/9/ssh_data.gemspec new file mode 100644 index 00000000000..aa85ee116c3 --- /dev/null +++ b/tests/packagedcode/data/rubygems/gemfile/9/ssh_data.gemspec @@ -0,0 +1,19 @@ +$:.unshift File.expand_path('../lib', __FILE__) +require "ssh_data/version" + +Gem::Specification.new do |s| + s.name = "ssh_data" + s.summary = "Library for parsing SSH certificates" + s.version = SSHData::VERSION + s.license = "MIT" + s.homepage = "https://github.com/github/ssh_data" + s.authors = ["mastahyeti"] + s.email = "opensource+ssh_data@github.com" + s.required_ruby_version = ">= 2.3" + s.files = Dir["./lib/**/*.rb"] + ["./LICENSE.md"] + + s.add_development_dependency "ed25519", "~> 1.2" + s.add_development_dependency "pry", "~> 0.14" + s.add_development_dependency "rspec", "~> 3.10" + s.add_development_dependency "rspec-mocks", "~> 3.10" +end diff --git a/tests/packagedcode/data/rubygems/gemspec/address_standardization.gemspec.expected.json b/tests/packagedcode/data/rubygems/gemspec/address_standardization.gemspec.expected.json index d058212f19b..9e30ada55d0 100644 --- a/tests/packagedcode/data/rubygems/gemspec/address_standardization.gemspec.expected.json +++ b/tests/packagedcode/data/rubygems/gemspec/address_standardization.gemspec.expected.json @@ -19,7 +19,7 @@ }, { "type": "person", - "role": "email", + "role": "author", "name": null, "email": "elliot.winkler@gmail.com", "url": null @@ -27,7 +27,7 @@ ], "keywords": [], "homepage_url": "http://github.com/mcmire/address_standardization", - "download_url": null, + "download_url": "https://rubygems.org/downloads/mysmallidea-address_standardization-0.4.1.gem", "size": null, "sha1": null, "md5": null, @@ -40,14 +40,50 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { "purl": "pkg:gem/mcmire-context", "extracted_requirement": ">= 0", - "scope": "dependencies", + "scope": "development", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:gem/mcmire-matchy", + "extracted_requirement": ">= 0", + "scope": "development", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:gem/mechanize", + "extracted_requirement": ">= 0", + "scope": "runtime", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:gem/mechanize", + "extracted_requirement": ">= 0", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:gem/mcmire-context", + "extracted_requirement": ">= 0", + "scope": "dependency", "is_runtime": true, "is_optional": false, "is_resolved": false, @@ -56,7 +92,7 @@ { "purl": "pkg:gem/mcmire-matchy", "extracted_requirement": ">= 0", - "scope": "dependencies", + "scope": "dependency", "is_runtime": true, "is_optional": false, "is_resolved": false, @@ -65,16 +101,35 @@ { "purl": "pkg:gem/mechanize", "extracted_requirement": ">= 0", - "scope": "dependencies", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:gem/mcmire-context", + "extracted_requirement": ">= 0", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:gem/mcmire-matchy", + "extracted_requirement": ">= 0", + "scope": "dependency", "is_runtime": true, "is_optional": false, "is_resolved": false, "resolved_package": {} } ], - "purl": "pkg:gem/mysmallidea-address_standardization@0.4.1", "repository_homepage_url": "https://rubygems.org/gems/mysmallidea-address_standardization/versions/0.4.1", "repository_download_url": "https://rubygems.org/downloads/mysmallidea-address_standardization-0.4.1.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/mysmallidea-address_standardization/versions/0.4.1.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/mysmallidea-address_standardization/versions/0.4.1.json", + "datasource_id": "gemspec", + "purl": "pkg:gem/mysmallidea-address_standardization@0.4.1" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/rubygems/gemspec/arel.gemspec.expected.json b/tests/packagedcode/data/rubygems/gemspec/arel.gemspec.expected.json index f0755192a6b..2fdec6b5d5c 100644 --- a/tests/packagedcode/data/rubygems/gemspec/arel.gemspec.expected.json +++ b/tests/packagedcode/data/rubygems/gemspec/arel.gemspec.expected.json @@ -40,28 +40,28 @@ }, { "type": "person", - "role": "email", + "role": "author", "name": null, "email": "aaron@tenderlovemaking.com", "url": null }, { "type": "person", - "role": "email", + "role": "author", "name": null, "email": " bryan@brynary.com", "url": null }, { "type": "person", - "role": "email", + "role": "author", "name": null, "email": " miloops@gmail.com", "url": null }, { "type": "person", - "role": "email", + "role": "author", "name": null, "email": " nick@example.org", "url": null @@ -69,7 +69,7 @@ ], "keywords": [], "homepage_url": "http://github.com/rails/arel", - "download_url": null, + "download_url": "https://rubygems.org/downloads/arel-2.0.7.beta.20110429111451.gem", "size": null, "sha1": null, "md5": null, @@ -82,14 +82,50 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { "purl": "pkg:gem/minitest", "extracted_requirement": ">= 2.0.2", - "scope": "dependencies", + "scope": "development", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:gem/hoe", + "extracted_requirement": ">= 2.9.1", + "scope": "development", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:gem/minitest", + "extracted_requirement": ">= 2.0.2", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:gem/hoe", + "extracted_requirement": ">= 2.9.1", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:gem/minitest", + "extracted_requirement": ">= 2.0.2", + "scope": "dependency", "is_runtime": true, "is_optional": false, "is_resolved": false, @@ -98,16 +134,17 @@ { "purl": "pkg:gem/hoe", "extracted_requirement": ">= 2.9.1", - "scope": "dependencies", + "scope": "dependency", "is_runtime": true, "is_optional": false, "is_resolved": false, "resolved_package": {} } ], - "purl": "pkg:gem/arel@2.0.7.beta.20110429111451", "repository_homepage_url": "https://rubygems.org/gems/arel/versions/2.0.7.beta.20110429111451", "repository_download_url": "https://rubygems.org/downloads/arel-2.0.7.beta.20110429111451.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/arel/versions/2.0.7.beta.20110429111451.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/arel/versions/2.0.7.beta.20110429111451.json", + "datasource_id": "gemspec", + "purl": "pkg:gem/arel@2.0.7.beta.20110429111451" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/rubygems/gemspec/cat.gemspec.expected.json b/tests/packagedcode/data/rubygems/gemspec/cat.gemspec.expected.json index 4cc01f7ac5f..8b4808371a2 100644 --- a/tests/packagedcode/data/rubygems/gemspec/cat.gemspec.expected.json +++ b/tests/packagedcode/data/rubygems/gemspec/cat.gemspec.expected.json @@ -19,7 +19,7 @@ }, { "type": "person", - "role": "email", + "role": "author", "name": null, "email": "elct9620@frost.tw", "url": null @@ -27,7 +27,7 @@ ], "keywords": [], "homepage_url": "https://github.com/elct9620/.cat", - "download_url": null, + "download_url": "https://rubygems.org/downloads/cat_-12.gem", "size": null, "sha1": null, "md5": null, @@ -40,41 +40,41 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { "purl": "pkg:gem/bundler", "extracted_requirement": "~> 1.13", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, + "scope": "development", + "is_runtime": false, + "is_optional": true, "is_resolved": false, "resolved_package": {} }, { "purl": "pkg:gem/rake", "extracted_requirement": "~> 10.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, + "scope": "development", + "is_runtime": false, + "is_optional": true, "is_resolved": false, "resolved_package": {} }, { "purl": "pkg:gem/rspec", "extracted_requirement": "~> 3.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, + "scope": "development", + "is_runtime": false, + "is_optional": true, "is_resolved": false, "resolved_package": {} }, { "purl": "pkg:gem/rack", "extracted_requirement": "", - "scope": "dependencies", + "scope": "runtime", "is_runtime": true, "is_optional": false, "is_resolved": false, @@ -83,7 +83,7 @@ { "purl": "pkg:gem/sassc", "extracted_requirement": "", - "scope": "dependencies", + "scope": "runtime", "is_runtime": true, "is_optional": false, "is_resolved": false, @@ -92,16 +92,17 @@ { "purl": "pkg:gem/slim", "extracted_requirement": "", - "scope": "dependencies", + "scope": "runtime", "is_runtime": true, "is_optional": false, "is_resolved": false, "resolved_package": {} } ], - "purl": "pkg:gem/cat_@12", "repository_homepage_url": "https://rubygems.org/gems/cat_/versions/12", "repository_download_url": "https://rubygems.org/downloads/cat_-12.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/cat_/versions/12.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/cat_/versions/12.json", + "datasource_id": "gemspec", + "purl": "pkg:gem/cat_@12" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/rubygems/gemspec/github.gemspec.expected.json b/tests/packagedcode/data/rubygems/gemspec/github.gemspec.expected.json index 2415ff9116a..f1a33a84b99 100644 --- a/tests/packagedcode/data/rubygems/gemspec/github.gemspec.expected.json +++ b/tests/packagedcode/data/rubygems/gemspec/github.gemspec.expected.json @@ -40,7 +40,7 @@ }, { "type": "person", - "role": "email", + "role": "author", "name": null, "email": "drnicwilliams@gmail.com", "url": null @@ -48,7 +48,7 @@ ], "keywords": [], "homepage_url": "https://github.com/defunkt/github-gem", - "download_url": null, + "download_url": "https://rubygems.org/downloads/github-GitHub::VERSION.gem", "size": null, "sha1": null, "md5": null, @@ -61,41 +61,41 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { "purl": "pkg:gem/rake", "extracted_requirement": "", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, + "scope": "development", + "is_runtime": false, + "is_optional": true, "is_resolved": false, "resolved_package": {} }, { "purl": "pkg:gem/rspec", "extracted_requirement": "~>1.3.1", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, + "scope": "development", + "is_runtime": false, + "is_optional": true, "is_resolved": false, "resolved_package": {} }, { "purl": "pkg:gem/activerecord", "extracted_requirement": "~>3.0.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, + "scope": "development", + "is_runtime": false, + "is_optional": true, "is_resolved": false, "resolved_package": {} }, { "purl": "pkg:gem/text-hyphen", "extracted_requirement": "1.0.0", - "scope": "dependencies", + "scope": "dependency", "is_runtime": true, "is_optional": false, "is_resolved": false, @@ -104,7 +104,7 @@ { "purl": "pkg:gem/text-format", "extracted_requirement": "1.0.0", - "scope": "dependencies", + "scope": "dependency", "is_runtime": true, "is_optional": false, "is_resolved": false, @@ -113,7 +113,7 @@ { "purl": "pkg:gem/highline", "extracted_requirement": "~> 1.6", - "scope": "dependencies", + "scope": "dependency", "is_runtime": true, "is_optional": false, "is_resolved": false, @@ -122,7 +122,7 @@ { "purl": "pkg:gem/json_pure", "extracted_requirement": "~> 1.5.1", - "scope": "dependencies", + "scope": "dependency", "is_runtime": true, "is_optional": false, "is_resolved": false, @@ -131,16 +131,17 @@ { "purl": "pkg:gem/launchy", "extracted_requirement": "~> 2.0.2", - "scope": "dependencies", + "scope": "dependency", "is_runtime": true, "is_optional": false, "is_resolved": false, "resolved_package": {} } ], - "purl": "pkg:gem/github@GitHub::VERSION", "repository_homepage_url": "https://rubygems.org/gems/github/versions/GitHub::VERSION", "repository_download_url": "https://rubygems.org/downloads/github-GitHub::VERSION.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/github/versions/GitHub::VERSION.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/github/versions/GitHub::VERSION.json", + "datasource_id": "gemspec", + "purl": "pkg:gem/github@GitHub::VERSION" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/rubygems/gemspec/installed-combo/logstash-filter-drop-3.0.5.gemspec b/tests/packagedcode/data/rubygems/gemspec/installed-combo/logstash-filter-drop-3.0.5.gemspec new file mode 100644 index 00000000000..3b8d8050d4f --- /dev/null +++ b/tests/packagedcode/data/rubygems/gemspec/installed-combo/logstash-filter-drop-3.0.5.gemspec @@ -0,0 +1,33 @@ +# -*- encoding: utf-8 -*- +# stub: logstash-filter-drop 3.0.5 ruby lib + +Gem::Specification.new do |s| + s.name = "logstash-filter-drop".freeze + s.version = "3.0.5" + + s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= + s.metadata = { "logstash_group" => "filter", "logstash_plugin" => "true" } if s.respond_to? :metadata= + s.require_paths = ["lib".freeze] + s.authors = ["Elastic".freeze] + s.date = "2017-11-07" + s.description = "This gem is a Logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/logstash-plugin install gemname. This gem is not a stand-alone program".freeze + s.email = "info@elastic.co".freeze + s.homepage = "http://www.elastic.co/guide/en/logstash/current/index.html".freeze + s.licenses = ["Apache License (2.0)".freeze] + s.rubygems_version = "3.1.6".freeze + s.summary = "Drops all events".freeze + + s.installed_by_version = "3.1.6" if s.respond_to? :installed_by_version + + if s.respond_to? :specification_version then + s.specification_version = 4 + end + + if s.respond_to? :add_runtime_dependency then + s.add_runtime_dependency(%q.freeze, [">= 1.60", "<= 2.99"]) + s.add_development_dependency(%q.freeze, [">= 0"]) + else + s.add_dependency(%q.freeze, [">= 1.60", "<= 2.99"]) + s.add_dependency(%q.freeze, [">= 0"]) + end +end diff --git a/tests/packagedcode/data/rubygems/gemspec/installed-combo/logstash-filter-drop.gemspec b/tests/packagedcode/data/rubygems/gemspec/installed-combo/logstash-filter-drop.gemspec new file mode 100644 index 00000000000..f9b99d79617 --- /dev/null +++ b/tests/packagedcode/data/rubygems/gemspec/installed-combo/logstash-filter-drop.gemspec @@ -0,0 +1,27 @@ +Gem::Specification.new do |s| + + s.name = 'logstash-filter-drop' + s.version = '3.0.5' + s.licenses = ['Apache License (2.0)'] + s.summary = "Drops all events" + s.description = "This gem is a Logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/logstash-plugin install gemname. This gem is not a stand-alone program" + s.authors = ["Elastic"] + s.email = 'info@elastic.co' + s.homepage = "http://www.elastic.co/guide/en/logstash/current/index.html" + s.require_paths = ["lib"] + + # Files + s.files = Dir["lib/**/*","spec/**/*","*.gemspec","*.md","CONTRIBUTORS","Gemfile","LICENSE","NOTICE.TXT", "vendor/jar-dependencies/**/*.jar", "vendor/jar-dependencies/**/*.rb", "VERSION", "docs/**/*"] + + # Tests + s.test_files = s.files.grep(%r{^(test|spec|features)/}) + + # Special flag to let us know this is actually a logstash plugin + s.metadata = { "logstash_plugin" => "true", "logstash_group" => "filter" } + + # Gem dependencies + s.add_runtime_dependency "logstash-core-plugin-api", ">= 1.60", "<= 2.99" + + s.add_development_dependency 'logstash-devutils' +end + diff --git a/tests/packagedcode/data/rubygems/gemspec/mecab-ruby.gemspec.expected.json b/tests/packagedcode/data/rubygems/gemspec/mecab-ruby.gemspec.expected.json index 03f199e4177..7170e859dce 100644 --- a/tests/packagedcode/data/rubygems/gemspec/mecab-ruby.gemspec.expected.json +++ b/tests/packagedcode/data/rubygems/gemspec/mecab-ruby.gemspec.expected.json @@ -7,7 +7,7 @@ "qualifiers": {}, "subpath": null, "primary_language": "Ruby", - "description": "Ruby bindings for MeCab, a morphological analyzer.", + "description": "Ruby bindings for MeCab.\nRuby bindings for MeCab, a morphological analyzer.", "release_date": null, "parties": [ { @@ -19,7 +19,7 @@ }, { "type": "person", - "role": "email", + "role": "author", "name": null, "email": "taku@chasen.org", "url": null @@ -27,7 +27,7 @@ ], "keywords": [], "homepage_url": "http://mecab.sourceforge.net/", - "download_url": null, + "download_url": "https://rubygems.org/downloads/mecab-ruby-0.99.gem", "size": null, "sha1": null, "md5": null, @@ -40,13 +40,14 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:gem/mecab-ruby@0.99", "repository_homepage_url": "https://rubygems.org/gems/mecab-ruby/versions/0.99", "repository_download_url": "https://rubygems.org/downloads/mecab-ruby-0.99.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/mecab-ruby/versions/0.99.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/mecab-ruby/versions/0.99.json", + "datasource_id": "gemspec", + "purl": "pkg:gem/mecab-ruby@0.99" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/rubygems/gemspec/oj.gemspec.expected.json b/tests/packagedcode/data/rubygems/gemspec/oj.gemspec.expected.json index d553e5185e2..c979de0ad41 100644 --- a/tests/packagedcode/data/rubygems/gemspec/oj.gemspec.expected.json +++ b/tests/packagedcode/data/rubygems/gemspec/oj.gemspec.expected.json @@ -7,7 +7,7 @@ "qualifiers": {}, "subpath": null, "primary_language": "Ruby", - "description": "The fastest JSON parser and object serializer.", + "description": "A fast JSON parser and serializer.\nThe fastest JSON parser and object serializer.", "release_date": null, "parties": [ { @@ -19,7 +19,7 @@ }, { "type": "person", - "role": "email", + "role": "author", "name": null, "email": "peter@ohler.com", "url": null @@ -27,7 +27,7 @@ ], "keywords": [], "homepage_url": "http://www.ohler.com/oj", - "download_url": null, + "download_url": "https://rubygems.org/downloads/oj-::Oj::VERSION.gem", "size": null, "sha1": null, "md5": null, @@ -40,50 +40,51 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { "purl": "pkg:gem/rake-compiler", "extracted_requirement": ">= 0.9, < 2.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, + "scope": "development", + "is_runtime": false, + "is_optional": true, "is_resolved": false, "resolved_package": {} }, { "purl": "pkg:gem/minitest", "extracted_requirement": "~> 5", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, + "scope": "development", + "is_runtime": false, + "is_optional": true, "is_resolved": false, "resolved_package": {} }, { "purl": "pkg:gem/test-unit", "extracted_requirement": "~> 3.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, + "scope": "development", + "is_runtime": false, + "is_optional": true, "is_resolved": false, "resolved_package": {} }, { "purl": "pkg:gem/wwtd", "extracted_requirement": "~> 0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, + "scope": "development", + "is_runtime": false, + "is_optional": true, "is_resolved": false, "resolved_package": {} } ], - "purl": "pkg:gem/oj@::Oj::VERSION", "repository_homepage_url": "https://rubygems.org/gems/oj/versions/::Oj::VERSION", "repository_download_url": "https://rubygems.org/downloads/oj-::Oj::VERSION.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/oj/versions/::Oj::VERSION.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/oj/versions/::Oj::VERSION.json", + "datasource_id": "gemspec", + "purl": "pkg:gem/oj@::Oj::VERSION" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/rubygems/gemspec/red-datasets-numo-narray.gemspec b/tests/packagedcode/data/rubygems/gemspec/red-datasets-numo-narray.gemspec new file mode 100644 index 00000000000..ab2f6e395b0 --- /dev/null +++ b/tests/packagedcode/data/rubygems/gemspec/red-datasets-numo-narray.gemspec @@ -0,0 +1,44 @@ +# -*- ruby -*- + +clean_white_space = lambda do |entry| + entry.gsub(/(\A\n+|\n+\z)/, '') + "\n" +end + +$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), "lib")) +require "datasets-numo-narray/version" + +Gem::Specification.new do |spec| + spec.name = "red-datasets-numo-narray" + spec.version = DatasetsNumoNArray::VERSION + spec.homepage = "https://github.com/red-data-tools/red-datasets-numo-narray" + spec.authors = ["Kouhei Sutou"] + spec.email = ["kou@clear-code.com"] + + readme = File.read("README.md") + readme.force_encoding("UTF-8") + entries = readme.split(/^\#\#\s(.*)$/) + clean_white_space.call(entries[entries.index("Description") + 1]) + description = clean_white_space.call(entries[entries.index("Description") + 1]) + spec.summary, spec.description, = description.split(/\n\n+/, 3) + spec.license = "MIT" + spec.files = [ + "README.md", + "LICENSE.txt", + "Rakefile", + "Gemfile", + "#{spec.name}.gemspec", + ] + spec.files += [".yardopts"] + spec.files += Dir.glob("lib/**/*.rb") + spec.files += Dir.glob("doc/text/*") + spec.test_files += Dir.glob("test/**/*") + + spec.add_runtime_dependency("numo-narray") + spec.add_runtime_dependency("red-datasets") + + spec.add_development_dependency("bundler") + spec.add_development_dependency("rake") + spec.add_development_dependency("test-unit") + spec.add_development_dependency("yard") + spec.add_development_dependency("kramdown") +end diff --git a/tests/packagedcode/data/rubygems/gemspec/rubocop.gemspec.expected.json b/tests/packagedcode/data/rubygems/gemspec/rubocop.gemspec.expected.json index 7c9a169c49d..f58933ceffb 100644 --- a/tests/packagedcode/data/rubygems/gemspec/rubocop.gemspec.expected.json +++ b/tests/packagedcode/data/rubygems/gemspec/rubocop.gemspec.expected.json @@ -33,7 +33,7 @@ }, { "type": "person", - "role": "email", + "role": "author", "name": null, "email": "rubocop@googlegroups.com", "url": null @@ -41,7 +41,7 @@ ], "keywords": [], "homepage_url": "https://github.com/rubocop-hq/rubocop", - "download_url": null, + "download_url": "https://rubygems.org/downloads/rubocop-RuboCop::Version::STRING.gem", "size": null, "sha1": null, "md5": null, @@ -54,32 +54,32 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { "purl": "pkg:gem/bundler", "extracted_requirement": ">= 1.3.0, < 3.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, + "scope": "development", + "is_runtime": false, + "is_optional": true, "is_resolved": false, "resolved_package": {} }, { "purl": "pkg:gem/rack", "extracted_requirement": ">= 2.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, + "scope": "development", + "is_runtime": false, + "is_optional": true, "is_resolved": false, "resolved_package": {} }, { "purl": "pkg:gem/jaro_winkler", "extracted_requirement": "~> 1.5.1", - "scope": "dependencies", + "scope": "runtime", "is_runtime": true, "is_optional": false, "is_resolved": false, @@ -88,7 +88,7 @@ { "purl": "pkg:gem/parallel", "extracted_requirement": "~> 1.10", - "scope": "dependencies", + "scope": "runtime", "is_runtime": true, "is_optional": false, "is_resolved": false, @@ -97,7 +97,7 @@ { "purl": "pkg:gem/parser", "extracted_requirement": ">= 2.5", - "scope": "dependencies", + "scope": "runtime", "is_runtime": true, "is_optional": false, "is_resolved": false, @@ -106,7 +106,7 @@ { "purl": "pkg:gem/powerpack", "extracted_requirement": "~> 0.1", - "scope": "dependencies", + "scope": "runtime", "is_runtime": true, "is_optional": false, "is_resolved": false, @@ -115,7 +115,7 @@ { "purl": "pkg:gem/rainbow", "extracted_requirement": ">= 2.2.2, < 4.0", - "scope": "dependencies", + "scope": "runtime", "is_runtime": true, "is_optional": false, "is_resolved": false, @@ -124,7 +124,7 @@ { "purl": "pkg:gem/ruby-progressbar", "extracted_requirement": "~> 1.7", - "scope": "dependencies", + "scope": "runtime", "is_runtime": true, "is_optional": false, "is_resolved": false, @@ -133,16 +133,17 @@ { "purl": "pkg:gem/unicode-display_width", "extracted_requirement": "~> 1.4.0", - "scope": "dependencies", + "scope": "runtime", "is_runtime": true, "is_optional": false, "is_resolved": false, "resolved_package": {} } ], - "purl": "pkg:gem/rubocop@RuboCop::Version::STRING", "repository_homepage_url": "https://rubygems.org/gems/rubocop/versions/RuboCop::Version::STRING", "repository_download_url": "https://rubygems.org/downloads/rubocop-RuboCop::Version::STRING.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/rubocop/versions/RuboCop::Version::STRING.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/rubocop/versions/RuboCop::Version::STRING.json", + "datasource_id": "gemspec", + "purl": "pkg:gem/rubocop@RuboCop::Version::STRING" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/rubygems/gemspec/with_variables.gemspec.expected.json b/tests/packagedcode/data/rubygems/gemspec/with_variables.gemspec.expected.json index 58f78628d94..58feb69fd53 100644 --- a/tests/packagedcode/data/rubygems/gemspec/with_variables.gemspec.expected.json +++ b/tests/packagedcode/data/rubygems/gemspec/with_variables.gemspec.expected.json @@ -7,7 +7,7 @@ "qualifiers": {}, "subpath": null, "primary_language": "Ruby", - "description": "See the project home page for more information", + "description": "ProviderDSL::GemDescription::SUMMARY\nSee the project home page for more information", "release_date": null, "parties": [ { @@ -19,7 +19,7 @@ }, { "type": "person", - "role": "email", + "role": "author", "name": null, "email": "ProviderDSL::GemDescription::EMAIL", "url": null @@ -27,7 +27,7 @@ ], "keywords": [], "homepage_url": "ProviderDSL::GemDescription::PAGE", - "download_url": null, + "download_url": "https://rubygems.org/downloads/ProviderDSL::GemDescription::NAME-ProviderDSL::GemDescription::VERSION.gem", "size": null, "sha1": null, "md5": null, @@ -40,50 +40,50 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { "purl": "pkg:gem/rake", "extracted_requirement": "~> 11.3", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, + "scope": "development", + "is_runtime": false, + "is_optional": true, "is_resolved": false, "resolved_package": {} }, { "purl": "pkg:gem/rubocop", "extracted_requirement": "~> 0.44.1", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, + "scope": "development", + "is_runtime": false, + "is_optional": true, "is_resolved": false, "resolved_package": {} }, { "purl": "pkg:gem/rspec", "extracted_requirement": "~> 3.5", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, + "scope": "development", + "is_runtime": false, + "is_optional": true, "is_resolved": false, "resolved_package": {} }, { "purl": "pkg:gem/rspec-mocks", "extracted_requirement": "~> 3.5", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, + "scope": "development", + "is_runtime": false, + "is_optional": true, "is_resolved": false, "resolved_package": {} }, { "purl": "pkg:gem/ipaddress", "extracted_requirement": "~> 0.8.3", - "scope": "dependencies", + "scope": "dependency", "is_runtime": true, "is_optional": false, "is_resolved": false, @@ -92,7 +92,7 @@ { "purl": "pkg:gem/gandi", "extracted_requirement": "~> 3.3, >= 3.3.27", - "scope": "dependencies", + "scope": "dependency", "is_runtime": true, "is_optional": false, "is_resolved": false, @@ -101,7 +101,7 @@ { "purl": "pkg:gem/gcloud", "extracted_requirement": "~> 0.21.0", - "scope": "dependencies", + "scope": "dependency", "is_runtime": true, "is_optional": false, "is_resolved": false, @@ -110,7 +110,7 @@ { "purl": "pkg:gem/google-cloud-error_reporting", "extracted_requirement": "~> 0.21.0", - "scope": "dependencies", + "scope": "dependency", "is_runtime": true, "is_optional": false, "is_resolved": false, @@ -119,16 +119,17 @@ { "purl": "pkg:gem/map", "extracted_requirement": "~> 6.6", - "scope": "dependencies", + "scope": "dependency", "is_runtime": true, "is_optional": false, "is_resolved": false, "resolved_package": {} } ], - "purl": "pkg:gem/ProviderDSL::GemDescription::NAME@ProviderDSL::GemDescription::VERSION", "repository_homepage_url": "https://rubygems.org/gems/ProviderDSL::GemDescription::NAME/versions/ProviderDSL::GemDescription::VERSION", "repository_download_url": "https://rubygems.org/downloads/ProviderDSL::GemDescription::NAME-ProviderDSL::GemDescription::VERSION.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/ProviderDSL::GemDescription::NAME/versions/ProviderDSL::GemDescription::VERSION.json" + "api_data_url": "https://rubygems.org/api/v2/rubygems/ProviderDSL::GemDescription::NAME/versions/ProviderDSL::GemDescription::VERSION.json", + "datasource_id": "gemspec", + "purl": "pkg:gem/ProviderDSL::GemDescription::NAME@ProviderDSL::GemDescription::VERSION" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/rubygems/installed/specifications/actiontext-6.1.4.gemspec b/tests/packagedcode/data/rubygems/installed/specifications/actiontext-6.1.4.gemspec new file mode 100644 index 00000000000..5f0f845370c --- /dev/null +++ b/tests/packagedcode/data/rubygems/installed/specifications/actiontext-6.1.4.gemspec @@ -0,0 +1,46 @@ +# -*- encoding: utf-8 -*- +# stub: actiontext 6.1.4 ruby lib + +Gem::Specification.new do |s| + s.name = "actiontext".freeze + s.version = "6.1.4" + + s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= + s.metadata = { "bug_tracker_uri" => "https://github.com/rails/rails/issues", "changelog_uri" => "https://github.com/rails/rails/blob/v6.1.4/actiontext/CHANGELOG.md", "documentation_uri" => "https://api.rubyonrails.org/v6.1.4/", "mailing_list_uri" => "https://discuss.rubyonrails.org/c/rubyonrails-talk", "source_code_uri" => "https://github.com/rails/rails/tree/v6.1.4/actiontext" } if s.respond_to? :metadata= + s.require_paths = ["lib".freeze] + s.authors = ["Javan Makhmali".freeze, "Sam Stephenson".freeze, "David Heinemeier Hansson".freeze] + s.date = "2021-06-24" + s.description = "Edit and display rich text in Rails applications.".freeze + s.email = ["javan@javan.us".freeze, "sstephenson@gmail.com".freeze, "david@loudthinking.com".freeze] + s.homepage = "https://rubyonrails.org".freeze + s.licenses = ["MIT".freeze] + s.required_ruby_version = Gem::Requirement.new(">= 2.5.0".freeze) + s.rubygems_version = "3.0.3".freeze + s.summary = "Rich text framework.".freeze + + s.installed_by_version = "3.0.3" if s.respond_to? :installed_by_version + + if s.respond_to? :specification_version then + s.specification_version = 4 + + if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then + s.add_runtime_dependency(%q.freeze, ["= 6.1.4"]) + s.add_runtime_dependency(%q.freeze, ["= 6.1.4"]) + s.add_runtime_dependency(%q.freeze, ["= 6.1.4"]) + s.add_runtime_dependency(%q.freeze, ["= 6.1.4"]) + s.add_runtime_dependency(%q.freeze, [">= 1.8.5"]) + else + s.add_dependency(%q.freeze, ["= 6.1.4"]) + s.add_dependency(%q.freeze, ["= 6.1.4"]) + s.add_dependency(%q.freeze, ["= 6.1.4"]) + s.add_dependency(%q.freeze, ["= 6.1.4"]) + s.add_dependency(%q.freeze, [">= 1.8.5"]) + end + else + s.add_dependency(%q.freeze, ["= 6.1.4"]) + s.add_dependency(%q.freeze, ["= 6.1.4"]) + s.add_dependency(%q.freeze, ["= 6.1.4"]) + s.add_dependency(%q.freeze, ["= 6.1.4"]) + s.add_dependency(%q.freeze, [">= 1.8.5"]) + end +end diff --git a/tests/packagedcode/data/rubygems/installed/specifications/clamp-1.0.1.gemspec b/tests/packagedcode/data/rubygems/installed/specifications/clamp-1.0.1.gemspec new file mode 100644 index 00000000000..1456fc1b618 --- /dev/null +++ b/tests/packagedcode/data/rubygems/installed/specifications/clamp-1.0.1.gemspec @@ -0,0 +1,20 @@ +# -*- encoding: utf-8 -*- +# stub: clamp 1.0.1 ruby lib + +Gem::Specification.new do |s| + s.name = "clamp".freeze + s.version = "1.0.1" + + s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= + s.require_paths = ["lib".freeze] + s.authors = ["Mike Williams".freeze] + s.date = "2016-10-01" + s.description = "Clamp provides an object-model for command-line utilities.\nIt handles parsing of command-line options, and generation of usage help.\n".freeze + s.email = "mdub@dogbiscuit.org".freeze + s.homepage = "http://github.com/mdub/clamp".freeze + s.licenses = ["MIT".freeze] + s.rubygems_version = "3.1.6".freeze + s.summary = "a minimal framework for command-line utilities".freeze + + s.installed_by_version = "3.1.6" if s.respond_to? :installed_by_version +end diff --git a/tests/packagedcode/data/rubygems/installed/specifications/racc-1.5.2.gemspec b/tests/packagedcode/data/rubygems/installed/specifications/racc-1.5.2.gemspec new file mode 100644 index 00000000000..d87425ccd1f --- /dev/null +++ b/tests/packagedcode/data/rubygems/installed/specifications/racc-1.5.2.gemspec @@ -0,0 +1,26 @@ +# -*- encoding: utf-8 -*- +# stub: racc 1.5.2 ruby lib +# stub: ext/racc/cparse/extconf.rb + +Gem::Specification.new do |s| + s.name = "racc".freeze + s.version = "1.5.2" + + s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= + s.require_paths = ["lib".freeze] + s.authors = ["Minero Aoki".freeze, "Aaron Patterson".freeze] + s.date = "2020-12-26" + s.description = "Racc is a LALR(1) parser generator.\n It is written in Ruby itself, and generates Ruby program.\n\n NOTE: Ruby 1.8.x comes with Racc runtime module. You\n can run your parsers generated by racc 1.4.x out of the\n box.\n".freeze + s.email = [nil, "aaron@tenderlovemaking.com".freeze] + s.executables = ["racc".freeze] + s.extensions = ["ext/racc/cparse/extconf.rb".freeze] + s.extra_rdoc_files = ["README.ja.rdoc".freeze, "README.rdoc".freeze, "rdoc/en/NEWS.en.rdoc".freeze, "rdoc/en/grammar.en.rdoc".freeze, "rdoc/ja/NEWS.ja.rdoc".freeze, "rdoc/ja/debug.ja.rdoc".freeze, "rdoc/ja/grammar.ja.rdoc".freeze, "rdoc/ja/parser.ja.rdoc".freeze] + s.files = ["README.ja.rdoc".freeze, "README.rdoc".freeze, "bin/racc".freeze, "ext/racc/cparse/extconf.rb".freeze, "rdoc/en/NEWS.en.rdoc".freeze, "rdoc/en/grammar.en.rdoc".freeze, "rdoc/ja/NEWS.ja.rdoc".freeze, "rdoc/ja/debug.ja.rdoc".freeze, "rdoc/ja/grammar.ja.rdoc".freeze, "rdoc/ja/parser.ja.rdoc".freeze] + s.homepage = "http://i.loveruby.net/en/projects/racc/".freeze + s.licenses = ["Ruby".freeze, "BSD-2-Clause".freeze] + s.rdoc_options = ["--main".freeze, "README.rdoc".freeze] + s.rubygems_version = "3.0.3".freeze + s.summary = "Racc is a LALR(1) parser generator".freeze + + s.installed_by_version = "3.0.3" if s.respond_to? :installed_by_version +end diff --git a/tests/packagedcode/data/rubygems/installed/specifications/rexml-3.2.5.gemspec b/tests/packagedcode/data/rubygems/installed/specifications/rexml-3.2.5.gemspec new file mode 100644 index 00000000000..b664b0d1f4d --- /dev/null +++ b/tests/packagedcode/data/rubygems/installed/specifications/rexml-3.2.5.gemspec @@ -0,0 +1,38 @@ +# -*- encoding: utf-8 -*- +# stub: rexml 3.2.5 ruby lib + +Gem::Specification.new do |s| + s.name = "rexml".freeze + s.version = "3.2.5" + + s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= + s.require_paths = ["lib".freeze] + s.authors = ["Kouhei Sutou".freeze] + s.bindir = "exe".freeze + s.date = "2021-04-05" + s.description = "An XML toolkit for Ruby".freeze + s.email = ["kou@cozmixng.org".freeze] + s.extra_rdoc_files = ["LICENSE.txt".freeze, "NEWS.md".freeze, "README.md".freeze, "doc/rexml/context.rdoc".freeze, "doc/rexml/tasks/rdoc/child.rdoc".freeze, "doc/rexml/tasks/rdoc/document.rdoc".freeze, "doc/rexml/tasks/rdoc/element.rdoc".freeze, "doc/rexml/tasks/rdoc/node.rdoc".freeze, "doc/rexml/tasks/rdoc/parent.rdoc".freeze, "doc/rexml/tasks/tocs/child_toc.rdoc".freeze, "doc/rexml/tasks/tocs/document_toc.rdoc".freeze, "doc/rexml/tasks/tocs/element_toc.rdoc".freeze, "doc/rexml/tasks/tocs/master_toc.rdoc".freeze, "doc/rexml/tasks/tocs/node_toc.rdoc".freeze, "doc/rexml/tasks/tocs/parent_toc.rdoc".freeze] + s.files = ["LICENSE.txt".freeze, "NEWS.md".freeze, "README.md".freeze, "doc/rexml/context.rdoc".freeze, "doc/rexml/tasks/rdoc/child.rdoc".freeze, "doc/rexml/tasks/rdoc/document.rdoc".freeze, "doc/rexml/tasks/rdoc/element.rdoc".freeze, "doc/rexml/tasks/rdoc/node.rdoc".freeze, "doc/rexml/tasks/rdoc/parent.rdoc".freeze, "doc/rexml/tasks/tocs/child_toc.rdoc".freeze, "doc/rexml/tasks/tocs/document_toc.rdoc".freeze, "doc/rexml/tasks/tocs/element_toc.rdoc".freeze, "doc/rexml/tasks/tocs/master_toc.rdoc".freeze, "doc/rexml/tasks/tocs/node_toc.rdoc".freeze, "doc/rexml/tasks/tocs/parent_toc.rdoc".freeze] + s.homepage = "https://github.com/ruby/rexml".freeze + s.licenses = ["BSD-2-Clause".freeze] + s.rdoc_options = ["--main".freeze, "README.md".freeze] + s.rubygems_version = "3.1.6".freeze + s.summary = "An XML toolkit for Ruby".freeze + + s.installed_by_version = "3.1.6" if s.respond_to? :installed_by_version + + if s.respond_to? :specification_version then + s.specification_version = 4 + end + + if s.respond_to? :add_runtime_dependency then + s.add_development_dependency(%q.freeze, [">= 0"]) + s.add_development_dependency(%q.freeze, [">= 0"]) + s.add_development_dependency(%q.freeze, [">= 0"]) + else + s.add_dependency(%q.freeze, [">= 0"]) + s.add_dependency(%q.freeze, [">= 0"]) + s.add_dependency(%q.freeze, [">= 0"]) + end +end diff --git a/tests/packagedcode/data/rubygems/installed/specifications/sequel-5.53.0.gemspec b/tests/packagedcode/data/rubygems/installed/specifications/sequel-5.53.0.gemspec new file mode 100644 index 00000000000..566c39fbc71 --- /dev/null +++ b/tests/packagedcode/data/rubygems/installed/specifications/sequel-5.53.0.gemspec @@ -0,0 +1,48 @@ +# -*- encoding: utf-8 -*- +# stub: sequel 5.53.0 ruby lib + +Gem::Specification.new do |s| + s.name = "sequel".freeze + s.version = "5.53.0" + + s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= + s.metadata = { "bug_tracker_uri" => "https://github.com/jeremyevans/sequel/issues", "changelog_uri" => "http://sequel.jeremyevans.net/rdoc/files/CHANGELOG.html", "documentation_uri" => "http://sequel.jeremyevans.net/documentation.html", "mailing_list_uri" => "https://github.com/jeremyevans/sequel/discussions", "source_code_uri" => "https://github.com/jeremyevans/sequel" } if s.respond_to? :metadata= + s.require_paths = ["lib".freeze] + s.authors = ["Jeremy Evans".freeze] + s.date = "2022-02-01" + s.description = "The Database Toolkit for Ruby".freeze + s.email = "code@jeremyevans.net".freeze + s.executables = ["sequel".freeze] + s.extra_rdoc_files = ["README.rdoc".freeze, "CHANGELOG".freeze, "MIT-LICENSE".freeze, "doc/advanced_associations.rdoc".freeze, "doc/association_basics.rdoc".freeze, "doc/bin_sequel.rdoc".freeze, "doc/cheat_sheet.rdoc".freeze, "doc/code_order.rdoc".freeze, "doc/core_extensions.rdoc".freeze, "doc/dataset_basics.rdoc".freeze, "doc/dataset_filtering.rdoc".freeze, "doc/extensions.rdoc".freeze, "doc/fork_safety.rdoc".freeze, "doc/mass_assignment.rdoc".freeze, "doc/migration.rdoc".freeze, "doc/model_dataset_method_design.rdoc".freeze, "doc/model_hooks.rdoc".freeze, "doc/model_plugins.rdoc".freeze, "doc/mssql_stored_procedures.rdoc".freeze, "doc/object_model.rdoc".freeze, "doc/opening_databases.rdoc".freeze, "doc/postgresql.rdoc".freeze, "doc/prepared_statements.rdoc".freeze, "doc/querying.rdoc".freeze, "doc/reflection.rdoc".freeze, "doc/schema_modification.rdoc".freeze, "doc/security.rdoc".freeze, "doc/sharding.rdoc".freeze, "doc/sql.rdoc".freeze, "doc/testing.rdoc".freeze, "doc/thread_safety.rdoc".freeze, "doc/transactions.rdoc".freeze, "doc/validations.rdoc".freeze, "doc/virtual_rows.rdoc".freeze, "doc/release_notes/5.0.0.txt".freeze, "doc/release_notes/5.1.0.txt".freeze, "doc/release_notes/5.10.0.txt".freeze, "doc/release_notes/5.11.0.txt".freeze, "doc/release_notes/5.12.0.txt".freeze, "doc/release_notes/5.13.0.txt".freeze, "doc/release_notes/5.14.0.txt".freeze, "doc/release_notes/5.15.0.txt".freeze, "doc/release_notes/5.16.0.txt".freeze, "doc/release_notes/5.17.0.txt".freeze, "doc/release_notes/5.18.0.txt".freeze, "doc/release_notes/5.19.0.txt".freeze, "doc/release_notes/5.2.0.txt".freeze, "doc/release_notes/5.20.0.txt".freeze, "doc/release_notes/5.21.0.txt".freeze, "doc/release_notes/5.22.0.txt".freeze, "doc/release_notes/5.23.0.txt".freeze, "doc/release_notes/5.24.0.txt".freeze, "doc/release_notes/5.25.0.txt".freeze, "doc/release_notes/5.26.0.txt".freeze, "doc/release_notes/5.27.0.txt".freeze, "doc/release_notes/5.28.0.txt".freeze, "doc/release_notes/5.29.0.txt".freeze, "doc/release_notes/5.3.0.txt".freeze, "doc/release_notes/5.30.0.txt".freeze, "doc/release_notes/5.31.0.txt".freeze, "doc/release_notes/5.32.0.txt".freeze, "doc/release_notes/5.33.0.txt".freeze, "doc/release_notes/5.34.0.txt".freeze, "doc/release_notes/5.35.0.txt".freeze, "doc/release_notes/5.36.0.txt".freeze, "doc/release_notes/5.37.0.txt".freeze, "doc/release_notes/5.38.0.txt".freeze, "doc/release_notes/5.39.0.txt".freeze, "doc/release_notes/5.4.0.txt".freeze, "doc/release_notes/5.40.0.txt".freeze, "doc/release_notes/5.41.0.txt".freeze, "doc/release_notes/5.42.0.txt".freeze, "doc/release_notes/5.43.0.txt".freeze, "doc/release_notes/5.44.0.txt".freeze, "doc/release_notes/5.45.0.txt".freeze, "doc/release_notes/5.46.0.txt".freeze, "doc/release_notes/5.47.0.txt".freeze, "doc/release_notes/5.48.0.txt".freeze, "doc/release_notes/5.49.0.txt".freeze, "doc/release_notes/5.5.0.txt".freeze, "doc/release_notes/5.50.0.txt".freeze, "doc/release_notes/5.51.0.txt".freeze, "doc/release_notes/5.52.0.txt".freeze, "doc/release_notes/5.53.0.txt".freeze, "doc/release_notes/5.6.0.txt".freeze, "doc/release_notes/5.7.0.txt".freeze, "doc/release_notes/5.8.0.txt".freeze, "doc/release_notes/5.9.0.txt".freeze] + s.files = ["CHANGELOG".freeze, "MIT-LICENSE".freeze, "README.rdoc".freeze, "bin/sequel".freeze, "doc/advanced_associations.rdoc".freeze, "doc/association_basics.rdoc".freeze, "doc/bin_sequel.rdoc".freeze, "doc/cheat_sheet.rdoc".freeze, "doc/code_order.rdoc".freeze, "doc/core_extensions.rdoc".freeze, "doc/dataset_basics.rdoc".freeze, "doc/dataset_filtering.rdoc".freeze, "doc/extensions.rdoc".freeze, "doc/fork_safety.rdoc".freeze, "doc/mass_assignment.rdoc".freeze, "doc/migration.rdoc".freeze, "doc/model_dataset_method_design.rdoc".freeze, "doc/model_hooks.rdoc".freeze, "doc/model_plugins.rdoc".freeze, "doc/mssql_stored_procedures.rdoc".freeze, "doc/object_model.rdoc".freeze, "doc/opening_databases.rdoc".freeze, "doc/postgresql.rdoc".freeze, "doc/prepared_statements.rdoc".freeze, "doc/querying.rdoc".freeze, "doc/reflection.rdoc".freeze, "doc/release_notes/5.0.0.txt".freeze, "doc/release_notes/5.1.0.txt".freeze, "doc/release_notes/5.10.0.txt".freeze, "doc/release_notes/5.11.0.txt".freeze, "doc/release_notes/5.12.0.txt".freeze, "doc/release_notes/5.13.0.txt".freeze, "doc/release_notes/5.14.0.txt".freeze, "doc/release_notes/5.15.0.txt".freeze, "doc/release_notes/5.16.0.txt".freeze, "doc/release_notes/5.17.0.txt".freeze, "doc/release_notes/5.18.0.txt".freeze, "doc/release_notes/5.19.0.txt".freeze, "doc/release_notes/5.2.0.txt".freeze, "doc/release_notes/5.20.0.txt".freeze, "doc/release_notes/5.21.0.txt".freeze, "doc/release_notes/5.22.0.txt".freeze, "doc/release_notes/5.23.0.txt".freeze, "doc/release_notes/5.24.0.txt".freeze, "doc/release_notes/5.25.0.txt".freeze, "doc/release_notes/5.26.0.txt".freeze, "doc/release_notes/5.27.0.txt".freeze, "doc/release_notes/5.28.0.txt".freeze, "doc/release_notes/5.29.0.txt".freeze, "doc/release_notes/5.3.0.txt".freeze, "doc/release_notes/5.30.0.txt".freeze, "doc/release_notes/5.31.0.txt".freeze, "doc/release_notes/5.32.0.txt".freeze, "doc/release_notes/5.33.0.txt".freeze, "doc/release_notes/5.34.0.txt".freeze, "doc/release_notes/5.35.0.txt".freeze, "doc/release_notes/5.36.0.txt".freeze, "doc/release_notes/5.37.0.txt".freeze, "doc/release_notes/5.38.0.txt".freeze, "doc/release_notes/5.39.0.txt".freeze, "doc/release_notes/5.4.0.txt".freeze, "doc/release_notes/5.40.0.txt".freeze, "doc/release_notes/5.41.0.txt".freeze, "doc/release_notes/5.42.0.txt".freeze, "doc/release_notes/5.43.0.txt".freeze, "doc/release_notes/5.44.0.txt".freeze, "doc/release_notes/5.45.0.txt".freeze, "doc/release_notes/5.46.0.txt".freeze, "doc/release_notes/5.47.0.txt".freeze, "doc/release_notes/5.48.0.txt".freeze, "doc/release_notes/5.49.0.txt".freeze, "doc/release_notes/5.5.0.txt".freeze, "doc/release_notes/5.50.0.txt".freeze, "doc/release_notes/5.51.0.txt".freeze, "doc/release_notes/5.52.0.txt".freeze, "doc/release_notes/5.53.0.txt".freeze, "doc/release_notes/5.6.0.txt".freeze, "doc/release_notes/5.7.0.txt".freeze, "doc/release_notes/5.8.0.txt".freeze, "doc/release_notes/5.9.0.txt".freeze, "doc/schema_modification.rdoc".freeze, "doc/security.rdoc".freeze, "doc/sharding.rdoc".freeze, "doc/sql.rdoc".freeze, "doc/testing.rdoc".freeze, "doc/thread_safety.rdoc".freeze, "doc/transactions.rdoc".freeze, "doc/validations.rdoc".freeze, "doc/virtual_rows.rdoc".freeze] + s.homepage = "http://sequel.jeremyevans.net".freeze + s.licenses = ["MIT".freeze] + s.rdoc_options = ["--quiet".freeze, "--line-numbers".freeze, "--inline-source".freeze, "--title".freeze, "Sequel: The Database Toolkit for Ruby".freeze, "--main".freeze, "README.rdoc".freeze] + s.required_ruby_version = Gem::Requirement.new(">= 1.9.2".freeze) + s.rubygems_version = "3.1.6".freeze + s.summary = "The Database Toolkit for Ruby".freeze + + s.installed_by_version = "3.1.6" if s.respond_to? :installed_by_version + + if s.respond_to? :specification_version then + s.specification_version = 4 + end + + if s.respond_to? :add_runtime_dependency then + s.add_development_dependency(%q.freeze, [">= 5.7.0"]) + s.add_development_dependency(%q.freeze, [">= 0"]) + s.add_development_dependency(%q.freeze, [">= 0"]) + s.add_development_dependency(%q.freeze, [">= 0"]) + s.add_development_dependency(%q.freeze, [">= 0"]) + s.add_development_dependency(%q.freeze, [">= 0"]) + s.add_development_dependency(%q.freeze, [">= 0"]) + else + s.add_dependency(%q.freeze, [">= 5.7.0"]) + s.add_dependency(%q.freeze, [">= 0"]) + s.add_dependency(%q.freeze, [">= 0"]) + s.add_dependency(%q.freeze, [">= 0"]) + s.add_dependency(%q.freeze, [">= 0"]) + s.add_dependency(%q.freeze, [">= 0"]) + s.add_dependency(%q.freeze, [">= 0"]) + end +end diff --git a/tests/packagedcode/data/rubygems/package/m2r-2.1.0.gem.json b/tests/packagedcode/data/rubygems/package/m2r-2.1.0.gem.json index e67a03cd1b6..0266dba0f18 100644 --- a/tests/packagedcode/data/rubygems/package/m2r-2.1.0.gem.json +++ b/tests/packagedcode/data/rubygems/package/m2r-2.1.0.gem.json @@ -56,7 +56,6 @@ "MIT" ], "notice_text": null, - "root_path": null, "dependencies": [ { "purl": "pkg:gem/ffi-rzmq", @@ -163,7 +162,6 @@ "is_resolved": false } ], - "contains_source_code": null, "source_packages": [], "purl": "pkg:gem/m2r@2.1.0", "repository_homepage_url": "https://rubygems.org/gems/m2r/versions/2.1.0", diff --git a/tests/packagedcode/data/win_pe/Microsoft.Practices.EnterpriseLibrary.Caching.dll.package-expected.json b/tests/packagedcode/data/win_pe/Microsoft.Practices.EnterpriseLibrary.Caching.dll.package-expected.json index c4f57ccca8e..fa6fe5c208b 100644 --- a/tests/packagedcode/data/win_pe/Microsoft.Practices.EnterpriseLibrary.Caching.dll.package-expected.json +++ b/tests/packagedcode/data/win_pe/Microsoft.Practices.EnterpriseLibrary.Caching.dll.package-expected.json @@ -30,20 +30,21 @@ "code_view_url": null, "vcs_url": null, "copyright": null, - "license_expression": null, + "license_expression": "unknown AND unknown", "declared_license": { "LegalCopyright": null, "LegalTrademarks": "", "License": null }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:winexe/Microsoft%20Enterprise%20Library%20for%20.NET@2.0.0.0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "windows_executable", + "purl": "pkg:winexe/Microsoft%20Enterprise%20Library%20for%20.NET@2.0.0.0" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/win_pe/Moq.Silverlight.dll.package-expected.json b/tests/packagedcode/data/win_pe/Moq.Silverlight.dll.package-expected.json index b1fee3d2afb..a907403474b 100644 --- a/tests/packagedcode/data/win_pe/Moq.Silverlight.dll.package-expected.json +++ b/tests/packagedcode/data/win_pe/Moq.Silverlight.dll.package-expected.json @@ -30,20 +30,21 @@ "code_view_url": null, "vcs_url": null, "copyright": null, - "license_expression": null, + "license_expression": "unknown AND unknown", "declared_license": { "LegalCopyright": null, "LegalTrademarks": "", "License": null }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:winexe/Moq@4.2.1507.0118", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "windows_executable", + "purl": "pkg:winexe/Moq@4.2.1507.0118" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/win_pe/Windows.AI.winmd.package-expected.json b/tests/packagedcode/data/win_pe/Windows.AI.winmd.package-expected.json index 24dc9d8bc33..a3bcd40c65a 100644 --- a/tests/packagedcode/data/win_pe/Windows.AI.winmd.package-expected.json +++ b/tests/packagedcode/data/win_pe/Windows.AI.winmd.package-expected.json @@ -30,20 +30,21 @@ "code_view_url": null, "vcs_url": null, "copyright": "\u00a9 Microsoft Corporation. All rights reserved.", - "license_expression": null, + "license_expression": "unknown AND unknown", "declared_license": { "LegalCopyright": "\u00a9 Microsoft Corporation. All rights reserved.", "LegalTrademarks": "", "License": null }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:winexe/Windows%20SDK@10.0.10011.16384", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "windows_executable", + "purl": "pkg:winexe/Windows%20SDK@10.0.10011.16384" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/win_pe/_ctypes_test.pyd.package-expected.json b/tests/packagedcode/data/win_pe/_ctypes_test.pyd.package-expected.json index 372748ae60d..14f302509dd 100644 --- a/tests/packagedcode/data/win_pe/_ctypes_test.pyd.package-expected.json +++ b/tests/packagedcode/data/win_pe/_ctypes_test.pyd.package-expected.json @@ -22,20 +22,21 @@ "code_view_url": null, "vcs_url": null, "copyright": null, - "license_expression": null, + "license_expression": "unknown AND unknown", "declared_license": { "LegalCopyright": null, "LegalTrademarks": "", "License": null }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "windows_executable", + "purl": null } ] \ No newline at end of file diff --git a/tests/packagedcode/data/win_pe/chcp.com.package-expected.json b/tests/packagedcode/data/win_pe/chcp.com.package-expected.json index 32f31517819..550da546333 100644 --- a/tests/packagedcode/data/win_pe/chcp.com.package-expected.json +++ b/tests/packagedcode/data/win_pe/chcp.com.package-expected.json @@ -30,20 +30,21 @@ "code_view_url": null, "vcs_url": null, "copyright": "\u00a9 Microsoft Corporation. All rights reserved.", - "license_expression": null, + "license_expression": "unknown AND unknown", "declared_license": { "LegalCopyright": "\u00a9 Microsoft Corporation. All rights reserved.", "LegalTrademarks": "", "License": null }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:winexe/Microsoft%C2%AE%20Windows%C2%AE%20Operating%20System@10.0.17763.1", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "windows_executable", + "purl": "pkg:winexe/Microsoft%C2%AE%20Windows%C2%AE%20Operating%20System@10.0.17763.1" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/win_pe/clfs.sys.mui.package-expected.json b/tests/packagedcode/data/win_pe/clfs.sys.mui.package-expected.json index e2a653d19a2..11ae86ef2d2 100644 --- a/tests/packagedcode/data/win_pe/clfs.sys.mui.package-expected.json +++ b/tests/packagedcode/data/win_pe/clfs.sys.mui.package-expected.json @@ -30,20 +30,21 @@ "code_view_url": null, "vcs_url": null, "copyright": "\u00a9 Microsoft Corporation. All rights reserved.", - "license_expression": null, + "license_expression": "unknown AND unknown", "declared_license": { "LegalCopyright": "\u00a9 Microsoft Corporation. All rights reserved.", "LegalTrademarks": "", "License": null }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:winexe/Microsoft%C2%AE%20Windows%C2%AE%20Operating%20System@10.0.18362.1256", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "windows_executable", + "purl": "pkg:winexe/Microsoft%C2%AE%20Windows%C2%AE%20Operating%20System@10.0.18362.1256" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/win_pe/crypt32.dll.mun.package-expected.json b/tests/packagedcode/data/win_pe/crypt32.dll.mun.package-expected.json index 40aefa5e067..0bfa0a8ef8b 100644 --- a/tests/packagedcode/data/win_pe/crypt32.dll.mun.package-expected.json +++ b/tests/packagedcode/data/win_pe/crypt32.dll.mun.package-expected.json @@ -30,20 +30,21 @@ "code_view_url": null, "vcs_url": null, "copyright": "\u00a9 Microsoft Corporation. All rights reserved.", - "license_expression": null, + "license_expression": "unknown AND unknown", "declared_license": { "LegalCopyright": "\u00a9 Microsoft Corporation. All rights reserved.", "LegalTrademarks": "", "License": null }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:winexe/Microsoft%C2%AE%20Windows%C2%AE%20Operating%20System@10.0.18362.1256", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "windows_executable", + "purl": "pkg:winexe/Microsoft%C2%AE%20Windows%C2%AE%20Operating%20System@10.0.18362.1256" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/win_pe/euc-jp.so.package-expected.json b/tests/packagedcode/data/win_pe/euc-jp.so.package-expected.json index 372748ae60d..14f302509dd 100644 --- a/tests/packagedcode/data/win_pe/euc-jp.so.package-expected.json +++ b/tests/packagedcode/data/win_pe/euc-jp.so.package-expected.json @@ -22,20 +22,21 @@ "code_view_url": null, "vcs_url": null, "copyright": null, - "license_expression": null, + "license_expression": "unknown AND unknown", "declared_license": { "LegalCopyright": null, "LegalTrademarks": "", "License": null }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": null, "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "windows_executable", + "purl": null } ] \ No newline at end of file diff --git a/tests/packagedcode/data/win_pe/file.exe.package-expected.json b/tests/packagedcode/data/win_pe/file.exe.package-expected.json index aa55784da1c..7045c18415c 100644 --- a/tests/packagedcode/data/win_pe/file.exe.package-expected.json +++ b/tests/packagedcode/data/win_pe/file.exe.package-expected.json @@ -30,20 +30,21 @@ "code_view_url": null, "vcs_url": null, "copyright": "\u00a9 2009 Ian F. Darwin", - "license_expression": null, + "license_expression": "bsd-simplified-darwin AND unknown", "declared_license": { "LegalCopyright": "\u00a9 2009 Ian F. Darwin", "LegalTrademarks": "GnuWin32\u00ae, File\u00ae, file\u00ae", "License": "Copyright (c) Ian F. Darwin 1986, 1987, 1989, 1990, 1991, 1992, 1994, 1995. Software written by Ian F. Darwin and others; maintained 1994-2004 Christos Zoulas. This software is not subject to any export provision of the United States Department of Commerce, and may be exported to any country or planet. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice immediately at the beginning of the file, without modification, this list of conditions, and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:winexe/File@5.03.3414.16721", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "windows_executable", + "purl": "pkg:winexe/File@5.03.3414.16721" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/win_pe/libiconv2.dll.package-expected.json b/tests/packagedcode/data/win_pe/libiconv2.dll.package-expected.json index 845f4ac0f3d..55f5f0e3a06 100644 --- a/tests/packagedcode/data/win_pe/libiconv2.dll.package-expected.json +++ b/tests/packagedcode/data/win_pe/libiconv2.dll.package-expected.json @@ -30,20 +30,21 @@ "code_view_url": null, "vcs_url": null, "copyright": "\u00a9 2004 Free Software Foundation ", - "license_expression": null, + "license_expression": "(lgpl-2.1 AND lgpl-2.1-plus) AND unknown", "declared_license": { "LegalCopyright": "\u00a9 2004 Free Software Foundation ", "LegalTrademarks": "GNU\u00ae, LibIconv\u00ae, libiconv2\u00ae", "License": "This program is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License;see www.gnu.org/copyleft/lesser.html." }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:winexe/LibIconv@1.9.2.1519", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "windows_executable", + "purl": "pkg:winexe/LibIconv@1.9.2.1519" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/win_pe/libintl3.dll.package-expected.json b/tests/packagedcode/data/win_pe/libintl3.dll.package-expected.json index 11dd55a1b76..fed506ddde3 100644 --- a/tests/packagedcode/data/win_pe/libintl3.dll.package-expected.json +++ b/tests/packagedcode/data/win_pe/libintl3.dll.package-expected.json @@ -30,20 +30,21 @@ "code_view_url": null, "vcs_url": null, "copyright": "\u00a9 2005 Free Software Foundation ", - "license_expression": null, + "license_expression": "gpl-2.0-plus AND unknown", "declared_license": { "LegalCopyright": "\u00a9 2005 Free Software Foundation ", "LegalTrademarks": "GNU\u00ae, GetText\u00ae, libintl3\u00ae", "License": "This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License;see www.gnu.org/copyleft/gpl.html." }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:winexe/GetText@0.14.4.1952", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "windows_executable", + "purl": "pkg:winexe/GetText@0.14.4.1952" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/win_pe/stdole2.tlb.package-expected.json b/tests/packagedcode/data/win_pe/stdole2.tlb.package-expected.json index 2c9fbe60004..664d34314be 100644 --- a/tests/packagedcode/data/win_pe/stdole2.tlb.package-expected.json +++ b/tests/packagedcode/data/win_pe/stdole2.tlb.package-expected.json @@ -30,20 +30,21 @@ "code_view_url": null, "vcs_url": null, "copyright": "\u00a9 Microsoft Corporation. All rights reserved.", - "license_expression": null, + "license_expression": "unknown AND unknown", "declared_license": { "LegalCopyright": "\u00a9 Microsoft Corporation. All rights reserved.", "LegalTrademarks": "", "License": null }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:winexe/Microsoft%C2%AE%20Windows%C2%AE%20Operating%20System@10.0.18362.1256", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "windows_executable", + "purl": "pkg:winexe/Microsoft%C2%AE%20Windows%C2%AE%20Operating%20System@10.0.18362.1256" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/win_pe/tbs.sys.package-expected.json b/tests/packagedcode/data/win_pe/tbs.sys.package-expected.json index cfa541f1724..40fd4edd027 100644 --- a/tests/packagedcode/data/win_pe/tbs.sys.package-expected.json +++ b/tests/packagedcode/data/win_pe/tbs.sys.package-expected.json @@ -30,20 +30,21 @@ "code_view_url": null, "vcs_url": null, "copyright": "\u00a9 Microsoft Corporation. All rights reserved.", - "license_expression": null, + "license_expression": "unknown AND unknown", "declared_license": { "LegalCopyright": "\u00a9 Microsoft Corporation. All rights reserved.", "LegalTrademarks": "", "License": null }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:winexe/Microsoft%C2%AE%20Windows%C2%AE%20Operating%20System@10.0.17763.1697", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "windows_executable", + "purl": "pkg:winexe/Microsoft%C2%AE%20Windows%C2%AE%20Operating%20System@10.0.17763.1697" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/win_pe/tre4.dll.package-expected.json b/tests/packagedcode/data/win_pe/tre4.dll.package-expected.json index 4f84117df28..a79d04628af 100644 --- a/tests/packagedcode/data/win_pe/tre4.dll.package-expected.json +++ b/tests/packagedcode/data/win_pe/tre4.dll.package-expected.json @@ -30,20 +30,21 @@ "code_view_url": null, "vcs_url": null, "copyright": "\u00a9 2008 Ville Laurikari ", - "license_expression": null, + "license_expression": "(gpl-1.0-plus AND gpl-1.0-plus) AND unknown", "declared_license": { "LegalCopyright": "\u00a9 2008 Ville Laurikari ", "LegalTrademarks": "GnuWin32\u00ae, Tre\u00ae, tre4\u00ae", "License": "This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License; see www.gnu.org/copyleft/gpl.html." }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:winexe/Tre@0.7.5.3276", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "windows_executable", + "purl": "pkg:winexe/Tre@0.7.5.3276" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/win_pe/zlib1.dll.package-expected.json b/tests/packagedcode/data/win_pe/zlib1.dll.package-expected.json index fdb1fd0ead2..a880b2bafed 100644 --- a/tests/packagedcode/data/win_pe/zlib1.dll.package-expected.json +++ b/tests/packagedcode/data/win_pe/zlib1.dll.package-expected.json @@ -30,20 +30,21 @@ "code_view_url": null, "vcs_url": null, "copyright": "\u00a9 2006 Jean-loup Gailly , Mark Adler ", - "license_expression": null, + "license_expression": "zlib AND unknown", "declared_license": { "LegalCopyright": "\u00a9 2006 Jean-loup Gailly , Mark Adler ", "LegalTrademarks": "GnuWin32\u00ae, Zlib\u00ae, zlib1\u00ae", "License": "(C) 1995-2002 Jean-loup Gailly and Mark Adler This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. Jean-loup Gailly Mark Adler jloup@gzip.org madler@alumni.caltech.edu" }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:winexe/Zlib@1.2.3.2532", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "windows_executable", + "purl": "pkg:winexe/Zlib@1.2.3.2532" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/win_reg/SOFTWARE-dotnet-installation.expected b/tests/packagedcode/data/win_reg/SOFTWARE-dotnet-installation.expected index dad19e54fe4..2f2cec4b621 100644 --- a/tests/packagedcode/data/win_reg/SOFTWARE-dotnet-installation.expected +++ b/tests/packagedcode/data/win_reg/SOFTWARE-dotnet-installation.expected @@ -2,7 +2,7 @@ { "type": "windows-program", "namespace": null, - "name": "Microsoft .NET Framework", + "name": "microsoft-dot-net-framework", "version": "4.8.04084", "qualifiers": {}, "subpath": null, @@ -25,16 +25,24 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], - "installed_files": [], - "extra_data": { - "install_location": "C:\\Windows\\Microsoft.NET\\Framework64\\v4.0.30319\\" - }, + "file_references": [ + { + "path": "C:\\Windows\\Microsoft.NET\\Framework64\\v4.0.30319\\", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ], + "extra_data": {}, "dependencies": [], - "purl": "pkg:windows-program/Microsoft%20.NET%20Framework@4.8.04084", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "win_reg_installed_programs_docker_file_software", + "purl": "pkg:windows-program/microsoft-dot-net-framework@4.8.04084" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/win_reg/SOFTWARE-installed-programs.expected b/tests/packagedcode/data/win_reg/SOFTWARE-installed-programs.expected index 1079510cd9f..c94da993282 100644 --- a/tests/packagedcode/data/win_reg/SOFTWARE-installed-programs.expected +++ b/tests/packagedcode/data/win_reg/SOFTWARE-installed-programs.expected @@ -1,4 +1,436 @@ [ + { + "type": "windows-program", + "namespace": null, + "name": null, + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": null, + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "win_reg_installed_programs_docker_file_software", + "purl": null + }, + { + "type": "windows-program", + "namespace": null, + "name": null, + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": null, + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "win_reg_installed_programs_docker_file_software", + "purl": null + }, + { + "type": "windows-program", + "namespace": null, + "name": null, + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": null, + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "win_reg_installed_programs_docker_file_software", + "purl": null + }, + { + "type": "windows-program", + "namespace": null, + "name": null, + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": null, + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "win_reg_installed_programs_docker_file_software", + "purl": null + }, + { + "type": "windows-program", + "namespace": null, + "name": null, + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": null, + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "win_reg_installed_programs_docker_file_software", + "purl": null + }, + { + "type": "windows-program", + "namespace": null, + "name": null, + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": null, + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "win_reg_installed_programs_docker_file_software", + "purl": null + }, + { + "type": "windows-program", + "namespace": null, + "name": null, + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": null, + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "win_reg_installed_programs_docker_file_software", + "purl": null + }, + { + "type": "windows-program", + "namespace": null, + "name": null, + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": null, + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "win_reg_installed_programs_docker_file_software", + "purl": null + }, + { + "type": "windows-program", + "namespace": null, + "name": null, + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": null, + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "win_reg_installed_programs_docker_file_software", + "purl": null + }, + { + "type": "windows-program", + "namespace": null, + "name": null, + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": null, + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "win_reg_installed_programs_docker_file_software", + "purl": null + }, + { + "type": "windows-program", + "namespace": null, + "name": null, + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": null, + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "win_reg_installed_programs_docker_file_software", + "purl": null + }, + { + "type": "windows-program", + "namespace": null, + "name": null, + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": null, + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "win_reg_installed_programs_docker_file_software", + "purl": null + }, { "type": "windows-program", "namespace": null, @@ -33,19 +465,25 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], - "installed_files": [], - "extra_data": { - "known_program_files": [ - "MsiExec.exe /I{351016A7-AED4-4824-8D2E-2F9ED497CF77}" - ] - }, + "file_references": [ + { + "path": "MsiExec.exe /I{351016A7-AED4-4824-8D2E-2F9ED497CF77}", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ], + "extra_data": {}, "dependencies": [], - "purl": "pkg:windows-program/Python%203.9.5%20Tcl/Tk%20Support%20%2864-bit%29@3.9.5150.0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "win_reg_installed_programs_docker_file_software", + "purl": "pkg:windows-program/Python%203.9.5%20Tcl/Tk%20Support%20%2864-bit%29@3.9.5150.0" }, { "type": "windows-program", @@ -81,19 +519,25 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], - "installed_files": [], - "extra_data": { - "known_program_files": [ - "MsiExec.exe /I{420E50F6-A8E8-4098-A321-7DF6B3C3BA82}" - ] - }, + "file_references": [ + { + "path": "MsiExec.exe /I{420E50F6-A8E8-4098-A321-7DF6B3C3BA82}", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ], + "extra_data": {}, "dependencies": [], - "purl": "pkg:windows-program/Python%203.9.5%20Utility%20Scripts%20%2864-bit%29@3.9.5150.0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "win_reg_installed_programs_docker_file_software", + "purl": "pkg:windows-program/Python%203.9.5%20Utility%20Scripts%20%2864-bit%29@3.9.5150.0" }, { "type": "windows-program", @@ -129,19 +573,25 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], - "installed_files": [], - "extra_data": { - "known_program_files": [ - "MsiExec.exe /I{6504EEE5-2172-4D34-A76D-0372356396B4}" - ] - }, + "file_references": [ + { + "path": "MsiExec.exe /I{6504EEE5-2172-4D34-A76D-0372356396B4}", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ], + "extra_data": {}, "dependencies": [], - "purl": "pkg:windows-program/Python%203.9.5%20Add%20to%20Path%20%2864-bit%29@3.9.5150.0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "win_reg_installed_programs_docker_file_software", + "purl": "pkg:windows-program/Python%203.9.5%20Add%20to%20Path%20%2864-bit%29@3.9.5150.0" }, { "type": "windows-program", @@ -177,19 +627,25 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], - "installed_files": [], - "extra_data": { - "known_program_files": [ - "MsiExec.exe /I{843C07B6-040E-4E83-B244-5383247D70AB}" - ] - }, + "file_references": [ + { + "path": "MsiExec.exe /I{843C07B6-040E-4E83-B244-5383247D70AB}", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ], + "extra_data": {}, "dependencies": [], - "purl": "pkg:windows-program/Python%203.9.5%20Executables%20%2864-bit%29@3.9.5150.0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "win_reg_installed_programs_docker_file_software", + "purl": "pkg:windows-program/Python%203.9.5%20Executables%20%2864-bit%29@3.9.5150.0" }, { "type": "windows-program", @@ -225,19 +681,25 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], - "installed_files": [], - "extra_data": { - "known_program_files": [ - "MsiExec.exe /I{AEE58901-97A1-422A-B964-4FD9BF3327B8}" - ] - }, + "file_references": [ + { + "path": "MsiExec.exe /I{AEE58901-97A1-422A-B964-4FD9BF3327B8}", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ], + "extra_data": {}, "dependencies": [], - "purl": "pkg:windows-program/Python%203.9.5%20Development%20Libraries%20%2864-bit%29@3.9.5150.0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "win_reg_installed_programs_docker_file_software", + "purl": "pkg:windows-program/Python%203.9.5%20Development%20Libraries%20%2864-bit%29@3.9.5150.0" }, { "type": "windows-program", @@ -273,19 +735,25 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], - "installed_files": [], - "extra_data": { - "known_program_files": [ - "MsiExec.exe /I{F4DC18F4-6323-4BE8-A322-38268831BC24}" - ] - }, + "file_references": [ + { + "path": "MsiExec.exe /I{F4DC18F4-6323-4BE8-A322-38268831BC24}", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ], + "extra_data": {}, "dependencies": [], - "purl": "pkg:windows-program/Python%203.9.5%20Standard%20Library%20%2864-bit%29@3.9.5150.0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "win_reg_installed_programs_docker_file_software", + "purl": "pkg:windows-program/Python%203.9.5%20Standard%20Library%20%2864-bit%29@3.9.5150.0" }, { "type": "windows-program", @@ -321,18 +789,60 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], - "installed_files": [], - "extra_data": { - "known_program_files": [ - "MsiExec.exe /I{FBB6299D-CB58-4177-B6A0-63BFB1C8C3AE}" - ] - }, + "file_references": [ + { + "path": "MsiExec.exe /I{FBB6299D-CB58-4177-B6A0-63BFB1C8C3AE}", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "win_reg_installed_programs_docker_file_software", + "purl": "pkg:windows-program/Python%203.9.5%20Core%20Interpreter%20%2864-bit%29@3.9.5150.0" + }, + { + "type": "windows-program", + "namespace": null, + "name": null, + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": null, + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, "dependencies": [], - "purl": "pkg:windows-program/Python%203.9.5%20Core%20Interpreter%20%2864-bit%29@3.9.5150.0", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "win_reg_installed_programs_docker_file_software", + "purl": null } ] \ No newline at end of file diff --git a/tests/packagedcode/data/win_reg/get_installed_packages_docker/expected-results b/tests/packagedcode/data/win_reg/get_installed_packages_docker/expected-results index 762aea95bfb..52a2085571f 100644 --- a/tests/packagedcode/data/win_reg/get_installed_packages_docker/expected-results +++ b/tests/packagedcode/data/win_reg/get_installed_packages_docker/expected-results @@ -1,152 +1,452 @@ -[ - { - "type": "windows-program", - "namespace": null, - "name": "Test", - "version": "0.0.1", - "qualifiers": {}, - "subpath": null, - "primary_language": null, - "description": null, - "release_date": null, - "parties": [ - { - "type": "organization", - "role": "publisher", - "name": "Test Publisher", - "email": null, - "url": null - } - ], - "keywords": [], - "homepage_url": null, - "download_url": null, - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "installed_files": [ - { - "path": "Files/Program Files/Test/Test.dat", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null - }, - { - "path": "Files/Program Files/Test/Test.exe", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null +{ + "headers": [ + { + "tool_name": "scancode-toolkit", + "options": { + "input": "", + "--json-pp": "", + "--package": true }, - { - "path": "Files/Program Files/Test/Uninstall.exe", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null + "notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.", + "output_format_version": "2.0.0", + "message": null, + "errors": [], + "warnings": [], + "extra_data": { + "spdx_license_list_version": "3.16", + "files_count": 7 } - ], - "extra_data": { - "install_location": "C:\\Program Files\\Test\\", - "known_program_files": [ - "C:\\Program Files\\Test\\Test.exe", - "C:\\Program Files\\Test\\Uninstall.exe" - ] + } + ], + "dependencies": [], + "packages": [ + { + "type": "windows-program", + "namespace": null, + "name": "Test", + "version": "0.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": null, + "description": null, + "release_date": null, + "parties": [ + { + "type": "organization", + "role": "publisher", + "name": "Test Publisher", + "email": null, + "url": null + } + ], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "extra_data": {}, + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "package_uid": "pkg:windows-program/Test@0.0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "layer/Hives/Software_Delta" + ], + "datasource_ids": [ + "win_reg_installed_programs_docker_software_delta" + ], + "purl": "pkg:windows-program/Test@0.0.1" }, - "dependencies": [], - "purl": "pkg:windows-program/Test@0.0.1", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null - }, - { - "type": "windows-program", - "namespace": null, - "name": "Test2", - "version": "0.0.1", - "qualifiers": {}, - "subpath": null, - "primary_language": null, - "description": null, - "release_date": null, - "parties": [ - { - "type": "organization", - "role": "publisher", - "name": "Test Publisher", - "email": null, - "url": null - } - ], - "keywords": [], - "homepage_url": null, - "download_url": null, - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "contains_source_code": null, - "source_packages": [], - "installed_files": [ - { - "path": "Files/Program Files (x86)/Test2/Test2.dat", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null - }, - { - "path": "Files/Program Files (x86)/Test2/Test2.exe", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null - }, - { - "path": "Files/Program Files (x86)/Test2/Uninstall.exe", - "size": 0, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null - } - ], - "extra_data": { - "install_location": "C:\\Program Files (x86)\\Test2\\", - "known_program_files": [ - "C:\\Program Files (x86)\\Test2\\Test2.exe", - "C:\\Program Files (x86)\\Test2\\Uninstall.exe" - ] + { + "type": "windows-program", + "namespace": null, + "name": "Test2", + "version": "0.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": null, + "description": null, + "release_date": null, + "parties": [ + { + "type": "organization", + "role": "publisher", + "name": "Test Publisher", + "email": null, + "url": null + } + ], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "extra_data": {}, + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "package_uid": "pkg:windows-program/Test2@0.0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "layer/Hives/Software_Delta" + ], + "datasource_ids": [ + "win_reg_installed_programs_docker_software_delta" + ], + "purl": "pkg:windows-program/Test2@0.0.1" + } + ], + "files": [ + { + "path": "layer", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "layer/Files", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "layer/Files/Program Files", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "layer/Files/Program Files (x86)", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "layer/Files/Program Files (x86)/Test2", + "type": "directory", + "package_data": [], + "for_packages": [ + "pkg:windows-program/Test2@0.0.1?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "layer/Files/Program Files (x86)/Test2/Test2.dat", + "type": "file", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "layer/Files/Program Files (x86)/Test2/Test2.exe", + "type": "file", + "package_data": [], + "for_packages": [ + "pkg:windows-program/Test2@0.0.1?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "layer/Files/Program Files (x86)/Test2/Uninstall.exe", + "type": "file", + "package_data": [], + "for_packages": [ + "pkg:windows-program/Test2@0.0.1?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "layer/Files/Program Files/Test", + "type": "directory", + "package_data": [], + "for_packages": [ + "pkg:windows-program/Test@0.0.1?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "layer/Files/Program Files/Test/Test.dat", + "type": "file", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "layer/Files/Program Files/Test/Test.exe", + "type": "file", + "package_data": [], + "for_packages": [ + "pkg:windows-program/Test@0.0.1?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "layer/Files/Program Files/Test/Uninstall.exe", + "type": "file", + "package_data": [], + "for_packages": [ + "pkg:windows-program/Test@0.0.1?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "layer/Hives", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] }, - "dependencies": [], - "purl": "pkg:windows-program/Test2@0.0.1", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null - } -] \ No newline at end of file + { + "path": "layer/Hives/Software_Delta", + "type": "file", + "package_data": [ + { + "type": "windows-program", + "namespace": null, + "name": "Test", + "version": "0.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": null, + "description": null, + "release_date": null, + "parties": [ + { + "type": "organization", + "role": "publisher", + "name": "Test Publisher", + "email": null, + "url": null + } + ], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + { + "path": "C:\\Program Files\\Test\\", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "C:\\Program Files\\Test\\Test.exe", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "C:\\Program Files\\Test\\Uninstall.exe", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "win_reg_installed_programs_docker_software_delta", + "purl": "pkg:windows-program/Test@0.0.1" + }, + { + "type": "windows-program", + "namespace": null, + "name": null, + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": null, + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "win_reg_installed_programs_docker_software_delta", + "purl": null + }, + { + "type": "windows-program", + "namespace": null, + "name": "Test2", + "version": "0.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": null, + "description": null, + "release_date": null, + "parties": [ + { + "type": "organization", + "role": "publisher", + "name": "Test Publisher", + "email": null, + "url": null + } + ], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + { + "path": "C:\\Program Files (x86)\\Test2\\", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "C:\\Program Files (x86)\\Test2\\Test2.exe", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "C:\\Program Files (x86)\\Test2\\Uninstall.exe", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "win_reg_installed_programs_docker_software_delta", + "purl": "pkg:windows-program/Test2@0.0.1" + }, + { + "type": "windows-program", + "namespace": null, + "name": null, + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": null, + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "win_reg_installed_programs_docker_software_delta", + "purl": null + } + ], + "for_packages": [ + "pkg:windows-program/Test@0.0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:windows-program/Test2@0.0.1?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + } + ] +} \ No newline at end of file diff --git a/tests/packagedcode/data/win_reg/get_installed_packages_docker/expected-results.json b/tests/packagedcode/data/win_reg/get_installed_packages_docker/expected-results.json new file mode 100644 index 00000000000..b3b8a2165a2 --- /dev/null +++ b/tests/packagedcode/data/win_reg/get_installed_packages_docker/expected-results.json @@ -0,0 +1,150 @@ +[ + { + "type": "windows-program", + "namespace": null, + "name": "Test", + "version": "0.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": null, + "description": null, + "release_date": null, + "parties": [ + { + "type": "organization", + "role": "publisher", + "name": "Test Publisher", + "email": null, + "url": null + } + ], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + { + "path": "Files/Program Files/Test/Test.dat", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null + }, + { + "path": "Files/Program Files/Test/Test.exe", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null + }, + { + "path": "Files/Program Files/Test/Uninstall.exe", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null + } + ], + "extra_data": { + "install_location": "C:\\Program Files\\Test\\", + "known_program_files": [ + "C:\\Program Files\\Test\\Test.exe", + "C:\\Program Files\\Test\\Uninstall.exe" + ] + }, + "dependencies": [], + "purl": "pkg:windows-program/Test@0.0.1", + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null + }, + { + "type": "windows-program", + "namespace": null, + "name": "Test2", + "version": "0.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": null, + "description": null, + "release_date": null, + "parties": [ + { + "type": "organization", + "role": "publisher", + "name": "Test Publisher", + "email": null, + "url": null + } + ], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "file_references": [ + { + "path": "Files/Program Files (x86)/Test2/Test2.dat", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null + }, + { + "path": "Files/Program Files (x86)/Test2/Test2.exe", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null + }, + { + "path": "Files/Program Files (x86)/Test2/Uninstall.exe", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null + } + ], + "extra_data": { + "install_location": "C:\\Program Files (x86)\\Test2\\", + "known_program_files": [ + "C:\\Program Files (x86)\\Test2\\Test2.exe", + "C:\\Program Files (x86)\\Test2\\Uninstall.exe" + ] + }, + "dependencies": [], + "purl": "pkg:windows-program/Test2@0.0.1", + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null + } +] \ No newline at end of file diff --git a/tests/packagedcode/data/windows/mum/test.mum.expected b/tests/packagedcode/data/windows/mum/test.mum.expected index 48c82fe0d2b..89256415443 100644 --- a/tests/packagedcode/data/windows/mum/test.mum.expected +++ b/tests/packagedcode/data/windows/mum/test.mum.expected @@ -33,13 +33,14 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:windows-update/Package_1_for_KB4601060@10.0.3770.4", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "microsoft_update_manifest_mum", + "purl": "pkg:windows-update/Package_1_for_KB4601060@10.0.3770.4" } ] \ No newline at end of file diff --git a/tests/packagedcode/packages_test_utils.py b/tests/packagedcode/packages_test_utils.py index 04a34c17d71..2ee6599078b 100644 --- a/tests/packagedcode/packages_test_utils.py +++ b/tests/packagedcode/packages_test_utils.py @@ -18,7 +18,6 @@ from scancode_config import REGEN_TEST_FIXTURES - class PackageTester(testcase.FileBasedTesting): test_data_dir = os.path.join(os.path.dirname(__file__), 'data') @@ -37,15 +36,14 @@ def check_package_parse( package = package_function(manifest_loc) if not package: raise Exception(f'Failed to parse package: {manifest_loc}') - return self.check_package(package, expected_loc, regen) + return self.check_package_data(package, expected_loc, regen) - def check_package(self, package, expected_loc, regen=REGEN_TEST_FIXTURES): + def check_package_data(self, package_data, expected_loc, regen=REGEN_TEST_FIXTURES): """ Helper to test a package object against an expected JSON file. """ - - package.license_expression = package.compute_normalized_license() - results = package.to_dict() + compute_and_set_license_expression(package_data) + results = package_data.to_dict() expected_loc = self.get_test_loc(expected_loc, must_exist=False) check_result_equals_expected_json( @@ -54,16 +52,16 @@ def check_package(self, package, expected_loc, regen=REGEN_TEST_FIXTURES): regen=regen, ) - def check_packages(self, packages, expected_loc, regen=REGEN_TEST_FIXTURES): + def check_packages_data(self, packages_data, expected_loc, must_exist=True, regen=REGEN_TEST_FIXTURES): """ - Helper to test a list of package objects against an expected JSON file. + Helper to test a list of package_data objects against an expected JSON file. """ - expected_loc = self.get_test_loc(expected_loc) + expected_loc = self.get_test_loc(expected_loc, must_exist=must_exist) results = [] - for package in packages: - package.license_expression = package.compute_normalized_license() - results.append(package.to_dict()) + for package_data in packages_data: + compute_and_set_license_expression(package_data) + results.append(package_data.to_dict()) check_result_equals_expected_json( result=results, @@ -72,6 +70,16 @@ def check_packages(self, packages, expected_loc, regen=REGEN_TEST_FIXTURES): ) +def compute_and_set_license_expression(package_data): + if package_data.declared_license and not package_data.license_expression: + from packagedcode import HANDLER_BY_DATASOURCE_ID + handler = HANDLER_BY_DATASOURCE_ID[package_data.datasource_id] + computed = handler.compute_normalized_license(package_data) + if computed: + package_data.license_expression = computed + return package_data + + def check_result_equals_expected_json(result, expected_loc, regen=REGEN_TEST_FIXTURES): """ Check equality between a result collection and the data in an expected_loc @@ -170,3 +178,9 @@ def build_tests( regen=regen, ) setattr(clazz, test_name, test_method) + + +def compare_package_results(expected, result): + result_packages = [r.to_dict() for r in result] + expected_packages = [e.to_dict() for e in expected] + assert result_packages == expected_packages diff --git a/tests/packagedcode/test_about.py b/tests/packagedcode/test_about.py index acb8e6db2e8..732240838cd 100644 --- a/tests/packagedcode/test_about.py +++ b/tests/packagedcode/test_about.py @@ -12,7 +12,8 @@ from packagedcode import about from packages_test_utils import PackageTester from scancode_config import REGEN_TEST_FIXTURES - +from scancode.cli_test_utils import run_scan_click +from scancode.cli_test_utils import check_json_scan class TestAbout(PackageTester): @@ -20,16 +21,25 @@ class TestAbout(PackageTester): def test_can_detect_aboutfile(self): test_file = self.get_test_loc('about/aboutfiles/apipkg.ABOUT') - assert about.Aboutfile.is_package_data_file(test_file) + assert about.AboutFileHandler.is_datafile(test_file) def test_parse_about_file_home_url(self): test_file = self.get_test_loc('about/aboutfiles/apipkg.ABOUT') - package = about.Aboutfile.recognize(test_file) + package = about.AboutFileHandler.parse(test_file) expected_loc = self.get_test_loc('about/apipkg.ABOUT-expected') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_about_file_homepage_url(self): test_file = self.get_test_loc('about/aboutfiles/appdirs.ABOUT') - package = about.Aboutfile.recognize(test_file) + package = about.AboutFileHandler.parse(test_file) expected_loc = self.get_test_loc('about/appdirs.ABOUT-expected') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) + + def test_scan_cli_works(self): + test_file = self.get_test_loc('about/aboutfiles') + expected_file = self.get_test_loc('about/aboutfiles.expected.json') + result_file = self.get_temp_file('results.json') + run_scan_click(['--package', test_file, '--json', result_file]) + check_json_scan( + expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES + ) diff --git a/tests/packagedcode/test_alpine.py b/tests/packagedcode/test_alpine.py index b0d077ff941..12284fea7d2 100644 --- a/tests/packagedcode/test_alpine.py +++ b/tests/packagedcode/test_alpine.py @@ -25,21 +25,27 @@ class TestAlpineInstalledPackage(PackageTester): def test_parse_alpine_installed_db_small(self): test_installed = self.get_test_loc('alpine/small-installed/installed') result = [package.to_dict(_detailed=True) - for package in alpine.parse_alpine_installed_db(test_installed)] + for package in alpine.parse_alpine_installed_db( + location=test_installed, datasource_id='alpine_installed_db', package_type='alpine', + )] expected = test_installed + '-expected.json' check_result_equals_expected_json(result, expected, regen=REGEN_TEST_FIXTURES) def test_parse_alpine_installed_db_single(self): test_installed = self.get_test_loc('alpine/single-installed/installed') result = [package.to_dict(_detailed=True) - for package in alpine.parse_alpine_installed_db(test_installed)] + for package in alpine.parse_alpine_installed_db( + location=test_installed, datasource_id='alpine_installed_db', package_type='alpine', + )] expected = test_installed + '-expected.json' check_result_equals_expected_json(result, expected, regen=REGEN_TEST_FIXTURES) def test_parse_alpine_installed_db_full(self): test_installed = self.get_test_loc('alpine/full-installed/installed') result = [package.to_dict(_detailed=True) - for package in alpine.parse_alpine_installed_db(test_installed)] + for package in alpine.parse_alpine_installed_db( + location=test_installed, datasource_id='alpine_installed_db', package_type='alpine', + )] expected = test_installed + '-expected.json' check_result_equals_expected_json(result, expected, regen=REGEN_TEST_FIXTURES) diff --git a/tests/packagedcode/test_bower.py b/tests/packagedcode/test_bower.py index 0176963bce9..e2185dfa1cb 100644 --- a/tests/packagedcode/test_bower.py +++ b/tests/packagedcode/test_bower.py @@ -14,28 +14,37 @@ from scancode_config import REGEN_TEST_FIXTURES - class TestBower(PackageTester): test_data_dir = os.path.join(os.path.dirname(__file__), 'data') def test_is_manifest_bower_json(self): test_file = self.get_test_loc('bower/basic/bower.json') - assert bower.BowerJson.is_package_data_file(test_file) + assert bower.BowerJsonHandler.is_datafile(test_file) def test_parse_bower_json_basic(self): test_file = self.get_test_loc('bower/basic/bower.json') - package = bower.BowerJson.recognize(test_file) + package = bower.BowerJsonHandler.parse(test_file) expected_loc = self.get_test_loc('bower/basic/expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_bower_json_list_of_licenses(self): test_file = self.get_test_loc('bower/list-of-licenses/bower.json') - package = bower.BowerJson.recognize(test_file) + package = bower.BowerJsonHandler.parse(test_file) expected_loc = self.get_test_loc('bower/list-of-licenses/expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_bower_json_author_objects(self): test_file = self.get_test_loc('bower/author-objects/bower.json') - package = bower.BowerJson.recognize(test_file) + package = bower.BowerJsonHandler.parse(test_file) expected_loc = self.get_test_loc('bower/author-objects/expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) + + def test_end2end_bower_scan_is_moved_to_parent(self): + from scancode.cli_test_utils import check_json_scan + from scancode.cli_test_utils import run_scan_click + + test_file = self.get_test_loc('bower/scan') + expected_file = self.get_test_loc('bower/scan-expected.json') + result_file = self.get_temp_file('results.json') + run_scan_click(['--package', test_file, '--json-pp', result_file]) + check_json_scan(expected_file, result_file, regen=REGEN_TEST_FIXTURES) diff --git a/tests/packagedcode/test_build.py b/tests/packagedcode/test_build.py index d0b9374fca3..0db3365710c 100644 --- a/tests/packagedcode/test_build.py +++ b/tests/packagedcode/test_build.py @@ -14,6 +14,7 @@ from packagedcode import build from packagedcode import models from packages_test_utils import PackageTester +from packages_test_utils import compare_package_results from scancode.cli_test_utils import check_json_scan from scancode.cli_test_utils import run_scan_click from scancode_config import REGEN_TEST_FIXTURES @@ -37,53 +38,55 @@ def test_end2end_scan_can_detect_buck(self): run_scan_click(['--package', test_file, '--json-pp', result_file]) check_json_scan(expected_file, result_file, regen=REGEN_TEST_FIXTURES) - def test_build_get_package_resources(self): - test_loc = self.get_test_loc('get_package_resources') - codebase = Codebase(test_loc) - root = codebase.root - expected = [ - 'get_package_resources', - 'get_package_resources/BUCK', - 'get_package_resources/file1', - ] - results = [r.path for r in build.BaseBuildManifestPackageData.get_package_resources(root, codebase)] - assert results == expected - - def test_BazelPackage_recognize(self): + def test_BazelPackage_parse(self): test_file = self.get_test_loc('bazel/parse/BUILD') - result_packages = build.BazelPackage.recognize(test_file) + result_packages = build.BazelBuildHandler.parse(test_file) expected_packages = [ - build.BazelPackage(name='hello-greet'), - build.BazelPackage(name='hello-world'), + models.PackageData( + name='hello-greet', + type=build.BazelBuildHandler.default_package_type, + datasource_id=build.BazelBuildHandler.datasource_id, + ), + models.PackageData( + name='hello-world', + type=build.BazelBuildHandler.default_package_type, + datasource_id=build.BazelBuildHandler.datasource_id, + ) ] compare_package_results(expected_packages, result_packages) - def test_BuckPackage_recognize(self): + def test_BuckPackage_parse(self): test_file = self.get_test_loc('buck/parse/BUCK') - result_packages = build.BuckPackage.recognize(test_file) + result_packages = build.BuckPackageHandler.parse(test_file) expected_packages = [ - build.BuckPackage(name='app'), - build.BuckPackage(name='app2'), + models.PackageData( + name='app', + type=build.BuckPackageHandler.default_package_type, + datasource_id=build.BuckPackageHandler.datasource_id, + ), + models.PackageData( + name='app2', + type=build.BuckPackageHandler.default_package_type, + datasource_id=build.BuckPackageHandler.datasource_id, + ), ] compare_package_results(expected_packages, result_packages) def test_BuckPackage_recognize_with_license(self): test_file = self.get_test_loc('buck/parse/license/BUCK') - result_packages = build.BuckPackage.recognize(test_file) - expected_packages = [ - build.BuckPackage( - name='app', - declared_license=['LICENSE'], - license_expression= 'apache-2.0', - ) - ] - compare_package_results(expected_packages, result_packages) + test_loc = self.get_test_loc('buck/parse/license/') + result_package = list(build.BuckPackageHandler.parse(test_file))[0] + codebase = Codebase(test_loc) + resource = codebase.get_resource_from_path(test_file, absolute=True) + license_expression = build.compute_normalized_license(result_package, resource, codebase) + assert license_expression == 'apache-2.0' - def test_MetadataBzl_recognize(self): + def test_MetadataBzl_parse(self): test_file = self.get_test_loc('metadatabzl/METADATA.bzl') - result_packages = build.MetadataBzl.recognize(test_file) + result_packages = build.BuckMetadataBzlHandler.parse(test_file) expected_packages = [ - build.MetadataBzl( + models.PackageData( + datasource_id=build.BuckMetadataBzlHandler.datasource_id, type='github', name='example', version='0.0.1', @@ -100,16 +103,3 @@ def test_MetadataBzl_recognize(self): ] compare_package_results(expected_packages, result_packages) - -def compare_package_results(expected, result): - # We don't want to compare `root_path`, since the result will always - # have a different `root_path` than the expected result - result_packages = [] - for result_package in result: - r = result_package.to_dict() - result_packages.append(r) - expected_packages = [] - for expected_package in expected: - e = expected_package.to_dict() - expected_packages.append(e) - assert result_packages == expected_packages diff --git a/tests/packagedcode/test_build_gradle.py b/tests/packagedcode/test_build_gradle.py index f83d004a8ba..53ee219f843 100644 --- a/tests/packagedcode/test_build_gradle.py +++ b/tests/packagedcode/test_build_gradle.py @@ -12,6 +12,7 @@ from packagedcode import build_gradle from packagedcode import models from packages_test_utils import PackageTester +from packages_test_utils import compare_package_results from scancode.cli_test_utils import check_json_scan from scancode.cli_test_utils import run_scan_click from scancode_config import REGEN_TEST_FIXTURES @@ -25,18 +26,19 @@ def test_end2end_scan_can_detect_build_gradle(self): expected_file = self.get_test_loc('end2end-expected.json') result_file = self.get_temp_file() run_scan_click(['--package', test_file, '--json-pp', result_file]) - check_json_scan(expected_file, result_file, remove_instance_uuid=True, regen=REGEN_TEST_FIXTURES) + check_json_scan(expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES) - def test_build_gradle_recognize(self): + def test_build_gradle_parse(self): test_file = self.get_test_loc('build.gradle') - result_packages = build_gradle.BuildGradle.recognize(test_file) + result_packages = build_gradle.BuildGradleHandler.parse(test_file) expected_packages = [ - build_gradle.BuildGradle( - type='build.gradle', + models.PackageData( + datasource_id='build_gradle', + type='maven', dependencies = [ models.DependentPackage( - purl='pkg:build.gradle/com.google/guava@1.0', + purl='pkg:maven/com.google/guava@1.0', extracted_requirement='1.0', scope='api', is_runtime=True, @@ -44,7 +46,7 @@ def test_build_gradle_recognize(self): is_resolved=False ), models.DependentPackage( - purl='pkg:build.gradle/org.apache/commons@1.0', + purl='pkg:maven/org.apache/commons@1.0', extracted_requirement='1.0', scope='usageDependencies', is_runtime=True, @@ -52,7 +54,7 @@ def test_build_gradle_recognize(self): is_resolved=False ), models.DependentPackage( - purl='pkg:build.gradle/org.jacoco.ant@0.7.4.201502262128', + purl='pkg:maven/org.jacoco.ant@0.7.4.201502262128', extracted_requirement='0.7.4.201502262128', scope='', is_runtime=True, @@ -60,7 +62,7 @@ def test_build_gradle_recognize(self): is_resolved=False ), models.DependentPackage( - purl='pkg:build.gradle/org.jacoco.agent@0.7.4.201502262128', + purl='pkg:maven/org.jacoco.agent@0.7.4.201502262128', extracted_requirement='0.7.4.201502262128', scope='', is_runtime=True, @@ -72,16 +74,3 @@ def test_build_gradle_recognize(self): ] compare_package_results(expected_packages, result_packages) - -def compare_package_results(expected, result): - # We don't want to compare `root_path`, since the result will always - # have a different `root_path` than the expected result - result_packages = [] - for result_package in result: - r = result_package.to_dict() - result_packages.append(r) - expected_packages = [] - for expected_package in expected: - e = expected_package.to_dict() - expected_packages.append(e) - assert result_packages == expected_packages diff --git a/tests/packagedcode/test_cargo.py b/tests/packagedcode/test_cargo.py index 1fec3e08cf7..1184421262b 100644 --- a/tests/packagedcode/test_cargo.py +++ b/tests/packagedcode/test_cargo.py @@ -13,79 +13,96 @@ from packagedcode import cargo from packages_test_utils import PackageTester from scancode_config import REGEN_TEST_FIXTURES - +from scancode.cli_test_utils import run_scan_click +from scancode.cli_test_utils import check_json_scan class TestCargo(PackageTester): test_data_dir = os.path.join(os.path.dirname(__file__), 'data') - def test_is_manifest_cargo_toml(self): + def test_is_datafile_cargo_toml(self): test_file = self.get_test_loc('cargo/cargo_toml/clap/Cargo.toml') - assert cargo.CargoToml.is_package_data_file(test_file) + assert cargo.CargoTomlHandler.is_datafile(test_file) + + def test_is_datafile_cargo_lock(self): + test_file = self.get_test_loc('cargo/cargo_lock/sample1/Cargo.lock') + assert cargo.CargoLockHandler.is_datafile(test_file) + + def test_is_datafile_accepts_lowercase_cargo_toml_and_cargo_lock(self): + test_file = self.get_test_loc('cargo/lowercase/cargo.toml') + assert cargo.CargoTomlHandler.is_datafile(test_file) + + test_file = self.get_test_loc('cargo/lowercase/cargo.lock') + assert cargo.CargoLockHandler.is_datafile(test_file) def test_parse_cargo_toml_clap(self): test_file = self.get_test_loc('cargo/cargo_toml/clap/Cargo.toml') expected_loc = self.get_test_loc('cargo/cargo_toml/clap/Cargo.toml.expected') - package = cargo.CargoToml.recognize(test_file) - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + packages_data = cargo.CargoTomlHandler.parse(test_file) + self.check_packages_data(packages_data, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_cargo_toml_clippy(self): test_file = self.get_test_loc('cargo/cargo_toml/clippy/Cargo.toml') expected_loc = self.get_test_loc('cargo/cargo_toml/clippy/Cargo.toml.expected') - package = cargo.CargoToml.recognize(test_file) - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + packages_data = cargo.CargoTomlHandler.parse(test_file) + self.check_packages_data(packages_data, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_cargo_toml_mdbook(self): test_file = self.get_test_loc('cargo/cargo_toml/mdbook/Cargo.toml') expected_loc = self.get_test_loc('cargo/cargo_toml/mdbook/Cargo.toml.expected') - package = cargo.CargoToml.recognize(test_file) - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + packages_data = cargo.CargoTomlHandler.parse(test_file) + self.check_packages_data(packages_data, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_cargo_toml_rustfmt(self): test_file = self.get_test_loc('cargo/cargo_toml/rustfmt/Cargo.toml') expected_loc = self.get_test_loc('cargo/cargo_toml/rustfmt/Cargo.toml.expected') - package = cargo.CargoToml.recognize(test_file) - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + packages_data = cargo.CargoTomlHandler.parse(test_file) + self.check_packages_data(packages_data, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_cargo_toml_rustup(self): test_file = self.get_test_loc('cargo/cargo_toml/rustup/Cargo.toml') expected_loc = self.get_test_loc('cargo/cargo_toml/rustup/Cargo.toml.expected') - package = cargo.CargoToml.recognize(test_file) - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) - - def test_is_manifest_cargo_lock(self): - test_file = self.get_test_loc('cargo/cargo_lock/sample1/Cargo.lock') - assert cargo.CargoLock.is_package_data_file(test_file) + packages_data = cargo.CargoTomlHandler.parse(test_file) + self.check_packages_data(packages_data, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_cargo_lock_sample1(self): test_file = self.get_test_loc('cargo/cargo_lock/sample1/Cargo.lock') expected_loc = self.get_test_loc('cargo/cargo_lock/sample1/output.expected.json') - package = cargo.CargoLock.recognize(test_file) - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + packages_data = cargo.CargoLockHandler.parse(test_file) + self.check_packages_data(packages_data, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_cargo_lock_sample2(self): test_file = self.get_test_loc('cargo/cargo_lock/sample2/Cargo.lock') expected_loc = self.get_test_loc('cargo/cargo_lock/sample2/output.expected.json') - package = cargo.CargoLock.recognize(test_file) - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + packages_data = cargo.CargoLockHandler.parse(test_file) + self.check_packages_data(packages_data, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_cargo_lock_sample3(self): test_file = self.get_test_loc('cargo/cargo_lock/sample3/Cargo.lock') expected_loc = self.get_test_loc('cargo/cargo_lock/sample3/output.expected.json') - package = cargo.CargoLock.recognize(test_file) - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + packages_data = cargo.CargoLockHandler.parse(test_file) + self.check_packages_data(packages_data, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_cargo_lock_sample4(self): test_file = self.get_test_loc('cargo/cargo_lock/sample4/Cargo.lock') expected_loc = self.get_test_loc('cargo/cargo_lock/sample4/output.expected.json') - package = cargo.CargoLock.recognize(test_file) - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + packages_data = cargo.CargoLockHandler.parse(test_file) + self.check_packages_data(packages_data, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_cargo_lock_sample5(self): test_file = self.get_test_loc('cargo/cargo_lock/sample5/Cargo.lock') expected_loc = self.get_test_loc('cargo/cargo_lock/sample5/output.expected.json') - package = cargo.CargoLock.recognize(test_file) - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + packages_data = cargo.CargoLockHandler.parse(test_file) + self.check_packages_data(packages_data, expected_loc, regen=REGEN_TEST_FIXTURES) + + def test_scan_cli_works(self): + test_file = self.get_test_loc('cargo/scan') + expected_file = self.get_test_loc('cargo/scan.expected.json', must_exist=False) + result_file = self.get_temp_file('results.json') + run_scan_click(['--package', test_file, '--json', result_file]) + check_json_scan( + expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES + ) PERSON_PARSER_TEST_TABLE = [ @@ -100,7 +117,9 @@ def test_parse_cargo_lock_sample5(self): ('', (None, '')), ] + class TestRegex(object): + @pytest.mark.parametrize('person, expected_person', PERSON_PARSER_TEST_TABLE) def test_person_parser(self, person, expected_person): parsed_person = cargo.person_parser(person) diff --git a/tests/packagedcode/test_chef.py b/tests/packagedcode/test_chef.py index a7c26d4e1ed..5c0bd1374ed 100644 --- a/tests/packagedcode/test_chef.py +++ b/tests/packagedcode/test_chef.py @@ -12,6 +12,8 @@ from packagedcode import chef from packages_test_utils import PackageTester from scancode_config import REGEN_TEST_FIXTURES +from scancode.cli_test_utils import run_scan_click +from scancode.cli_test_utils import check_json_scan class TestChef(PackageTester): @@ -19,60 +21,82 @@ class TestChef(PackageTester): def test_chef_metadata_json_is_package_data_file(self): test_file = self.get_test_loc('chef/basic/metadata.json') - assert chef.MetadataJson.is_package_data_file(test_file) + assert chef.ChefMetadataJsonHandler.is_datafile(test_file) def test_chef_metadata_rb_from_json(self): test_file = self.get_test_loc('chef/basic/metadata.json') expected_file = self.get_test_loc('chef/basic/metadata.json.expected') - self.check_packages(chef.MetadataJson.recognize(test_file), expected_file, regen=REGEN_TEST_FIXTURES) + self.check_packages_data( + chef.ChefMetadataJsonHandler.parse(test_file), expected_file, regen=REGEN_TEST_FIXTURES + ) def test_chef_metadata_rb_is_package_data_file(self): test_file = self.get_test_loc('chef/basic/metadata.rb') - assert chef.Metadatarb.is_package_data_file(test_file) + assert chef.ChefMetadataRbHandler.is_datafile(test_file) def test_parse_from_rb(self): test_file = self.get_test_loc('chef/basic/metadata.rb') expected_file = self.get_test_loc('chef/basic/metadata.rb.expected') - self.check_packages(chef.Metadatarb.recognize(test_file), expected_file, regen=REGEN_TEST_FIXTURES) + self.check_packages_data( + chef.ChefMetadataRbHandler.parse(test_file), expected_file, regen=REGEN_TEST_FIXTURES + ) def test_parse_from_rb_dependency_requirement(self): test_file = self.get_test_loc('chef/dependencies/metadata.rb') expected_file = self.get_test_loc('chef/dependencies/metadata.rb.expected') - self.check_packages(chef.Metadatarb.recognize(test_file), expected_file, regen=REGEN_TEST_FIXTURES) + self.check_packages_data( + chef.ChefMetadataRbHandler.parse(test_file), expected_file, regen=REGEN_TEST_FIXTURES + ) def test_build_package(self): package_data = dict( + type='chef', name='test', version='0.01', description='test package', - license='public-domain' + license='public-domain', ) expected_file = self.get_test_loc('chef/basic/test_package.json.expected') - self.check_packages(chef.build_package(chef.MetadataJson, package_data), expected_file, regen=REGEN_TEST_FIXTURES) + self.check_packages_data( + chef.build_package(package_data, datasource_id='chef_cookbook_metadata_rb'), + expected_file, + regen=REGEN_TEST_FIXTURES, + ) def test_build_package_long_description(self): package_data = dict( + type='chef', name='test', version='0.01', long_description='test package', - license='public-domain' + license='public-domain', ) expected_file = self.get_test_loc('chef/basic/test_package.json.expected') - self.check_packages(chef.build_package(chef.MetadataJson, package_data), expected_file, regen=REGEN_TEST_FIXTURES) + self.check_packages_data( + chef.build_package(package_data, datasource_id='chef_cookbook_metadata_rb'), + expected_file, + regen=REGEN_TEST_FIXTURES, + ) def test_build_package_dependencies(self): package_data = dict( + type='chef', name='test', version='0.01', long_description='test package', license='public-domain', - dependencies={'test dependency': '0.01'} + dependencies={'test dependency': '0.01'}, ) expected_file = self.get_test_loc('chef/basic/test_package_dependencies.json.expected') - self.check_packages(chef.build_package(chef.MetadataJson, package_data), expected_file, regen=REGEN_TEST_FIXTURES) + self.check_packages_data( + chef.build_package(package_data, datasource_id='chef_cookbook_metadata_rb'), + expected_file, + regen=REGEN_TEST_FIXTURES, + ) def test_build_package_parties(self): package_data = dict( + type='chef', name='test', version='0.01', long_description='test package', @@ -81,16 +105,36 @@ def test_build_package_parties(self): maintainer_email='test_maintainer@example.com', ) expected_file = self.get_test_loc('chef/basic/test_package_parties.json.expected') - self.check_packages(chef.build_package(chef.MetadataJson, package_data), expected_file, regen=REGEN_TEST_FIXTURES) + self.check_packages_data( + chef.build_package(package_data, datasource_id='chef_cookbook_metadata_rb'), + expected_file, + regen=REGEN_TEST_FIXTURES, + ) def test_build_package_code_view_url_and_bug_tracking_url(self): package_data = dict( + type='chef', name='test', version='0.01', long_description='test package', license='public-domain', source_url='example.com', - issues_url='example.com/issues' + issues_url='example.com/issues', + ) + expected_file = self.get_test_loc( + 'chef/basic/test_package_code_view_url_and_bug_tracking_url.json.expected' + ) + self.check_packages_data( + chef.build_package(package_data, datasource_id='chef_cookbook_metadata_rb'), + expected_file, + regen=REGEN_TEST_FIXTURES, + ) + + def test_scan_cli_works(self): + test_file = self.get_test_loc('chef/package/') + expected_file = self.get_test_loc('chef/package.scan.expected.json', must_exist=False) + result_file = self.get_temp_file('results.json') + run_scan_click(['--package', test_file, '--json', result_file]) + check_json_scan( + expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES ) - expected_file = self.get_test_loc('chef/basic/test_package_code_view_url_and_bug_tracking_url.json.expected') - self.check_packages(chef.build_package(chef.MetadataJson, package_data), expected_file, regen=REGEN_TEST_FIXTURES) diff --git a/tests/packagedcode/test_cocoapods.py b/tests/packagedcode/test_cocoapods.py index 9deabd8c888..5293904b26f 100644 --- a/tests/packagedcode/test_cocoapods.py +++ b/tests/packagedcode/test_cocoapods.py @@ -9,11 +9,14 @@ import os -from packagedcode.cocoapods import Podspec -from packagedcode.cocoapods import PodfileLock -from packagedcode.cocoapods import PodspecJson +from packagedcode.cocoapods import get_urls +from packagedcode.cocoapods import PodspecHandler +from packagedcode.cocoapods import PodspecJsonHandler +from packagedcode.cocoapods import PodfileLockHandler from packages_test_utils import PackageTester from scancode_config import REGEN_TEST_FIXTURES +from scancode.cli_test_utils import check_json_scan +from scancode.cli_test_utils import run_scan_click class TestCocoaPodspec(PackageTester): @@ -21,37 +24,107 @@ class TestCocoaPodspec(PackageTester): def test_cocoapods_can_detect_podspec(self): test_file = self.get_test_loc('cocoapods/podspec/BadgeHub.podspec') - assert Podspec.is_package_data_file(test_file) + assert PodspecHandler.is_datafile(test_file) def test_cocoapods_can_parse_BadgeHub(self): test_file = self.get_test_loc('cocoapods/podspec/BadgeHub.podspec') expected_loc = self.get_test_loc('cocoapods/podspec/BadgeHub.podspec.expected.json') - packages = Podspec.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = PodspecHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + + def test_cocoapods_can_parse_flutter_paytabs_bridge(self): + test_file = self.get_test_loc('cocoapods/podspec/flutter_paytabs_bridge.podspec') + expected_loc = self.get_test_loc('cocoapods/podspec/flutter_paytabs_bridge.podspec.expected.json') + packages = PodspecHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + + def test_cocoapods_can_parse_kmmWebSocket(self): + test_file = self.get_test_loc('cocoapods/podspec/kmmWebSocket.podspec') + expected_loc = self.get_test_loc('cocoapods/podspec/kmmWebSocket.podspec.expected.json') + packages = PodspecHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) def test_cocoapods_can_parse_LoadingShimmer(self): test_file = self.get_test_loc('cocoapods/podspec/LoadingShimmer.podspec') - expected_loc = self.get_test_loc('cocoapods/podspec/LoadingShimmer.podspec.expected.json') - packages = Podspec.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + expected_loc = self.get_test_loc('cocoapods/podspec/LoadingShimmer.podspec.expected.json', must_exist=False) + packages = PodspecHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) def test_cocoapods_can_parse_nanopb(self): test_file = self.get_test_loc('cocoapods/podspec/nanopb.podspec') - expected_loc = self.get_test_loc('cocoapods/podspec/nanopb.podspec.expected.json') - packages = Podspec.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + expected_loc = self.get_test_loc('cocoapods/podspec/nanopb.podspec.expected.json', must_exist=False) + packages = PodspecHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + + def test_cocoapods_can_parse_PayTabsSDK(self): + test_file = self.get_test_loc('cocoapods/podspec/PayTabsSDK.podspec') + expected_loc = self.get_test_loc('cocoapods/podspec/PayTabsSDK.podspec.expected.json', must_exist=False) + packages = PodspecHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + + def test_cocoapods_can_parse_RxDataSources(self): + test_file = self.get_test_loc('cocoapods/podspec/RxDataSources.podspec') + expected_loc = self.get_test_loc('cocoapods/podspec/RxDataSources.podspec.expected.json') + packages = PodspecHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) def test_cocoapods_can_parse_Starscream(self): test_file = self.get_test_loc('cocoapods/podspec/Starscream.podspec') expected_loc = self.get_test_loc('cocoapods/podspec/Starscream.podspec.expected.json') - packages = Podspec.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = PodspecHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) def test_cocoapods_can_parse_SwiftLib(self): test_file = self.get_test_loc('cocoapods/podspec/SwiftLib.podspec') expected_loc = self.get_test_loc('cocoapods/podspec/SwiftLib.podspec.expected.json') - packages = Podspec.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = PodspecHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + + def test_get_urls(self): + result = get_urls(name=None, version=None, homepage_url=None, vcs_url=None) + expected = { + 'api_data_url': None, + 'bug_tracking_url': None, + 'code_view_url': None, + 'repository_download_url': None, + 'repository_homepage_url': None, + } + assert expected == result + + result = get_urls(name='foo', version=None, homepage_url=None, vcs_url=None) + expected = { + 'api_data_url': None, + 'bug_tracking_url': None, + 'code_view_url': None, + 'repository_download_url': None, + 'repository_homepage_url': 'https://cocoapods.org/pods/foo', + } + assert expected == result + + result = get_urls(name='foo', version='1.2.3', homepage_url=None, vcs_url=None) + expected = { + 'api_data_url': 'https://raw.githubusercontent.com/CocoaPods/Specs/blob/master/Specs/a/c/b/foo/1.2.3/foo.podspec.json', + 'bug_tracking_url': None, + 'code_view_url': None, + 'repository_download_url': None, + 'repository_homepage_url': 'https://cocoapods.org/pods/foo', + } + assert expected == result + + result = get_urls( + name='foo', + version='1.2.3', + homepage_url='https://home.org', + vcs_url='httsp://github.com/foo/bar.git', + ) + expected = { + 'api_data_url': 'https://raw.githubusercontent.com/CocoaPods/Specs/blob/master/Specs/a/c/b/foo/1.2.3/foo.podspec.json', + 'bug_tracking_url': 'httsp://github.com/foo/bar/issues/', + 'code_view_url': 'httsp://github.com/foo/bar/tree/1.2.3', + 'repository_download_url': 'httsp://github.com/foo/bar/archive/refs/tags/1.2.3.zip', + 'repository_homepage_url': 'https://cocoapods.org/pods/foo', + } + assert expected == result class TestCocoaPodspecJson(PackageTester): @@ -59,24 +132,71 @@ class TestCocoaPodspecJson(PackageTester): def test_cocoapods_can_detect_podspec_json(self): test_file = self.get_test_loc('cocoapods/podspec.json/FirebaseAnalytics.podspec.json') - assert PodspecJson.is_package_data_file(test_file) + assert PodspecJsonHandler.is_datafile(test_file) def test_cocoapods_can_parse_FirebaseAnalytics(self): test_file = self.get_test_loc('cocoapods/podspec.json/FirebaseAnalytics.podspec.json') expected_loc = self.get_test_loc('cocoapods/podspec.json/FirebaseAnalytics.podspec.json.expected.json') - packages = PodspecJson.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = PodspecJsonHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) class TestCocoaPodfileLock(PackageTester): test_data_dir = os.path.join(os.path.dirname(__file__), 'data') def test_cocoapods_can_detect_podfile_lock(self): - test_file = self.get_test_loc('cocoapods/podfle.lock/braintree_ios_Podfile.lock') - assert PodfileLock.is_package_data_file(test_file) + test_file = self.get_test_loc('cocoapods/podfile.lock/braintree_ios_Podfile.lock') + assert PodfileLockHandler.is_datafile(test_file) def test_cocoapods_can_parse_braintree_ios(self): - test_file = self.get_test_loc('cocoapods/podfle.lock/braintree_ios_Podfile.lock') - expected_loc = self.get_test_loc('cocoapods/podfle.lock/braintree_ios_Podfile.lock.expected.json') - packages = PodfileLock.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + test_file = self.get_test_loc('cocoapods/podfile.lock/braintree_ios_Podfile.lock') + expected_loc = self.get_test_loc('cocoapods/podfile.lock/braintree_ios_Podfile.lock.expected.json') + packages = PodfileLockHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + + +class TestCocoapodsEndToEndAssemble(PackageTester): + test_data_dir = os.path.join(os.path.dirname(__file__), 'data') + + def test_cocoapods_can_assemble_with_single_podspec(self): + test_file = self.get_test_loc('cocoapods/assemble/single-podspec') + expected_file = self.get_test_loc('cocoapods/assemble/single-podspec-expected.json', must_exist=False) + result_file = self.get_temp_file('results.json') + run_scan_click(['--package', test_file, '--json', result_file]) + check_json_scan(expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES) + + def test_cocoapods_can_assemble_with_multiple_podspec(self): + test_file = self.get_test_loc('cocoapods/assemble/multiple-podspec') + expected_file = self.get_test_loc('cocoapods/assemble/multiple-podspec-expected.json', must_exist=False) + result_file = self.get_temp_file('results.json') + run_scan_click(['--package', test_file, '--json', result_file]) + check_json_scan(expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES) + + def test_cocoapods_can_assemble_with_solo_podspec(self): + test_file = self.get_test_loc('cocoapods/assemble/solo/RxDataSources.podspec') + expected_file = self.get_test_loc('cocoapods/assemble/solo/RxDataSources.podspec-expected.json', must_exist=False) + result_file = self.get_temp_file('results.json') + run_scan_click(['--package', test_file, '--json', result_file]) + check_json_scan(expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES) + + def test_cocoapods_can_assemble_with_solo_podfile(self): + test_file = self.get_test_loc('cocoapods/assemble/solo/Podfile') + expected_file = self.get_test_loc('cocoapods/assemble/solo/Podfile-expected.json', must_exist=False) + result_file = self.get_temp_file('results.json') + run_scan_click(['--package', test_file, '--json', result_file]) + check_json_scan(expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES) + + def test_cocoapods_can_assemble_with_solo_podfile_lock(self): + test_file = self.get_test_loc('cocoapods/assemble/solo/Podfile.lock') + expected_file = self.get_test_loc('cocoapods/assemble/solo/Podfile.lock-expected.json', must_exist=False) + result_file = self.get_temp_file('results.json') + run_scan_click(['--package', test_file, '--json', result_file]) + check_json_scan(expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES) + + def test_cocoapods_can_assemble_with_many_podspecs_podfile_and_podfile_lock(self): + test_file = self.get_test_loc('cocoapods/assemble/many-podspecs') + expected_file = self.get_test_loc('cocoapods/assemble/many-podspecs-expected.json', must_exist=False) + result_file = self.get_temp_file('results.json') + run_scan_click(['--package', test_file, '--json', result_file]) + check_json_scan(expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES) + diff --git a/tests/packagedcode/test_conda.py b/tests/packagedcode/test_conda.py index 9a2e9e98046..ccc2d383281 100644 --- a/tests/packagedcode/test_conda.py +++ b/tests/packagedcode/test_conda.py @@ -23,27 +23,31 @@ class TestConda(PackageTester): def test_parse_get_varialble(self): test_file = self.get_test_loc('conda/meta.yaml') results = conda.get_variables(test_file) - assert results == dict([(u'version', u'0.45.0'), (u'sha256', u'bc7512f2eef785b037d836f4cc6faded457ac277f75c6e34eccd12da7c85258f')]) + expected = { + 'version': '0.45.0', + 'sha256': 'bc7512f2eef785b037d836f4cc6faded457ac277f75c6e34eccd12da7c85258f', + } + assert results == expected - def test_get_yaml_data(self): + def test_get_meta_yaml_data(self): test_file = self.get_test_loc('conda/meta.yaml') - results = conda.get_yaml_data(test_file) + results = conda.get_meta_yaml_data(test_file) assert list(results.items())[0] == (u'package', dict([(u'name', u'abeona'), (u'version', u'0.45.0')])) def test_condayml_is_package_data_file(self): test_file = self.get_test_loc('conda/meta.yaml') - assert conda.Condayml.is_package_data_file(test_file) + assert conda.CondaMetaYamlHandler.is_datafile(test_file) def test_parse(self): test_file = self.get_test_loc('conda/meta.yaml') - package = conda.Condayml.recognize(test_file) + package = conda.CondaMetaYamlHandler.parse(test_file) expected_loc = self.get_test_loc('conda/meta.yaml.expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_root_dir(self): test_file = self.get_test_loc('conda/requests-kerberos-0.8.0-py35_0.tar.bz2-extract/info/recipe.tar-extract/recipe/meta.yaml') test_dir = self.get_test_loc('conda/requests-kerberos-0.8.0-py35_0.tar.bz2-extract') codebase = Codebase(test_dir) - manifest_resource = codebase.get_resource_from_path(test_file, absolute=True) - proot = conda.CondaPackageData.get_package_root(manifest_resource, codebase) + resource = codebase.get_resource_from_path(test_file, absolute=True) + proot = conda.CondaMetaYamlHandler.get_conda_root(resource, codebase) assert proot.location == test_dir diff --git a/tests/packagedcode/test_cran.py b/tests/packagedcode/test_cran.py index 879762094b2..7398dfd5355 100644 --- a/tests/packagedcode/test_cran.py +++ b/tests/packagedcode/test_cran.py @@ -19,14 +19,14 @@ class TestCran(PackageTester): def test_parse_as_package(self): test_file = self.get_test_loc('cran/codetools/DESCRIPTION') - packages = cran.DescriptionFile.recognize(test_file) + packages = cran.CranDescriptionFileHandler.parse(test_file) expected_loc = self.get_test_loc( 'cran/codetools/package.json.expected') - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_as_package2(self): test_file = self.get_test_loc('cran/geometry/DESCRIPTION') - packages = cran.DescriptionFile.recognize(test_file) + packages = cran.CranDescriptionFileHandler.parse(test_file) expected_loc = self.get_test_loc( 'cran/geometry/package.json.expected') - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) diff --git a/tests/packagedcode/test_debian.py b/tests/packagedcode/test_debian.py index c11384f4c35..75f9f20cdfa 100644 --- a/tests/packagedcode/test_debian.py +++ b/tests/packagedcode/test_debian.py @@ -13,34 +13,21 @@ from commoncode.system import on_windows from packagedcode import debian -from packagedcode import models from packages_test_utils import PackageTester -from packages_test_utils import check_result_equals_expected_json +from scancode.cli_test_utils import check_json_scan +from scancode.cli_test_utils import run_scan_click from scancode_config import REGEN_TEST_FIXTURES - @skipIf(on_windows, 'These tests contain files that are not legit on Windows.') class TestDebianPackageGetInstalledPackages(PackageTester): test_data_dir = os.path.join(os.path.dirname(__file__), 'data') def test_basic_rootfs(self): - test_rootfs = self.extract_test_tar('debian/basic-rootfs.tar.gz') - result = [package.to_dict(_detailed=True) - for package in debian.get_installed_packages(test_rootfs)] - expected = self.get_test_loc('debian/basic-rootfs-expected.json') - check_result_equals_expected_json(result, expected, regen=REGEN_TEST_FIXTURES) - - def test_basic_rootfs_with_licenses_and_copyrights(self): - test_rootfs = self.extract_test_tar('debian/basic-rootfs.tar.gz') - result = [package.to_dict(_detailed=True) - for package in debian.get_installed_packages(test_rootfs, detect_licenses=True)] - expected = self.get_test_loc('debian/basic-rootfs-with-licenses-expected.json') - check_result_equals_expected_json(result, expected, regen=REGEN_TEST_FIXTURES) - - def test_get_installed_packages_should_not_fail_on_rootfs_without_installed_debian_packages(self): - test_rootfs = self.get_temp_dir() - result = list(debian.get_installed_packages(test_rootfs)) - assert result == [] + test_dir = self.extract_test_tar('debian/basic-rootfs.tar.gz') + expected_file = self.get_test_loc('debian/basic-rootfs-expected.json') + result_file = self.get_temp_file('results.json') + run_scan_click(['--package', test_dir, '--json-pp', result_file]) + check_json_scan(expected_file, result_file, regen=REGEN_TEST_FIXTURES) class TestDebian(PackageTester): @@ -48,13 +35,13 @@ class TestDebian(PackageTester): def test_parse_status_file_not_a_status_file(self): test_file = self.get_test_loc('debian/not-a-status-file') - test_packages = list(debian.parse_status_file(test_file)) + test_packages = list(debian.DebianInstalledStatusDatabaseHandler.parse(test_file)) assert test_packages == [] def test_parse_status_file_non_existing_file(self): test_file = os.path.join(self.get_test_loc('debian'), 'foobarbaz') try: - list(debian.parse_status_file(test_file)) + list(debian.DebianInstalledStatusDatabaseHandler.parse(test_file)) self.fail('FileNotFoundError not raised') except FileNotFoundError: pass @@ -63,133 +50,83 @@ def test_parse_status_file_basic(self): test_file = self.get_test_loc('debian/basic/status') expected_loc = self.get_test_loc('debian/basic/status.expected') # specify ubuntu distro as this was the source of the test `status` file - packages = list(debian.parse_status_file(test_file, distro='ubuntu')) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = list(debian.DebianInstalledStatusDatabaseHandler.parse(test_file)) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_status_file_perl_error(self): test_file = self.get_test_loc('debian/mini-status/status') expected_loc = self.get_test_loc('debian/mini-status/status.expected') - packages = list(debian.parse_status_file(test_file, distro='debian')) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = list(debian.DebianInstalledStatusDatabaseHandler.parse(test_file)) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) @skipIf(on_windows, 'File names cannot contain colons on Windows') def test_parse_end_to_end(self): test_dir = self.extract_test_tar('debian/end-to-end.tgz') - test_info_dir = os.path.join(test_dir, 'end-to-end') - test_file = os.path.join(test_info_dir, 'status') - - packages = list(debian.parse_status_file(test_file, distro='ubuntu')) - assert len(packages) == 1 - - test_package = packages[0] - - expected = [ - models.PackageFile('/lib/x86_64-linux-gnu/libncurses.so.5.9', md5='23c8a935fa4fc7290d55cc5df3ef56b1'), - models.PackageFile('/usr/lib/x86_64-linux-gnu/libform.so.5.9', md5='98b70f283324e89db5787a018a54adf4'), - models.PackageFile('/usr/lib/x86_64-linux-gnu/libmenu.so.5.9', md5='e3a0f5154928da2da234920343ac14b2'), - models.PackageFile('/usr/lib/x86_64-linux-gnu/libpanel.so.5.9', md5='a927e7d76753bb85f5a784b653d337d2') - ] - - resources = test_package.get_list_of_installed_files(test_info_dir) - - assert len(resources) == 4 - assert resources == expected + expected_file = self.get_test_loc('debian/end-to-end.tgz.expected.json', must_exist=False) + result_file = self.get_temp_file('results.json') + run_scan_click(['--package', test_dir, '--json-pp', result_file]) + check_json_scan(expected_file, result_file, regen=REGEN_TEST_FIXTURES) def test_get_installed_packages_ubuntu_with_missing_md5sums(self): - test_root_dir = self.get_test_loc('debian/ubuntu-var-lib-dpkg/') - - packages = debian.get_installed_packages(root_dir=test_root_dir, distro='ubuntu', detect_licenses=False) - result = [p.to_dict(_detailed=True) for p in packages] - expected = self.get_test_loc('debian/ubuntu-var-lib-dpkg/expected.json') - check_result_equals_expected_json(result, expected, regen=REGEN_TEST_FIXTURES) - + test_dir = self.get_test_loc('debian/ubuntu-var-lib-dpkg/') + expected_file = self.get_test_loc('debian/ubuntu-var-lib-dpkg/expected.json') + result_file = self.get_temp_file('results.json') + run_scan_click(['--package', test_dir, '--json-pp', result_file]) + check_json_scan(expected_file, result_file, regen=REGEN_TEST_FIXTURES) class TestDebianGetListOfInstalledFiles(PackageTester): test_data_dir = os.path.join(os.path.dirname(__file__), 'data') def test_missing_md5sum_file(self): - test_info_dir = self.get_test_loc('debian/missing-md5sum-file') - - test_pkg = debian.DebianPackage( - name='libatk-adaptor', - qualifiers={'arch':'amd64'} + test_file = self.get_test_loc('debian/missing-md5sum-file/foobar.md5sums') + results = debian.parse_debian_files_list( + location=test_file, + datasource_id=debian.DebianInstalledMd5sumFilelistHandler.datasource_id, + package_type=debian.DebianInstalledMd5sumFilelistHandler.default_package_type, ) - test_pkg.set_multi_arch('same') - assert test_pkg.get_list_of_installed_files(test_info_dir) == [] + assert list(results) == [] @skipIf(on_windows, 'File names cannot contain colons on Windows') def test_multi_arch_is_same(self): test_dir = self.extract_test_tar('debian/same-multi-arch.tgz') - test_info_dir = os.path.join(test_dir, 'same-multi-arch') + test_file = os.path.join(test_dir, 'same-multi-arch/libatk-adaptor:amd64.md5sums') - test_pkg = debian.DebianPackage( - name='libatk-adaptor', - qualifiers={'arch':'amd64'} + results = debian.parse_debian_files_list( + location=test_file, + datasource_id=debian.DebianInstalledMd5sumFilelistHandler.datasource_id, + package_type=debian.DebianInstalledMd5sumFilelistHandler.default_package_type, ) - test_pkg.set_multi_arch('same') - - expected = [ - models.PackageFile('/usr/lib/gnome-settings-daemon-3.0/gtk-modules/at-spi2-atk.desktop', md5='34900bd11562f427776ed2c05ba6002d'), - models.PackageFile('/usr/lib/unity-settings-daemon-1.0/gtk-modules/at-spi2-atk.desktop', md5='34900bd11562f427776ed2c05ba6002d'), - models.PackageFile('/usr/lib/x86_64-linux-gnu/gtk-2.0/modules/libatk-bridge.so', md5='6ddbc10b64afe708945c3b1497714aaa'), - models.PackageFile('/usr/share/doc/libatk-adaptor/NEWS.gz', md5='3a24add33624132b6b3b4c2ed08a4394'), - models.PackageFile('/usr/share/doc/libatk-adaptor/README', md5='452c2e9db46c9ac92a10e700d116b120'), - models.PackageFile('/usr/share/doc/libatk-adaptor/copyright', md5='971e4b2093741db8c51d263cd5c3ee48'), - ] - results = test_pkg.get_list_of_installed_files(test_info_dir) + expected_loc = self.get_test_loc('debian/libatk-adaptor-amd64.md5sums.expected.json', must_exist=False) + self.check_packages_data(results, expected_loc, must_exist=False, regen=REGEN_TEST_FIXTURES) - assert len(results) == 6 - assert results == expected + def test_parse_debian_files_list_no_arch(self): + test_file = self.get_test_loc('debian/files-md5sums/mokutil.md5sums') + results = debian.parse_debian_files_list( + location=test_file, + datasource_id=debian.DebianInstalledMd5sumFilelistHandler.datasource_id, + package_type=debian.DebianInstalledMd5sumFilelistHandler.default_package_type, + ) - def test_multi_arch_is_foreign(self): - test_info_dir = self.get_test_loc('debian/foreign-multi-arch') + expected_loc = self.get_test_loc('debian/files-md5sums/mokutil.md5sums.expected.json', must_exist=False) + self.check_packages_data(results, expected_loc, must_exist=False, regen=REGEN_TEST_FIXTURES) - test_pkg = debian.DebianPackage( - name='fonts-sil-abyssinica', - qualifiers={'arch':'amd64'} - ) - test_pkg.set_multi_arch('foreign') - - expected = [ - models.PackageFile('/usr/share/bug/fonts-sil-abyssinica/presubj', md5='7faf213b3c06e818b9976cc2ae5af51a'), - models.PackageFile('/usr/share/bug/fonts-sil-abyssinica/script', md5='672370efca8bffa183e2828907e0365d'), - models.PackageFile('/usr/share/doc/fonts-sil-abyssinica/OFL-FAQ.txt.gz', md5='ea72ae1d2ba5471ef54b132c79b1a03b'), - models.PackageFile('/usr/share/doc/fonts-sil-abyssinica/README.Debian', md5='f497d6bfc7ca4d423d703fabb7ff2e4c'), - models.PackageFile('/usr/share/doc/fonts-sil-abyssinica/changelog.Debian.gz', md5='7f81bc6ed7506b95af01b5eef76662bb'), - models.PackageFile('/usr/share/doc/fonts-sil-abyssinica/copyright', md5='13d9a840b6db71f7060670be0aafa953'), - models.PackageFile('/usr/share/doc/fonts-sil-abyssinica/documentation/AbyssinicaSILGraphiteFontFeatures.odt', md5='0e4a5ad6839067740e81a3e1244b0b16'), - models.PackageFile('/usr/share/doc/fonts-sil-abyssinica/documentation/AbyssinicaSILGraphiteFontFeatures.pdf.gz', md5='8fee9c92ecd425c71217418b8370c5ae'), - models.PackageFile('/usr/share/doc/fonts-sil-abyssinica/documentation/AbyssinicaSILOpenTypeFontFeatures.pdf.gz', md5='2cc8cbe21730258dd03a465e045066cc'), - models.PackageFile('/usr/share/doc/fonts-sil-abyssinica/documentation/AbyssinicaSILTypeSample.pdf.gz', md5='40948ce7d8e4b1ba1c7043ec8926edf9'), - models.PackageFile('/usr/share/doc/fonts-sil-abyssinica/documentation/AbyssinicaSILTypeTunerGuide.pdf.gz', md5='36ca1d62ca7365216e8bda952d2461e6'), - models.PackageFile('/usr/share/doc/fonts-sil-abyssinica/documentation/DOCUMENTATION.txt', md5='491295c116dbcb74bcad2d78a56aedbe'), - models.PackageFile('/usr/share/doc/fonts-sil-abyssinica/documentation/SILEthiopicPrivateUseAreaBlock.pdf.gz', md5='bea5aeeb76a15c2c1b8189d1b2437b31'), - models.PackageFile('/usr/share/fonts/truetype/abyssinica/AbyssinicaSIL-R.ttf', md5='9e3d4310af3892a739ba7b1189c44dca'), - ] - - results = test_pkg.get_list_of_installed_files(test_info_dir) - - assert len(results) == 14 - assert results == expected - - def test_multi_arch_is_missing(self): - test_info_dir = self.get_test_loc('debian/missing-multi-arch') - - test_pkg = debian.DebianPackage( - name='mokutil', - qualifiers={'arch':'amd64'} + @skipIf(on_windows, 'File names cannot contain colons on Windows') + def test_parse_debian_files_list_with_arch(self): + test_file = self.get_test_loc('debian/files-md5sums/mokutil.md5sums', copy=True) + from commoncode import fileutils + from pathlib import Path + src = Path(test_file) + test_dir = src.parent + test_file = str(test_dir / "mockutil:amd64.md5sum") + fileutils.copyfile(str(src), test_file) + + results = debian.parse_debian_files_list( + location=test_file, + datasource_id=debian.DebianInstalledMd5sumFilelistHandler.datasource_id, + package_type=debian.DebianInstalledMd5sumFilelistHandler.default_package_type, ) - expected = [ - models.PackageFile('/usr/bin/mokutil', md5='7a1a2629613d260e43dabc793bebdf19'), - models.PackageFile('/usr/share/bash-completion/completions/mokutil', md5='9086049384eaf0360dca4371ca50acbf'), - models.PackageFile('/usr/share/doc/mokutil/changelog.Debian.gz', md5='b3f4bb874bd61e4609823993857b9c17'), - models.PackageFile('/usr/share/doc/mokutil/copyright', md5='24dd593b630976a785b4c5ed097bbd96'), - models.PackageFile('/usr/share/man/man1/mokutil.1.gz', md5='b608675058a943d834129b6972b8509a'), - ] - results = test_pkg.get_list_of_installed_files(test_info_dir) - - assert len(results) == 5 - assert results == expected + expected_loc = self.get_test_loc('debian/files-md5sums/mokutil-amd64.md5sums.expected.json', must_exist=False) + self.check_packages_data(results, expected_loc, must_exist=False, regen=REGEN_TEST_FIXTURES) diff --git a/tests/packagedcode/test_freebsd.py b/tests/packagedcode/test_freebsd.py index 203dbd0239e..70280b89376 100644 --- a/tests/packagedcode/test_freebsd.py +++ b/tests/packagedcode/test_freebsd.py @@ -20,47 +20,47 @@ class TestFreeBSD(PackageTester): def test_is_manifest_compact_manifest(self): test_file = self.get_test_loc('freebsd/multi_license/+COMPACT_MANIFEST') - assert freebsd.CompactManifest.is_package_data_file(test_file) + assert freebsd.CompactManifestHandler.is_datafile(test_file) def test_parse_with_multi_licenses(self): test_file = self.get_test_loc('freebsd/multi_license/+COMPACT_MANIFEST') expected_loc = self.get_test_loc('freebsd/multi_license/+COMPACT_MANIFEST.expected') - package = freebsd.CompactManifest.recognize(test_file) - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + package = freebsd.CompactManifestHandler.parse(test_file) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_with_dual_licenses2(self): test_file = self.get_test_loc('freebsd/dual_license2/+COMPACT_MANIFEST') expected_loc = self.get_test_loc('freebsd/dual_license2/+COMPACT_MANIFEST.expected') - package = freebsd.CompactManifest.recognize(test_file) - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + package = freebsd.CompactManifestHandler.parse(test_file) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_with_dual_licenses(self): test_file = self.get_test_loc('freebsd/dual_license/+COMPACT_MANIFEST') expected_loc = self.get_test_loc('freebsd/dual_license/+COMPACT_MANIFEST.expected') - package = freebsd.CompactManifest.recognize(test_file) - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + package = freebsd.CompactManifestHandler.parse(test_file) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_without_licenses(self): test_file = self.get_test_loc('freebsd/no_licenses/+COMPACT_MANIFEST') expected_loc = self.get_test_loc('freebsd/no_licenses/+COMPACT_MANIFEST.expected') - package = freebsd.CompactManifest.recognize(test_file) - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + package = freebsd.CompactManifestHandler.parse(test_file) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_basic2(self): test_file = self.get_test_loc('freebsd/basic2/+COMPACT_MANIFEST') expected_loc = self.get_test_loc('freebsd/basic2/+COMPACT_MANIFEST.expected') - package = freebsd.CompactManifest.recognize(test_file) - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + package = freebsd.CompactManifestHandler.parse(test_file) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_basic(self): test_file = self.get_test_loc('freebsd/basic/+COMPACT_MANIFEST') expected_loc = self.get_test_loc('freebsd/basic/+COMPACT_MANIFEST.expected') - package = freebsd.CompactManifest.recognize(test_file) - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + package = freebsd.CompactManifestHandler.parse(test_file) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_not_yaml(self): test_file = self.get_test_loc('freebsd/not_yaml/+COMPACT_MANIFEST') try: - freebsd.CompactManifest.recognize(test_file) + freebsd.CompactManifestHandler.parse(test_file) except saneyaml.YAMLError as e: assert 'while parsing a block node' in str(e) diff --git a/tests/packagedcode/test_godeps.py b/tests/packagedcode/test_godeps.py index 16a815f83cf..361d34755fe 100644 --- a/tests/packagedcode/test_godeps.py +++ b/tests/packagedcode/test_godeps.py @@ -28,11 +28,13 @@ def test_parse_basic(self): "Deps": [ { "ImportPath": "code.google.com/p/go-netrc/netrc", - "Rev": "28676070ab99" + "Rev": "28676070ab99", + "Comment": null }, { "ImportPath": "github.com/kr/binarydist", - "Rev": "3380ade90f8b0dfa3e363fd7d7e941fa857d0d13" + "Rev": "3380ade90f8b0dfa3e363fd7d7e941fa857d0d13", + "Comment": null } ] }''' @@ -58,64 +60,63 @@ def test_parse_basic(self): results = gd.to_dict() assert results == expected - def check_package(self, test_file, expected_file, regen=REGEN_TEST_FIXTURES): + def check_parse(self, test_file, regen=REGEN_TEST_FIXTURES): + """ + Test godeps parsing and package data creation + """ + test_loc = self.get_test_loc(test_file) + + expected_parse_file = f'{test_file}-expected' + expected_loc = self.get_test_loc(expected_parse_file) results = godeps.parse(location=test_loc) - expected_loc = self.get_test_loc(expected_file) + if regen: - wmode = 'w' - with open(expected_loc, wmode) as ex: + with open(expected_loc, 'w') as ex: json.dump(results, ex, indent=2) with io.open(expected_loc, encoding='utf-8') as ex: expected = json.load(ex) assert sorted(results.items()) == sorted(expected.items()) + expected_package_file = f'{test_file}-expected-package' + expected_loc = self.get_test_loc(expected_package_file) + results = list(godeps.GodepsHandler.parse(location=test_loc)) + results_mapping = [r.to_dict() for r in results] + + if regen: + with open(expected_loc, 'w') as ex: + json.dump(results_mapping, ex, indent=2) + with io.open(expected_loc, encoding='utf-8') as ex: + expected = json.load(ex) + + assert results_mapping == expected + def test_godeps_godeps_godeps_json_comments(self): - self.check_package( - 'godeps/Godeps.json-comments', - 'godeps/expected/Godeps.json-commentsexpected.json') + self.check_parse('godeps/comments/Godeps.json') def test_godeps_godeps_godeps_json_full(self): - self.check_package( - 'godeps/Godeps.json-full', - 'godeps/expected/Godeps.json-fullexpected.json') + self.check_parse('godeps/full/Godeps.json') def test_godeps_godeps_godeps_json_full2(self): - self.check_package( - 'godeps/Godeps.json-full2', - 'godeps/expected/Godeps.json-full2expected.json') + self.check_parse('godeps/full2/Godeps.json') def test_godeps_godeps_godeps_json_medium(self): - self.check_package( - 'godeps/Godeps.json-medium', - 'godeps/expected/Godeps.json-mediumexpected.json') + self.check_parse('godeps/medium/Godeps.json') def test_godeps_godeps_godeps_json_medium2(self): - self.check_package( - 'godeps/Godeps.json-medium2', - 'godeps/expected/Godeps.json-medium2expected.json') + self.check_parse('godeps/medium2/Godeps.json') def test_godeps_godeps_godeps_json_mini(self): - self.check_package( - 'godeps/Godeps.json-mini', - 'godeps/expected/Godeps.json-miniexpected.json') + self.check_parse('godeps/mini/Godeps.json') def test_godeps_godeps_godeps_json_package1(self): - self.check_package( - 'godeps/Godeps.json-package1', - 'godeps/expected/Godeps.json-package1expected.json') + self.check_parse('godeps/package1/Godeps.json') def test_godeps_godeps_godeps_json_package2(self): - self.check_package( - 'godeps/Godeps.json-package2', - 'godeps/expected/Godeps.json-package2expected.json') + self.check_parse('godeps/package2/Godeps.json') def test_godeps_godeps_godeps_json_package3(self): - self.check_package( - 'godeps/Godeps.json-package3', - 'godeps/expected/Godeps.json-package3expected.json') + self.check_parse('godeps/package3/Godeps.json') def test_godeps_godeps_godeps_json_simple(self): - self.check_package( - 'godeps/Godeps.json-simple', - 'godeps/expected/Godeps.json-simpleexpected.json') + self.check_parse('godeps/simple/Godeps.json') diff --git a/tests/packagedcode/test_golang.py b/tests/packagedcode/test_golang.py index 863496b5b6e..58feea2def0 100644 --- a/tests/packagedcode/test_golang.py +++ b/tests/packagedcode/test_golang.py @@ -22,80 +22,80 @@ class TestGolang(PackageTester): def test_gomod_is_package_data_file(self): test_file = self.get_test_loc('golang/gomod/kingpin/go.mod') - assert golang.GoMod.is_package_data_file(test_file) + assert golang.GoModHandler.is_datafile(test_file) def test_parse_gomod_kingpin(self): test_file = self.get_test_loc('golang/gomod/kingpin/go.mod') expected_loc = self.get_test_loc('golang/gomod/kingpin/output.expected.json') - package = golang.GoMod.recognize(test_file) - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + package = golang.GoModHandler.parse(test_file) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_gomod_opencensus(self): test_file = self.get_test_loc('golang/gomod/opencensus-service/go.mod') expected_loc = self.get_test_loc('golang/gomod/opencensus-service/output.expected.json') - package = golang.GoMod.recognize(test_file) - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + package = golang.GoModHandler.parse(test_file) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_gomod_participle(self): test_file = self.get_test_loc('golang/gomod/participle/go.mod') expected_loc = self.get_test_loc('golang/gomod/participle/output.expected.json') - package = golang.GoMod.recognize(test_file) - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + package = golang.GoModHandler.parse(test_file) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_gomod_sample(self): test_file = self.get_test_loc('golang/gomod/sample/go.mod') expected_loc = self.get_test_loc('golang/gomod/sample/output.expected.json') - package = golang.GoMod.recognize(test_file) - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + package = golang.GoModHandler.parse(test_file) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_gomod_uap_go(self): test_file = self.get_test_loc('golang/gomod/uap-go/go.mod') expected_loc = self.get_test_loc('golang/gomod/uap-go/output.expected.json') - package = golang.GoMod.recognize(test_file) - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + package = golang.GoModHandler.parse(test_file) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_gomod_user_agent(self): test_file = self.get_test_loc('golang/gomod/user_agent/go.mod') expected_loc = self.get_test_loc('golang/gomod/user_agent/output.expected.json') - package = golang.GoMod.recognize(test_file) - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + package = golang.GoModHandler.parse(test_file) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_gosum_is_package_data_file(self): test_file = self.get_test_loc('golang/gosum/sample1/go.sum') - assert golang.GoSum.is_package_data_file(test_file) + assert golang.GoSumHandler.is_datafile(test_file) def test_parse_gosum_sample1(self): test_file = self.get_test_loc('golang/gosum/sample1/go.sum') expected_loc = self.get_test_loc('golang/gosum/sample1/output.expected.json') - package = golang.GoSum.recognize(test_file) - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + package = golang.GoSumHandler.parse(test_file) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_gosum_sample2(self): test_file = self.get_test_loc('golang/gosum/sample2/go.sum') expected_loc = self.get_test_loc('golang/gosum/sample2/output.expected.json') - package = golang.GoSum.recognize(test_file) - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + package = golang.GoSumHandler.parse(test_file) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_gosum_sample3(self): test_file = self.get_test_loc('golang/gosum/sample3/go.sum') expected_loc = self.get_test_loc('golang/gosum/sample3/output.expected.json') - package = golang.GoSum.recognize(test_file) - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + package = golang.GoSumHandler.parse(test_file) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_gosum_sample4(self): test_file = self.get_test_loc('golang/gosum/sample4/go.sum') expected_loc = self.get_test_loc('golang/gosum/sample4/output.expected.json') - package = golang.GoSum.recognize(test_file) - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + package = golang.GoSumHandler.parse(test_file) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_gosum_sample5(self): test_file = self.get_test_loc('golang/gosum/sample5/go.sum') expected_loc = self.get_test_loc('golang/gosum/sample5/output.expected.json') - package = golang.GoSum.recognize(test_file) - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + package = golang.GoSumHandler.parse(test_file) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_gosum_sample6(self): test_file = self.get_test_loc('golang/gosum/sample6/go.sum') expected_loc = self.get_test_loc('golang/gosum/sample6/output.expected.json') - package = golang.GoSum.recognize(test_file) - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + package = golang.GoSumHandler.parse(test_file) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) diff --git a/tests/packagedcode/test_haxe.py b/tests/packagedcode/test_haxe.py index de668b79f4e..18595ace995 100644 --- a/tests/packagedcode/test_haxe.py +++ b/tests/packagedcode/test_haxe.py @@ -21,36 +21,28 @@ class TestHaxe(PackageTester): def test_is_manifest_haxelib_json(self): test_file = self.get_test_loc('haxe/basic/haxelib.json') - assert haxe.HaxelibJson.is_package_data_file(test_file) + assert haxe.HaxelibJsonHandler.is_datafile(test_file) def test_parse_basic(self): test_file = self.get_test_loc('haxe/basic/haxelib.json') expected_loc = self.get_test_loc('haxe/basic/haxelib.json.expected') - package = haxe.HaxelibJson.recognize(test_file) - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + package = haxe.HaxelibJsonHandler.parse(test_file) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_basic2(self): test_file = self.get_test_loc('haxe/basic2/haxelib.json') expected_loc = self.get_test_loc('haxe/basic2/haxelib.json.expected') - package = haxe.HaxelibJson.recognize(test_file) - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + package = haxe.HaxelibJsonHandler.parse(test_file) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_deps(self): test_file = self.get_test_loc('haxe/deps/haxelib.json') expected_loc = self.get_test_loc('haxe/deps/haxelib.json.expected') - package = haxe.HaxelibJson.recognize(test_file) - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + package = haxe.HaxelibJsonHandler.parse(test_file) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_tags(self): test_file = self.get_test_loc('haxe/tags/haxelib.json') expected_loc = self.get_test_loc('haxe/tags/haxelib.json.expected') - package = haxe.HaxelibJson.recognize(test_file) - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) - - def test_root_dir(self): - test_file = self.get_test_loc('haxe/tags/haxelib.json') - test_dir = self.get_test_loc('haxe/tags') - codebase = Codebase(test_dir) - manifest_resource = codebase.get_resource_from_path(test_file, absolute=True) - proot = haxe.HaxePackage.get_package_root(manifest_resource, codebase) - assert proot.location == test_dir + package = haxe.HaxelibJsonHandler.parse(test_file) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) diff --git a/tests/packagedcode/test_jar_manifest.py b/tests/packagedcode/test_jar_manifest.py index 6944722c861..4122c862b37 100644 --- a/tests/packagedcode/test_jar_manifest.py +++ b/tests/packagedcode/test_jar_manifest.py @@ -14,7 +14,7 @@ from commoncode import text from commoncode import testcase -from packagedcode.jar_manifest import get_normalized_package_data +from packagedcode.jar_manifest import get_normalized_java_manifest_data from packagedcode.jar_manifest import parse_manifest from scancode_config import REGEN_TEST_FIXTURES @@ -43,15 +43,15 @@ def check_parse_manifest(self, test_manifest, regen=REGEN_TEST_FIXTURES): assert json.dumps(parsed_manifest) == json.dumps(expected) - def check_get_normalized_package_data(self, test_manifest, regen=REGEN_TEST_FIXTURES): + def check_get_normalized_java_manifest_data(self, test_manifest, regen=REGEN_TEST_FIXTURES): """ - Test the get_normalized_package_data() function using the MANIFEST file + Test the get_normalized_java_manifest_data() function using the MANIFEST file at `test_manifest` against an expected JSON from the same name with a .package-data.json extension. """ test_manifest_loc = self.get_test_loc(test_manifest) manifest_sections = parse_manifest(test_manifest_loc) - package = get_normalized_package_data(manifest_sections[0]) or {} + package = get_normalized_java_manifest_data(manifest_sections[0]) or {} expected_json_loc = test_manifest_loc + '.package-data.json' @@ -96,7 +96,7 @@ def test_manifest(self): self.check_parse_manifest(test_manifest_loc, regen) else: def test_manifest(self): - self.check_get_normalized_package_data(test_manifest_loc, regen) + self.check_get_normalized_java_manifest_data(test_manifest_loc, regen) # set a proper function name to display in reports and use in discovery # function names are best as bytes diff --git a/tests/packagedcode/test_maven.py b/tests/packagedcode/test_maven.py index 7802fc0836d..302efb51068 100644 --- a/tests/packagedcode/test_maven.py +++ b/tests/packagedcode/test_maven.py @@ -16,20 +16,17 @@ from commoncode import fileutils from commoncode import text from commoncode import testcase -from commoncode.resource import Codebase from packagedcode import maven +from packagedcode import models +from scancode.cli_test_utils import check_json_scan +from scancode.cli_test_utils import run_scan_click from scancode_config import REGEN_TEST_FIXTURES - class TestIsPom(testcase.FileBasedTesting): test_data_dir = os.path.join(os.path.dirname(__file__), 'data') - def test_is_pom_non_pom(self): - test_file = self.get_test_loc('maven_misc/non-maven.pom') - assert not maven.PomXml.is_package_data_file(test_file) - def test_is_pom_maven2(self): test_dir = self.get_test_loc('maven2') for test_file in fileutils.resource_iter(test_dir, with_dirs=False): @@ -37,11 +34,7 @@ def test_is_pom_maven2(self): continue loc = os.path.join(test_dir, test_file) - assert maven.PomXml.is_package_data_file(loc), loc + ' should be a POM' - - def test_is_pom_not_misc2(self): - test_file = self.get_test_loc('maven_misc/properties-section-single.xml') - assert not maven.PomXml.is_package_data_file(test_file) + assert maven.MavenPomXmlHandler.is_datafile(loc), loc + ' should be a POM' def test_is_pom_m2(self): test_dir = self.get_test_loc('m2') @@ -50,11 +43,15 @@ def test_is_pom_m2(self): continue loc = os.path.join(test_dir, test_file) - assert maven.PomXml.is_package_data_file(loc), 'file://' + loc + ' should be a POM' + assert maven.MavenPomXmlHandler.is_datafile(loc), 'file://' + loc + ' should be a POM' - def test_is_pom_not_misc(self): + def test_is_pom_is_detected_based_content(self): test_file = self.get_test_loc('maven_misc/properties-section.xml') - assert not maven.PomXml.is_package_data_file(test_file) + assert maven.MavenPomXmlHandler.is_datafile(test_file) + + def test_is_pom_is_detected_based_content2(self): + test_file = self.get_test_loc('maven_misc/properties-section-single.xml') + assert maven.MavenPomXmlHandler.is_datafile(test_file) def compare_results(results, test_pom_loc, expected_json_loc, regen=REGEN_TEST_FIXTURES): @@ -68,7 +65,7 @@ def compare_results(results, test_pom_loc, expected_json_loc, regen=REGEN_TEST_F results_dump = json.dumps(results, indent=2) expected_dump = json.dumps(expected, indent=2) try: - assert results_dump == expected_dump + assert results == expected except AssertionError: test_pom_loc = 'file://' + test_pom_loc expected_json_loc = 'file://' + expected_json_loc @@ -76,14 +73,15 @@ def compare_results(results, test_pom_loc, expected_json_loc, regen=REGEN_TEST_F assert results_dump == '\n'.join(expected) -def parse_pom(location=None, text=None, check_is_pom=False): +def parse_pom(location=None): """ Return a POM mapping from the Maven POM file at location. """ - pom = maven.get_maven_pom(location, text, check_is_pom) - if not pom: - return {} - return pom.to_dict() + pom = maven.get_maven_pom(location=location) + if pom: + return pom.to_dict() + + return {} class BaseMavenCase(testcase.FileBasedTesting): @@ -95,7 +93,7 @@ def check_parse_pom(self, test_pom, regen=REGEN_TEST_FIXTURES): from the same name with a .json extension. """ test_pom_loc = self.get_test_loc(test_pom) - expected_json_loc = test_pom_loc + '.json' + expected_json_loc = f'{test_pom_loc}.json' results = parse_pom(location=test_pom_loc) compare_results(results, test_pom_loc, expected_json_loc, regen) @@ -105,25 +103,27 @@ def check_parse_to_package(self, test_pom, regen=REGEN_TEST_FIXTURES): expected JSON from the same name with a .package.json extension. """ test_pom_loc = self.get_test_loc(test_pom) - expected_json_loc = test_pom_loc + '.package.json' - packages = list(maven.PomXml.recognize(location=test_pom_loc)) - if not packages: + expected_json_loc = f'{test_pom_loc}.package.json' + packages_data = list(maven.MavenPomXmlHandler.parse(location=test_pom_loc)) + if not packages_data: results = {} else: - package = packages.pop() - package.license_expression = package.compute_normalized_license() - results = package.to_dict() + package_data = packages_data.pop() + package_data.license_expression = maven.MavenPomXmlHandler.compute_normalized_license(package_data) + results = package_data.to_dict() compare_results(results, test_pom_loc, expected_json_loc, regen) class TestMavenMisc(BaseMavenCase): test_data_dir = os.path.join(os.path.dirname(__file__), 'data') - def test_parse_pom_non_pom(self): + def test_parse_pom_non_pom_raise_expection(self): test_pom_loc = self.get_test_loc('maven_misc/non-maven.pom') - results = parse_pom(location=test_pom_loc, check_is_pom=True) - assert results == {} - self.check_parse_pom(test_pom_loc, regen=REGEN_TEST_FIXTURES) + try: + parse_pom(location=test_pom_loc) + raise Exception('Exception not raised') + except Exception: + pass def test_MavenPom_simple_creation(self): test_loc = self.get_test_loc('maven_misc/mini-pom.xml') @@ -199,30 +199,19 @@ def test_parse_to_package_base(self): test_file = self.get_test_loc('maven_misc/spring-beans-4.2.2.RELEASE.pom.xml') self.check_parse_pom(test_file, regen=REGEN_TEST_FIXTURES) - def test_parse_to_package_and_validate(self): - test_file = self.get_test_loc('maven_misc/spring-beans-4.2.2.RELEASE.pom.xml') - packages = maven.PomXml.recognize(test_file) - package = list(packages).pop() - assert isinstance(package, maven.PomXml) - def test_parse_to_package_then_back(self): test_file = self.get_test_loc('maven_misc/spring-beans-4.2.2.RELEASE.pom.xml') - packages = maven.PomXml.recognize(test_file) + packages = maven.MavenPomXmlHandler.parse(location=test_file) package = list(packages).pop() - package2 = maven.MavenPomPackageData.create(**package.to_dict()) + package2 = models.PackageData.from_dict(package.to_dict()) assert package2.to_dict().items() == package.to_dict().items() - def test_package_root_is_properly_returned_for_metainf_poms(self): - from packagedcode.plugin_package import PackageScanner - test_dir = self.get_test_loc('maven_misc/package_root') - codebase = Codebase(test_dir, resource_attributes=PackageScanner.resource_attributes) - manifest_resource = [r for r in codebase.walk() if r.name == 'pom.xml'][0] - packages = list(maven.PomXml.recognize(manifest_resource.location)) - assert packages - manifest_resource.package_data.append(packages[0].to_dict()) - manifest_resource.save(codebase) - proot = maven.MavenPomPackageData.get_package_root(manifest_resource, codebase) - assert proot.name == 'activiti-image-generator-7-201802-EA-sources.jar-extract' + def test_package_with_extracted_jars_and_metainf_poms_is_detected_correctly(self): + test_dir = self.get_test_loc('maven_misc/extracted-jar') + result_file = self.get_temp_file('json') + expected_file = self.get_test_loc('maven_misc/extracted-jar-expected.json') + run_scan_click(['--package', '--processes', '-1', test_dir, '--json', result_file]) + check_json_scan(expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES) def test_package_dependency_not_missing(self): test_file = self.get_test_loc('maven2/log4j/log4j-pom.xml') @@ -342,17 +331,14 @@ def test_get_properties_advanced(self): def test_parse_can_run_without_pom_check(self): test_loc = self.get_test_loc('maven_misc/ant-1.6.5.maven') - poms = maven.PomXml.recognize(test_loc, check_is_pom=False) - pom = list(poms).pop() - assert pom - poms = maven.PomXml.recognize(test_loc, check_is_pom=True) + poms = maven.MavenPomXmlHandler.parse(test_loc) pom = list(poms) assert not pom def test_parse_will_load_extra_pom_properties_if_file_present(self): # there is a file at maven2_props/props_file/activiti-image-generator/pom.properties test_loc = self.get_test_loc('maven2_props/props_file/activiti-image-generator/pom.xml') - poms = maven.PomXml.recognize(test_loc, check_is_pom=False) + poms = maven.MavenPomXmlHandler.parse(test_loc) pom = list(poms).pop() assert pom.namespace == 'org.activiti' @@ -510,6 +496,7 @@ class TestMavenDataDrivenPomMisc(BaseMavenCase): pytestmark = pytest.mark.scanslow test_data_dir = os.path.join(os.path.dirname(__file__), 'data') + build_tests(test_dir='maven_misc/parse', clazz=TestMavenDataDrivenPomMisc, prefix='test_maven2_parse_misc_', check_pom=True, regen=REGEN_TEST_FIXTURES) @@ -520,6 +507,7 @@ class TestMavenDataDrivenPomMisc(BaseMavenCase): class TestMavenDataDrivenPomBasic(BaseMavenCase): test_data_dir = os.path.join(os.path.dirname(__file__), 'data') + build_tests(test_dir='maven2', clazz=TestMavenDataDrivenPomBasic, prefix='test_maven2_basic_parse_', check_pom=True, regen=REGEN_TEST_FIXTURES) build_tests(test_dir='maven2', clazz=TestMavenDataDrivenPomBasic, @@ -530,6 +518,7 @@ class TestMavenDataDrivenPomComprehensive(BaseMavenCase): pytestmark = pytest.mark.scanslow test_data_dir = os.path.join(os.path.dirname(__file__), 'data') + # note: we use short dir names to deal with Windows long paths limitations build_tests(test_dir='m2', clazz=TestMavenDataDrivenPomComprehensive, prefix='test_maven2_parse', check_pom=True, regen=REGEN_TEST_FIXTURES) diff --git a/tests/packagedcode/test_msi.py b/tests/packagedcode/test_msi.py index 8a7f9b80fe8..9704628ddaa 100644 --- a/tests/packagedcode/test_msi.py +++ b/tests/packagedcode/test_msi.py @@ -13,11 +13,11 @@ from commoncode.system import on_linux +from packagedcode import models from packagedcode.models import Party -from packagedcode.msi import create_package_from_msiinfo_results -from packagedcode.msi import MsiInstallerPackage +from packagedcode.msi import create_package_data_from_msiinfo_results from packagedcode.msi import parse_msiinfo_suminfo_output - +from packagedcode.msi import MsiInstallerHandler from packages_test_utils import PackageTester @@ -43,15 +43,19 @@ class TestMsi(PackageTester): def test_msi_parse_msiinfo_suminfo_output(self): test_file = self.get_test_loc('msi/python-add-to-path-msiinfo-results.txt') - expected_loc = self.get_test_loc('msi/python-add-to-path-msiinfo-results.expected') with open(test_file) as f: msiinfo_results = f.read() result = parse_msiinfo_suminfo_output(msiinfo_results) - self.assertEqual(result, self.python_3_9_5_add_to_path_results) - def test_msi_create_package_from_msiinfo_results(self): - result = create_package_from_msiinfo_results(self.python_3_9_5_add_to_path_results) - expected = MsiInstallerPackage( + assert result == self.python_3_9_5_add_to_path_results + + def test_msi_create_package_data_from_msiinfo_results(self): + result = create_package_data_from_msiinfo_results( + self.python_3_9_5_add_to_path_results.copy() + ).to_dict() + expected = models.PackageData( + type=MsiInstallerHandler.default_package_type, + datasource_id=MsiInstallerHandler.datasource_id, name='Python 3.9.5 Add to Path (64-bit)', version='v 3.9.5', description='This installer database contains the logic and data required to install Python 3.9.5 Add to Path (64-bit).', @@ -63,6 +67,6 @@ def test_msi_create_package_from_msiinfo_results(self): ) ], keywords='Installer', - extra_data=self.python_3_9_5_add_to_path_results - ) - self.assertEqual(result, expected) + ).to_dict() + result['extra_data'] = {} + assert result == expected diff --git a/tests/packagedcode/test_npm.py b/tests/packagedcode/test_npm.py index a9e5940be4d..89c4a1d4aae 100644 --- a/tests/packagedcode/test_npm.py +++ b/tests/packagedcode/test_npm.py @@ -11,11 +11,11 @@ import pytest -from commoncode.resource import Codebase - from packagedcode import npm from packages_test_utils import PackageTester from scancode_config import REGEN_TEST_FIXTURES +from scancode.cli_test_utils import run_scan_click +from scancode.cli_test_utils import check_json_scan class TestNpm(PackageTester): @@ -59,231 +59,269 @@ def test_parse_person_dict4(self): 'url': 'http://example.com'} assert npm.parse_person(test) == ('Isaac Z. Schlueter', 'me@this.com' , 'http://example.com') - def test_is_manifest_package_json(self): + def test_is_datafile_package_json(self): test_file = self.get_test_loc('npm/dist/package.json') - assert npm.PackageJson.is_package_data_file(test_file) + assert npm.NpmPackageJsonHandler.is_datafile(test_file) def test_parse_dist_with_string_values(self): test_file = self.get_test_loc('npm/dist/package.json') expected_loc = self.get_test_loc('npm/dist/package.json.expected') - packages = npm.PackageJson.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = npm.NpmPackageJsonHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_as_installed(self): test_file = self.get_test_loc('npm/as_installed/package.json') expected_loc = self.get_test_loc('npm/as_installed/package.json.expected') - packages = npm.PackageJson.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = npm.NpmPackageJsonHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_authors_list_dicts(self): # See: https://github.com/csscomb/grunt-csscomb/blob/master/package.json test_file = self.get_test_loc('npm/authors_list_dicts/package.json') expected_loc = self.get_test_loc('npm/authors_list_dicts/package.json.expected') - packages = npm.PackageJson.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = npm.NpmPackageJsonHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_authors_list_strings(self): # See: https://github.com/chenglou/react-motion/blob/master/package.json test_file = self.get_test_loc('npm/authors_list_strings/package.json') expected_loc = self.get_test_loc('npm/authors_list_strings/package.json.expected') - packages = npm.PackageJson.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = npm.NpmPackageJsonHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_authors_list_strings2(self): # See: https://github.com/gomfunkel/node-exif/blob/master/package.json test_file = self.get_test_loc('npm/authors_list_strings2/package.json') expected_loc = self.get_test_loc('npm/authors_list_strings2/package.json.expected') - packages = npm.PackageJson.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = npm.NpmPackageJsonHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_basic(self): test_file = self.get_test_loc('npm/basic/package.json') expected_loc = self.get_test_loc('npm/basic/package.json.expected') - packages = npm.PackageJson.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = npm.NpmPackageJsonHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_bundleddeps(self): test_file = self.get_test_loc('npm/bundledDeps/package.json') expected_loc = self.get_test_loc('npm/bundledDeps/package.json.expected') - packages = npm.PackageJson.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = npm.NpmPackageJsonHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_faulty_npm(self): test_file = self.get_test_loc('npm/casepath/package.json') expected_loc = self.get_test_loc('npm/casepath/package.json.expected') - packages = npm.PackageJson.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = npm.NpmPackageJsonHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_legacy_licenses(self): test_file = self.get_test_loc('npm/chartist/package.json') expected_loc = self.get_test_loc('npm/chartist/package.json.expected') - packages = npm.PackageJson.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = npm.NpmPackageJsonHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_from_npmjs(self): test_file = self.get_test_loc('npm/from_npmjs/package.json') expected_loc = self.get_test_loc('npm/from_npmjs/package.json.expected') - packages = npm.PackageJson.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = npm.NpmPackageJsonHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_package_json_from_tarball_with_deps(self): test_file = self.get_test_loc('npm/from_tarball/package.json') expected_loc = self.get_test_loc('npm/from_tarball/package.json.expected') - packages = npm.PackageJson.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = npm.NpmPackageJsonHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_invalid_json(self): test_file = self.get_test_loc('npm/invalid/package.json') try: - npm.PackageJson.recognize(test_file) + npm.NpmPackageJsonHandler.parse(test_file) except ValueError as e: assert 'Expecting value: line 60 column 3' in str(e) def test_parse_keywords(self): test_file = self.get_test_loc('npm/keywords/package.json') expected_loc = self.get_test_loc('npm/keywords/package.json.expected') - packages = npm.PackageJson.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = npm.NpmPackageJsonHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_legacy_licenses_as_dict(self): test_file = self.get_test_loc('npm/legacy_license_dict/package.json') expected_loc = self.get_test_loc('npm/legacy_license_dict/package.json.expected') - packages = npm.PackageJson.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = npm.NpmPackageJsonHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_double_legacy_licenses_as_dict(self): test_file = self.get_test_loc('npm/double_license/package.json') expected_loc = self.get_test_loc('npm/double_license/package.json.expected') - packages = npm.PackageJson.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = npm.NpmPackageJsonHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_nodep(self): test_file = self.get_test_loc('npm/nodep/package.json') expected_loc = self.get_test_loc('npm/nodep/package.json.expected') - packages = npm.PackageJson.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = npm.NpmPackageJsonHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_does_not_crash_if_partial_repo_url(self): test_file = self.get_test_loc('npm/repo_url/package.json') expected_loc = self.get_test_loc('npm/repo_url/package.json.expected') - packages = npm.PackageJson.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = npm.NpmPackageJsonHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_scoped_package_1(self): test_file = self.get_test_loc('npm/scoped1/package.json') expected_loc = self.get_test_loc('npm/scoped1/package.json.expected') - packages = npm.PackageJson.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = npm.NpmPackageJsonHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_scoped_package_2(self): test_file = self.get_test_loc('npm/scoped2/package.json') expected_loc = self.get_test_loc('npm/scoped2/package.json.expected') - packages = npm.PackageJson.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = npm.NpmPackageJsonHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_from_npm_authors_with_email_list(self): # See: sequelize test_file = self.get_test_loc('npm/sequelize/package.json') expected_loc = self.get_test_loc('npm/sequelize/package.json.expected') - packages = npm.PackageJson.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = npm.NpmPackageJsonHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_from_urls_dict_legacy_is_ignored(self): test_file = self.get_test_loc('npm/urls_dict/package.json') expected_loc = self.get_test_loc('npm/urls_dict/package.json.expected') - packages = npm.PackageJson.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = npm.NpmPackageJsonHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_from_uri_vcs(self): test_file = self.get_test_loc('npm/uri_vcs/package.json') expected_loc = self.get_test_loc('npm/uri_vcs/package.json.expected') - packages = npm.PackageJson.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = npm.NpmPackageJsonHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_registry_old_format(self): test_file = self.get_test_loc('npm/old_registry/package.json') expected_loc = self.get_test_loc('npm/old_registry/package.json.expected') - packages = npm.PackageJson.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = npm.NpmPackageJsonHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_with_homepage_as_list(self): test_file = self.get_test_loc('npm/homepage-as-list/package.json') expected_loc = self.get_test_loc('npm/homepage-as-list/package.json.expected') - packages = npm.PackageJson.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = npm.NpmPackageJsonHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_with_invalid_dep(self): test_file = self.get_test_loc('npm/invalid-dep/package.json') expected_loc = self.get_test_loc('npm/invalid-dep/package.json.expected') - packages = npm.PackageJson.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = npm.NpmPackageJsonHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_utils_merge_1_0_0(self): test_file = self.get_test_loc('npm/utils-merge-1.0.0/package.json') expected_loc = self.get_test_loc( 'npm/utils-merge-1.0.0/package.json.expected') - packages = npm.PackageJson.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = npm.NpmPackageJsonHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_mime_1_3_4(self): test_file = self.get_test_loc('npm/mime-1.3.4/package.json') expected_loc = self.get_test_loc( 'npm/mime-1.3.4/package.json.expected') - packages = npm.PackageJson.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = npm.NpmPackageJsonHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_express_jwt_3_4_0(self): test_file = self.get_test_loc('npm/express-jwt-3.4.0/package.json') expected_loc = self.get_test_loc( 'npm/express-jwt-3.4.0/package.json.expected') - packages = npm.PackageJson.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = npm.NpmPackageJsonHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + + def test_is_datafile_package_lock_json_v1(self): + test_file = self.get_test_loc('npm/package-lock-v1/package-lock.json') + assert npm.NpmPackageLockJsonHandler.is_datafile(test_file) + + def test_parse_package_lock_v1(self): + test_file = self.get_test_loc('npm/package-lock-v1/package-lock.json') + expected_loc = self.get_test_loc( + 'npm/package-lock-v1/package-lock.json-expected') + packages = npm.NpmPackageLockJsonHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) - def test_is_manifest_package_lock_json(self): - test_file = self.get_test_loc('npm/package-lock/package-lock.json') - assert npm.PackageLockJson.is_package_data_file(test_file) + def test_is_datafile_package_lock_json_v2(self): + test_file = self.get_test_loc('npm/package-lock-v2/package-lock.json') + assert npm.NpmPackageLockJsonHandler.is_datafile(test_file) - def test_parse_package_lock(self): - test_file = self.get_test_loc('npm/package-lock/package-lock.json') + def test_parse_package_lock_v2(self): + test_file = self.get_test_loc('npm/package-lock-v2/package-lock.json') expected_loc = self.get_test_loc( - 'npm/package-lock/package-lock.json-expected') - packages = npm.PackageLockJson.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + 'npm/package-lock-v2/package-lock.json-expected') + packages = npm.NpmPackageLockJsonHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) - def test_is_manifest_npm_shrinkwrap_json(self): + def test_parse_package_lock_v2_2(self): + test_file = self.get_test_loc('npm/package-lock-v2-2/package-lock.json') + expected_loc = self.get_test_loc( + 'npm/package-lock-v2-2/package-lock.json-expected') + packages = npm.NpmPackageLockJsonHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + + def test_is_datafile_npm_shrinkwrap_json(self): test_file = self.get_test_loc('npm/npm-shrinkwrap/npm-shrinkwrap.json') - assert npm.PackageLockJson.is_package_data_file(test_file) + assert npm.NpmShrinkwrapJsonHandler.is_datafile(test_file) def test_parse_npm_shrinkwrap(self): test_file = self.get_test_loc('npm/npm-shrinkwrap/npm-shrinkwrap.json') expected_loc = self.get_test_loc( 'npm/npm-shrinkwrap/npm-shrinkwrap.json-expected') - packages = npm.PackageLockJson.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = npm.NpmShrinkwrapJsonHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_with_name(self): test_file = self.get_test_loc('npm/with_name/package.json') expected_loc = self.get_test_loc('npm/with_name/package.json.expected') - packages = npm.PackageJson.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = npm.NpmPackageJsonHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_without_name(self): test_file = self.get_test_loc('npm/without_name/package.json') try: - npm.PackageJson.recognize(test_file) + npm.NpmPackageJsonHandler.parse(test_file) except AttributeError as e: assert "'NoneType' object has no attribute 'to_dict'" in str(e) - def test_is_manifest_yarn_lock(self): - test_file = self.get_test_loc('npm/yarn-lock/yarn.lock') - assert npm.YarnLockJson.is_package_data_file(test_file) + def test_is_datafile_yarn_lock_v1(self): + test_file = self.get_test_loc('npm/yarn-lock/v1/yarn.lock') + assert npm.YarnLockV1Handler.is_datafile(test_file) + assert not npm.YarnLockV2Handler.is_datafile(test_file) - def test_parse_yarn_lock(self): - test_file = self.get_test_loc('npm/yarn-lock/yarn.lock') + def test_parse_yarn_lock_v1(self): + test_file = self.get_test_loc('npm/yarn-lock/v1/yarn.lock') expected_loc = self.get_test_loc( - 'npm/yarn-lock/yarn.lock-expected') - packages = npm.YarnLockJson.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + 'npm/yarn-lock/v1/yarn.lock-expected') + packages = npm.YarnLockV1Handler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + + def test_parse_yarn_lock_v1_complex(self): + test_file = self.get_test_loc('npm/yarn-lock/v1-complex/yarn.lock') + expected_loc = self.get_test_loc( + 'npm/yarn-lock/v1-complex/yarn.lock-expected') + packages = npm.YarnLockV1Handler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + + def test_is_datafile_yarn_lock_v2(self): + test_file = self.get_test_loc('npm/yarn-lock/v2/yarn.lock') + assert npm.YarnLockV2Handler.is_datafile(test_file) + assert not npm.YarnLockV1Handler.is_datafile(test_file) + + def test_parse_yarn_lock_v2(self): + test_file = self.get_test_loc('npm/yarn-lock/v2/yarn.lock') + expected_loc = self.get_test_loc( + 'npm/yarn-lock/v2/yarn.lock-expected') + packages = npm.YarnLockV2Handler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) def test_vcs_repository_mapper(self): package = MockPackage() @@ -308,16 +346,22 @@ def test_vcs_repository_mapper_handles_version_on_gh(self): assert result.vcs_url == expected def test_npm_get_package_resources(self): - test_loc = self.get_test_loc('npm/get_package_resources') - codebase = Codebase(test_loc) - root = codebase.root - expected = [ - 'get_package_resources', - 'get_package_resources/package.json', - 'get_package_resources/this-should-be-returned' - ] - results = [r.path for r in npm.NpmPackage.get_package_resources(root, codebase)] - assert results == expected + test_file = self.get_test_loc('npm/get_package_resources') + expected_file = self.get_test_loc('npm/get_package_resources.scan.expected.json', must_exist=False) + result_file = self.get_temp_file('results.json') + run_scan_click(['--package', test_file, '--json', result_file]) + check_json_scan( + expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES + ) + + def test_scan_cli_works(self): + test_file = self.get_test_loc('npm/scan-nested/scan') + expected_file = self.get_test_loc('npm/scan-nested/scan.expected.json', must_exist=False) + result_file = self.get_temp_file('results.json') + run_scan_click(['--package', test_file, '--json', result_file]) + check_json_scan( + expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES + ) test_data = [ @@ -328,11 +372,11 @@ def test_npm_get_package_resources(self): ([{'type': 'Freeware', 'url': 'https://github.com/foor/bar'}], 'unknown-license-reference'), ([{'type': 'patent grant', 'url': 'Freeware'}], 'unknown'), - ([{'type': 'GPLv2', 'url': 'https://example.com/licenses/GPLv2'}, + ([{'type': 'GPLv2', 'url': 'https://example.com/licenses/GPLv2'}, {'type': 'MIT', 'url': 'https://example.com/licenses/MIT'}, ], '(gpl-2.0 AND (gpl-2.0 AND unknown)) AND (mit AND (mit AND unknown))'), - ([{'type': 'GPLv2', 'url': 'http://www.gnu.org/licenses/gpl-2.0.html'}, + ([{'type': 'GPLv2', 'url': 'http://www.gnu.org/licenses/gpl-2.0.html'}, {'type': 'MIT', 'url': 'https://example.com/licenses/MIT'}, ], 'gpl-2.0 AND (mit AND (mit AND unknown))'), @@ -341,6 +385,8 @@ def test_npm_get_package_resources(self): (['For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license.'], 'unknown-license-reference AND unknown'), (['See License in ./LICENSE file'], 'unknown-license-reference AND unknown'), ] + + @pytest.mark.parametrize('declared_license,expected_expression', test_data) def test_compute_normalized_license_from_declared(declared_license, expected_expression): result = npm.compute_normalized_license(declared_license) diff --git a/tests/packagedcode/test_nuget.py b/tests/packagedcode/test_nuget.py index 8a59222199f..37298a45c7e 100644 --- a/tests/packagedcode/test_nuget.py +++ b/tests/packagedcode/test_nuget.py @@ -19,40 +19,40 @@ class TestNuget(PackageTester): def test_nuspec_is_package_data_file(self): test_file = self.get_test_loc('nuget/bootstrap.nuspec') - assert nuget.Nuspec.is_package_data_file(test_file) + assert nuget.NugetNuspecHandler.is_datafile(test_file) def test_parse_creates_package_from_nuspec_bootstrap(self): test_file = self.get_test_loc('nuget/bootstrap.nuspec') - package = nuget.Nuspec.recognize(test_file) + package = nuget.NugetNuspecHandler.parse(test_file) expected_loc = self.get_test_loc('nuget/bootstrap.nuspec.json.expected') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_creates_package_from_nuspec_entity_framework(self): test_file = self.get_test_loc('nuget/EntityFramework.nuspec') - package = nuget.Nuspec.recognize(test_file) + package = nuget.NugetNuspecHandler.parse(test_file) expected_loc = self.get_test_loc('nuget/EntityFramework.nuspec.json.expected') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_creates_package_from_nuspec_jquery_ui(self): test_file = self.get_test_loc('nuget/jQuery.UI.Combined.nuspec') - package = nuget.Nuspec.recognize(test_file) + package = nuget.NugetNuspecHandler.parse(test_file) expected_loc = self.get_test_loc('nuget/jQuery.UI.Combined.nuspec.json.expected') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_creates_package_from_nuspec_microsoft_asp_mvc(self): test_file = self.get_test_loc('nuget/Microsoft.AspNet.Mvc.nuspec') - package = nuget.Nuspec.recognize(test_file) + package = nuget.NugetNuspecHandler.parse(test_file) expected_loc = self.get_test_loc('nuget/Microsoft.AspNet.Mvc.nuspec.json.expected') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_creates_package_from_nuspec(self): test_file = self.get_test_loc('nuget/Microsoft.Net.Http.nuspec') - package = nuget.Nuspec.recognize(test_file) + package = nuget.NugetNuspecHandler.parse(test_file) expected_loc = self.get_test_loc('nuget/Microsoft.Net.Http.nuspec.json.expected') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_as_package(self): test_file = self.get_test_loc('nuget/Castle.Core.nuspec') - package = nuget.Nuspec.recognize(test_file) + package = nuget.NugetNuspecHandler.parse(test_file) expected_loc = self.get_test_loc('nuget/Castle.Core.nuspec.json.expected') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) diff --git a/tests/packagedcode/test_opam.py b/tests/packagedcode/test_opam.py index 5d3d23c80a8..043bc0f7b0d 100644 --- a/tests/packagedcode/test_opam.py +++ b/tests/packagedcode/test_opam.py @@ -21,55 +21,55 @@ class TestOcaml(PackageTester): def test_is_manifest_cargo_toml(self): test_file = self.get_test_loc('opam/sample1/sample1.opam') - assert opam.OpamFile.is_package_data_file(test_file) + assert opam.OpamFileHandler.is_datafile(test_file) def test_parse_sample1(self): test_file = self.get_test_loc('opam/sample1/sample1.opam') expected_loc = self.get_test_loc('opam/sample1/output.opam.expected') - packages = opam.OpamFile.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = opam.OpamFileHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_sample2(self): test_file = self.get_test_loc('opam/sample2/sample2.opam') expected_loc = self.get_test_loc('opam/sample2/output.opam.expected') - packages = opam.OpamFile.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = opam.OpamFileHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_sample3(self): test_file = self.get_test_loc('opam/sample3/sample3.opam') expected_loc = self.get_test_loc('opam/sample3/output.opam.expected') - packages = opam.OpamFile.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = opam.OpamFileHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_sample4(self): test_file = self.get_test_loc('opam/sample4/opam') expected_loc = self.get_test_loc('opam/sample4/output.opam.expected') - packages = opam.OpamFile.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = opam.OpamFileHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_sample5(self): test_file = self.get_test_loc('opam/sample5/opam') expected_loc = self.get_test_loc('opam/sample5/output.opam.expected') - packages = opam.OpamFile.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = opam.OpamFileHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_sample6(self): test_file = self.get_test_loc('opam/sample6/sample6.opam') expected_loc = self.get_test_loc('opam/sample6/output.opam.expected') - packages = opam.OpamFile.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = opam.OpamFileHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_sample7(self): test_file = self.get_test_loc('opam/sample7/sample7.opam') expected_loc = self.get_test_loc('opam/sample7/output.opam.expected') - packages = opam.OpamFile.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = opam.OpamFileHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_sample8(self): test_file = self.get_test_loc('opam/sample8/opam') expected_loc = self.get_test_loc('opam/sample8/output.opam.expected') - packages = opam.OpamFile.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = opam.OpamFileHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) FILE_LINE = [ diff --git a/tests/packagedcode/test_package_instance.py b/tests/packagedcode/test_package_instance.py index 64193265367..10f74ffd82a 100644 --- a/tests/packagedcode/test_package_instance.py +++ b/tests/packagedcode/test_package_instance.py @@ -11,11 +11,12 @@ import json import os -from packagedcode.pypi import PythonPackage +from packagedcode import models from packages_test_utils import PackageTester from scancode.cli_test_utils import check_json_scan from scancode.cli_test_utils import run_scan_click from scancode_config import REGEN_TEST_FIXTURES +import pytest class TestPackageAndDependency(PackageTester): @@ -26,47 +27,21 @@ def test_package_instance_scan_python(self): result_file = self.get_temp_file('json') expected_file = self.get_test_loc('instance/python-package-instance-expected.json') run_scan_click(['--package', '--strip-root', '--processes', '-1', test_dir, '--json', result_file]) - check_json_scan(expected_file, result_file, regen=REGEN_TEST_FIXTURES, remove_instance_uuid=True) + check_json_scan(expected_file, result_file, regen=REGEN_TEST_FIXTURES, remove_uuid=True) # Note that this will fail even at regen True. # Will pass on the next regen False run. - # ToDo: Use moking instead + # ToDo: Use mocking instead def test_package_instance_scan_python_with_uuid(self): test_dir = self.get_test_loc('instance/pypi') result_file = self.get_temp_file('json') expected_file = self.get_test_loc('instance/python-package-instance-expected-with-uuid.json') run_scan_click(['--package', '--strip-root', '--processes', '-1', test_dir, '--json', result_file]) - check_json_scan(expected_file, result_file, regen=REGEN_TEST_FIXTURES, ignore_instance_uuid=True) + check_json_scan(expected_file, result_file, regen=REGEN_TEST_FIXTURES, remove_uuid=True) def test_package_instance_scan_python_with_test_manifests(self): test_dir = self.get_test_loc('instance/pypi-with-test-manifests') result_file = self.get_temp_file('json') expected_file = self.get_test_loc('instance/python-package-instance-expected-with-test-manifests.json') run_scan_click(['--package', '--strip-root', '--processes', '-1', test_dir, '--json', result_file]) - check_json_scan(expected_file, result_file, regen=REGEN_TEST_FIXTURES, remove_instance_uuid=True) - - def test_package_data_merge_generic(self, regen=REGEN_TEST_FIXTURES): - input_file = self.get_test_loc('instance/python-manifests-click-scanned.json') - expected_file = self.get_test_loc('instance/python-manifests-click-scanned-result.json') - - with io.open(input_file, encoding='utf-8') as res: - manifests = json.load(res) - - pk_instance = PythonPackage() - for manifest in manifests: - pk_instance.update(manifest) - - self.check_package(pk_instance, expected_file, regen) - - def test_package_data_merge_with_dependencies(self, regen=REGEN_TEST_FIXTURES): - input_file = self.get_test_loc('instance/python-manifests-atomicwrites-scanned.json') - expected_file = self.get_test_loc('instance/python-manifests-atomicwrites-scanned-result.json') - - with io.open(input_file, encoding='utf-8') as res: - manifests = json.load(res) - - pk_instance = PythonPackage() - for manifest in manifests: - pk_instance.update(manifest) - - self.check_package(pk_instance, expected_file, regen) + check_json_scan(expected_file, result_file, regen=REGEN_TEST_FIXTURES, remove_uuid=True) diff --git a/tests/packagedcode/test_package_models.py b/tests/packagedcode/test_package_models.py index 1aa57fdd43d..825bdeb4557 100644 --- a/tests/packagedcode/test_package_models.py +++ b/tests/packagedcode/test_package_models.py @@ -9,9 +9,9 @@ import os.path +from packagedcode import misc from packagedcode import models -from packagedcode import PACKAGE_INSTANCE_CLASSES -from packagedcode import PACKAGE_DATA_CLASSES +from packagedcode import PACKAGE_DATAFILE_HANDLERS from packagedcode.models import PackageData from packagedcode.models import Party from packages_test_utils import PackageTester @@ -22,15 +22,17 @@ class TestModels(PackageTester): test_data_dir = os.path.join(os.path.dirname(__file__), 'data') def test_Package_creation_and_dump(self): - package = models.AndroidApp(name='someAndroidPAcakge') + pd = misc.AndroidAppArchiveHandler.create_default_package_data( + name='someAndroidPAcakge', + ) expected = [ - ('type', u'android'), + ('type', 'android'), ('namespace', None), - ('name', u'someAndroidPAcakge'), + ('name', 'someAndroidPAcakge'), ('version', None), ('qualifiers', {}), ('subpath', None), - ('primary_language', u'Java'), + ('primary_language', 'Java'), ('description', None), ('release_date', None), ('parties', []), @@ -49,59 +51,47 @@ def test_Package_creation_and_dump(self): ('license_expression', None), ('declared_license', None), ('notice_text', None), - ('contains_source_code', None), ('source_packages', []), + ('file_references', []), ('extra_data', {}), ('dependencies', []), - ('purl', u'pkg:android/someAndroidPAcakge'), ('repository_homepage_url', None), ('repository_download_url', None), ('api_data_url', None), + ('datasource_id', 'android_apk'), + ('purl', 'pkg:android/someAndroidPAcakge'), ] - assert list(package.to_dict().items()) == expected + assert list(pd.to_dict().items()) == expected def test_Package_simple(self): package = PackageData( + datasource_id = 'rpm_archive', type='rpm', name='Sample', description='Some package', - parties=[Party( - name='Some Author', - role='author', - email='some@email.com' - ) - ], + parties=[Party(name='Some Author', role='author', email='some@email.com')], keywords=['some', 'keyword'], vcs_url='git+https://somerepo.com/that.git', - declared_license='apache-2.0' + declared_license='apache-2.0', ) expected_loc = 'models/simple-expected.json' - self.check_package(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_package_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_Package_model_qualifiers_are_serialized_as_mappings(self): package = models.PackageData( - type='maven', - name='this', - version='23', - qualifiers=dict(this='that') + type='maven', name='this', version='23', qualifiers=dict(this='that') ) assert package.to_dict()['qualifiers'] == dict(this='that') def test_Package_model_qualifiers_are_kept_as_mappings(self): package = models.PackageData( - type='maven', - name='this', - version='23', - qualifiers=dict(this='that') + type='maven', name='this', version='23', qualifiers=dict(this='that') ) assert package.qualifiers == dict(this='that') def test_Package_model_qualifiers_are_converted_to_mappings(self): package = models.PackageData( - type='maven', - name='this', - version='23', - qualifiers='this=that' + type='maven', name='this', version='23', qualifiers='this=that' ) assert package.qualifiers == dict(this='that') @@ -117,13 +107,7 @@ def test_Package_full(self): description='Some package', size=12312312312, release_date='2012-10-21', - parties=[ - Party( - name='Some Author', - role='author', - email='some@email.com' - ) - ], + parties=[Party(name='Some Author', role='author', email='some@email.com')], keywords=['some', 'other', 'keyword'], homepage_url='http://homepage.com', download_url='http://homepage.com/dnl', @@ -138,82 +122,33 @@ def test_Package_full(self): license_expression='apache-2.0', declared_license=u'apache-2.0', notice_text='licensed under the apacche 2.0 \nlicense', - contains_source_code=True, - source_packages=[ - "pkg:maven/aspectj/aspectjtools@1.5.4?classifier=sources" - ], + source_packages=["pkg:maven/aspectj/aspectjtools@1.5.4?classifier=sources"], ) expected_loc = 'models/full-expected.json' - self.check_package(package, expected_loc, regen=REGEN_TEST_FIXTURES) - - def test_Package_get_package_resource_works_with_nested_packages_and_ignores(self): - from packagedcode import get_package_instance - from packagedcode import npm - from commoncode.resource import VirtualCodebase - scan_loc = self.get_test_loc('models/nested-npm-packages.json') - codebase = VirtualCodebase(scan_loc) - for resource in codebase.walk(): - for package_data in resource.packages: - package = get_package_instance(package_data) - assert isinstance(package, npm.NpmPackageData) - package_resources = list(package.get_package_resources(resource, codebase)) - assert any(r.name == 'package.json' for r in package_resources), resource.path - - -class TestManifestInstanceModels(PackageTester): - - def test_package_data_types(self): - check_package_data_classes() - - def test_package_instance_types(self): - check_package_instance_classes() - - -def check_package_instance_classes(): - """ - Check that we don't have two package instance classes with the same - default_type. - """ - package_instances_by_type = { - cls.default_type: cls - for cls in PACKAGE_INSTANCE_CLASSES - } - - if len(package_instances_by_type) != len(PACKAGE_INSTANCE_CLASSES): - seen_types = {} - for pt in PACKAGE_INSTANCE_CLASSES: - pk_instance = pt() - assert pk_instance.default_type - seen = seen_types.get(pk_instance.default_type) - if seen: - msg = ('Invalid duplicated packagedcode.Package types: ' - '"{}:{}" and "{}:{}" have the same type.' - .format(pk_instance.default_type, pk_instance.__name__, seen.default_type, seen.__name__,)) - raise Exception(msg) - else: - seen_types[pk_instance.default_type] = pk_instance - - -def check_package_data_classes(): - """ - Check that we don't have two package manifest classes with the same - package_data_type. - """ - package_data_by_type = { - cls.default_type: cls - for cls in PACKAGE_DATA_CLASSES - } - - if len(package_data_by_type) != len(PACKAGE_DATA_CLASSES): - seen_types = {} - for pmt in PACKAGE_DATA_CLASSES: - manifest = pmt() - assert manifest.package_data_type - seen = seen_types.get(manifest.package_data_type) - if seen: - msg = ('Invalid duplicated packagedcode.Package types: ' - '"{}:{}" and "{}:{}" have the same type.' - .format(manifest.package_data_type, manifest.__name__, seen.package_data_type, seen.__name__,)) - raise Exception(msg) - else: - seen_types[manifest.package_data_type] = manifest + self.check_package_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) + + def test_package_data_datasource_id_are_unique(self): + """ + Check that we do not have two DataFileHandlers with the same + datasource_id and that all have one. + """ + seen = {} + for pdh in PACKAGE_DATAFILE_HANDLERS: + pdhid = pdh.datasource_id + assert pdhid + assert ( + pdh.datasource_id not in seen + ), f'Duplicated datasource_id: {pdh!r} with {seen[pdhid]!r}' + seen[pdh.datasource_id] = pdh + + def test_package_data_file_patterns_are_tuples(self): + """ + Check that all file patterns are tuples, as if they are + strings the matching will happen per character and will be + True for most of the cases. + """ + for pdh in PACKAGE_DATAFILE_HANDLERS: + if pdh.path_patterns: + assert type(pdh.path_patterns) == tuple, pdh + if pdh.filetypes: + assert type(pdh.filetypes) == tuple, pdh diff --git a/tests/packagedcode/test_phpcomposer.py b/tests/packagedcode/test_phpcomposer.py index f43a012427b..4de0e451ec6 100644 --- a/tests/packagedcode/test_phpcomposer.py +++ b/tests/packagedcode/test_phpcomposer.py @@ -39,50 +39,50 @@ def test_parse_person(self): def test_is_manifest_php_composer_json(self): test_file = self.get_test_loc('phpcomposer/a-timer/composer.json') - assert phpcomposer.ComposerJson.is_package_data_file(test_file) + assert phpcomposer.PhpComposerJsonHandler.is_datafile(test_file) def test_parse_atimer(self): test_file = self.get_test_loc('phpcomposer/a-timer/composer.json') expected_loc = self.get_test_loc('phpcomposer/a-timer/composer.json.expected') - packages = phpcomposer.ComposerJson.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = phpcomposer.PhpComposerJsonHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_framework(self): test_file = self.get_test_loc('phpcomposer/framework/composer.json') expected_loc = self.get_test_loc('phpcomposer/framework/composer.json.expected') - packages = phpcomposer.ComposerJson.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = phpcomposer.PhpComposerJsonHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_slim(self): test_file = self.get_test_loc('phpcomposer/slim/composer.json') expected_loc = self.get_test_loc('phpcomposer/slim/composer.json.expected') - packages = phpcomposer.ComposerJson.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = phpcomposer.PhpComposerJsonHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_modern(self): test_file = self.get_test_loc('phpcomposer/modern/composer.json') expected_loc = self.get_test_loc('phpcomposer/modern/composer.json.expected') - packages = phpcomposer.ComposerJson.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = phpcomposer.PhpComposerJsonHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_fake_license1(self): test_file = self.get_test_loc('phpcomposer/fake/composer.json') expected_loc = self.get_test_loc('phpcomposer/fake/composer.json.expected') - packages = phpcomposer.ComposerJson.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = phpcomposer.PhpComposerJsonHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_fake_license2(self): test_file = self.get_test_loc('phpcomposer/fake2/composer.json') expected_loc = self.get_test_loc('phpcomposer/fake2/composer.json.expected') - packages = phpcomposer.ComposerJson.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = phpcomposer.PhpComposerJsonHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) def test_is_manifest_php_composer_lock(self): test_file = self.get_test_loc('phpcomposer/composer.lock') - assert phpcomposer.ComposerLock.is_package_data_file(test_file) + assert phpcomposer.PhpComposerLockHandler.is_datafile(test_file) def test_parse_composer_lock(self): test_file = self.get_test_loc('phpcomposer/composer.lock') expected_loc = self.get_test_loc('phpcomposer/composer.lock-expected.json') - packages = phpcomposer.ComposerLock.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = phpcomposer.PhpComposerLockHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) diff --git a/tests/packagedcode/test_plugin.py b/tests/packagedcode/test_plugin_package.py similarity index 78% rename from tests/packagedcode/test_plugin.py rename to tests/packagedcode/test_plugin_package.py index 727d44c2d5a..4bbb4886a22 100644 --- a/tests/packagedcode/test_plugin.py +++ b/tests/packagedcode/test_plugin_package.py @@ -21,193 +21,193 @@ class TestPlugins(PackageTester): test_data_dir = os.path.join(os.path.dirname(__file__), 'data') - def test_package_list_command(self, regen=REGEN_TEST_FIXTURES): - expected_file = self.get_test_loc('plugin/help.txt') - result = run_scan_click(['--list-packages']) - if regen: - with open(expected_file, 'w') as ef: - ef.write(result.output) - assert result.output == open(expected_file).read() - - @skipIf(on_windows, 'somehow this fails on Windows') - def test_package_command_scan_python(self): - test_dir = self.get_test_loc('recon/pypi') - result_file = self.get_temp_file('json') - expected_file = self.get_test_loc('plugin/python-package-expected.json') - run_scan_click(['--package', '--strip-root', '--processes', '-1', test_dir, '--json', result_file]) - check_json_scan(expected_file, result_file, remove_instance_uuid=True, regen=REGEN_TEST_FIXTURES) - - def test_package_command_scan_maven(self): - test_dir = self.get_test_loc('maven2') - result_file = self.get_temp_file('json') - expected_file = self.get_test_loc('plugin/maven-package-expected.json') - run_scan_click(['--package', '--strip-root', '--processes', '-1', test_dir, '--json', result_file]) - check_json_scan(expected_file, result_file, remove_instance_uuid=True, regen=REGEN_TEST_FIXTURES) - def test_package_command_scan_about(self): test_dir = self.get_test_loc('about/aboutfiles/') result_file = self.get_temp_file('json') expected_file = self.get_test_loc('plugin/about-package-expected.json') run_scan_click(['--package', '--strip-root', '--processes', '-1', test_dir, '--json', result_file]) - check_json_scan(expected_file, result_file, remove_instance_uuid=True, regen=REGEN_TEST_FIXTURES) + check_json_scan(expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES) def test_package_command_scan_bower(self): test_dir = self.get_test_loc('bower/package') result_file = self.get_temp_file('json') expected_file = self.get_test_loc('plugin/bower-package-expected.json') run_scan_click(['--package', '--strip-root', '--processes', '-1', test_dir, '--json', result_file]) - check_json_scan(expected_file, result_file, remove_instance_uuid=True, regen=REGEN_TEST_FIXTURES) + check_json_scan(expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES) def test_package_command_scan_cargo(self): test_dir = self.get_test_loc('cargo/package') result_file = self.get_temp_file('json') expected_file = self.get_test_loc('plugin/cargo-package-expected.json') run_scan_click(['--package', '--strip-root', '--processes', '-1', test_dir, '--json', result_file]) - check_json_scan(expected_file, result_file, remove_instance_uuid=True, regen=REGEN_TEST_FIXTURES) + check_json_scan(expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES) def test_package_command_scan_chef(self): test_dir = self.get_test_loc('chef/package') result_file = self.get_temp_file('json') expected_file = self.get_test_loc('plugin/chef-package-expected.json') run_scan_click(['--package', '--strip-root', '--processes', '-1', test_dir, '--json', result_file]) - check_json_scan(expected_file, result_file, remove_instance_uuid=True, regen=REGEN_TEST_FIXTURES) + check_json_scan(expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES) def test_package_command_scan_conda(self): test_dir = self.get_test_loc('conda/package') result_file = self.get_temp_file('json') expected_file = self.get_test_loc('plugin/conda-package-expected.json') run_scan_click(['--package', '--strip-root', '--processes', '-1', test_dir, '--json', result_file]) - check_json_scan(expected_file, result_file, remove_instance_uuid=True, regen=REGEN_TEST_FIXTURES) + check_json_scan(expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES) + + def test_package_command_scan_cran_r_package(self): + test_dir = self.get_test_loc('cran/package') + result_file = self.get_temp_file('json') + expected_file = self.get_test_loc('plugin/cran-package-expected.json') + run_scan_click(['--package', '--strip-root', '--processes', '-1', test_dir, '--json', result_file]) + check_json_scan(expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES) def test_package_command_scan_freebsd(self): test_dir = self.get_test_loc('freebsd/package') result_file = self.get_temp_file('json') expected_file = self.get_test_loc('plugin/freebsd-package-expected.json') run_scan_click(['--package', '--strip-root', '--processes', '-1', test_dir, '--json', result_file]) - check_json_scan(expected_file, result_file, remove_instance_uuid=True, regen=REGEN_TEST_FIXTURES) + check_json_scan(expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES) def test_package_command_scan_haxe(self): test_dir = self.get_test_loc('haxe/package') result_file = self.get_temp_file('json') expected_file = self.get_test_loc('plugin/haxe-package-expected.json') run_scan_click(['--package', '--strip-root', '--processes', '-1', test_dir, '--json', result_file]) - check_json_scan(expected_file, result_file, remove_instance_uuid=True, regen=REGEN_TEST_FIXTURES) + check_json_scan(expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES) + + def test_package_command_scan_maven(self): + test_dir = self.get_test_loc('maven2') + result_file = self.get_temp_file('json') + expected_file = self.get_test_loc('plugin/maven-package-expected.json') + run_scan_click(['--package', '--strip-root', '--processes', '-1', test_dir, '--json', result_file]) + check_json_scan(expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES) def test_package_command_scan_npm(self): test_dir = self.get_test_loc('npm/package') result_file = self.get_temp_file('json') expected_file = self.get_test_loc('plugin/npm-package-expected.json') run_scan_click(['--package', '--strip-root', '--processes', '-1', test_dir, '--json', result_file]) - check_json_scan(expected_file, result_file, remove_instance_uuid=True, regen=REGEN_TEST_FIXTURES) + check_json_scan(expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES) def test_package_command_scan_nuget(self): test_dir = self.get_test_loc('nuget/package') result_file = self.get_temp_file('json') expected_file = self.get_test_loc('plugin/nuget-package-expected.json') run_scan_click(['--package', '--strip-root', '--processes', '-1', test_dir, '--json', result_file]) - check_json_scan(expected_file, result_file, remove_instance_uuid=True, regen=REGEN_TEST_FIXTURES) + check_json_scan(expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES) def test_package_command_scan_opam(self): test_dir = self.get_test_loc('opam/package') result_file = self.get_temp_file('json') expected_file = self.get_test_loc('plugin/opam-package-expected.json') run_scan_click(['--package', '--strip-root', '--processes', '-1', test_dir, '--json', result_file]) - check_json_scan(expected_file, result_file, remove_instance_uuid=True, regen=REGEN_TEST_FIXTURES) + check_json_scan(expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES) def test_package_command_scan_phpcomposer(self): test_dir = self.get_test_loc('phpcomposer/package') result_file = self.get_temp_file('json') expected_file = self.get_test_loc('plugin/phpcomposer-package-expected.json') run_scan_click(['--package', '--strip-root', '--processes', '-1', test_dir, '--json', result_file]) - check_json_scan(expected_file, result_file, remove_instance_uuid=True, regen=REGEN_TEST_FIXTURES) + check_json_scan(expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES) + + @skipIf(on_windows, 'somehow this fails on Windows') + def test_package_command_scan_python(self): + test_dir = self.get_test_loc('recon/pypi') + result_file = self.get_temp_file('json') + expected_file = self.get_test_loc('plugin/python-package-expected.json') + run_scan_click(['--package', '--strip-root', '--processes', '-1', test_dir, '--json', result_file]) + check_json_scan(expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES) def test_package_command_scan_rubygems(self): test_dir = self.get_test_loc('rubygems/package') result_file = self.get_temp_file('json') expected_file = self.get_test_loc('plugin/rubygems-package-expected.json') run_scan_click(['--package', '--strip-root', '--processes', '-1', test_dir, '--json', result_file]) - check_json_scan(expected_file, result_file, remove_instance_uuid=True, regen=REGEN_TEST_FIXTURES) + check_json_scan(expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES) def test_package_command_scan_rpm(self): test_dir = self.get_test_loc('rpm/package') result_file = self.get_temp_file('json') expected_file = self.get_test_loc('plugin/rpm-package-expected.json') run_scan_click(['--package', '--strip-root', '--processes', '-1', test_dir, '--json', result_file]) - check_json_scan(expected_file, result_file, remove_instance_uuid=True, regen=REGEN_TEST_FIXTURES) - - def test_package_command_scan_cran_r_package(self): - test_dir = self.get_test_loc('cran/package') - result_file = self.get_temp_file('json') - expected_file = self.get_test_loc('plugin/cran-package-expected.json') - run_scan_click(['--package', '--strip-root', '--processes', '-1', test_dir, '--json', result_file]) - check_json_scan(expected_file, result_file, remove_instance_uuid=True, regen=REGEN_TEST_FIXTURES) + check_json_scan(expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES) def test_package_command_scan_win_pe(self): test_dir = self.get_test_loc('win_pe/file.exe') result_file = self.get_temp_file('json') expected_file = self.get_test_loc('plugin/win_pe-package-expected.json') run_scan_click(['--package', '--strip-root', '--processes', '-1', test_dir, '--json', result_file]) - check_json_scan(expected_file, result_file, remove_instance_uuid=True, regen=REGEN_TEST_FIXTURES) + check_json_scan(expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES) def test_package_command_scan_mum(self): test_dir = self.get_test_loc('windows/mum/test.mum') result_file = self.get_temp_file('json') expected_file = self.get_test_loc('plugin/mum-package-expected.json') run_scan_click(['--package', '--strip-root', '--processes', '-1', test_dir, '--json', result_file]) - check_json_scan(expected_file, result_file, remove_instance_uuid=True, regen=REGEN_TEST_FIXTURES) + check_json_scan(expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES) def test_package_command_scan_pubspec_package(self): test_dir = self.get_test_loc('pubspec/specs/authors-pubspec.yaml') result_file = self.get_temp_file('json') expected_file = self.get_test_loc('plugin/pubspec-expected.json', must_exist=False) run_scan_click(['--package', '--strip-root', '--processes', '-1', test_dir, '--json', result_file]) - check_json_scan(expected_file, result_file, remove_instance_uuid=True, regen=REGEN_TEST_FIXTURES) + check_json_scan(expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES) def test_package_command_scan_pubspec_lock_package(self): test_dir = self.get_test_loc('pubspec/locks/dart-pubspec.lock') result_file = self.get_temp_file('json') expected_file = self.get_test_loc('plugin/pubspec-lock-expected.json', must_exist=False) run_scan_click(['--package', '--strip-root', '--processes', '-1', test_dir, '--json', result_file]) - check_json_scan(expected_file, result_file, remove_instance_uuid=True, regen=REGEN_TEST_FIXTURES) + check_json_scan(expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES) def test_package_command_scan_mui(self): test_dir = self.get_test_loc('win_pe/clfs.sys.mui') result_file = self.get_temp_file('json') expected_file = self.get_test_loc('plugin/mui-package-expected.json') run_scan_click(['--package', '--strip-root', '--processes', '-1', test_dir, '--json', result_file]) - check_json_scan(expected_file, result_file, remove_instance_uuid=True, regen=REGEN_TEST_FIXTURES) + check_json_scan(expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES) def test_package_command_scan_mun(self): test_dir = self.get_test_loc('win_pe/crypt32.dll.mun') result_file = self.get_temp_file('json') expected_file = self.get_test_loc('plugin/mun-package-expected.json') run_scan_click(['--package', '--strip-root', '--processes', '-1', test_dir, '--json', result_file]) - check_json_scan(expected_file, result_file, remove_instance_uuid=True, regen=REGEN_TEST_FIXTURES) + check_json_scan(expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES) def test_package_command_scan_com(self): test_dir = self.get_test_loc('win_pe/chcp.com') result_file = self.get_temp_file('json') expected_file = self.get_test_loc('plugin/com-package-expected.json') run_scan_click(['--package', '--strip-root', '--processes', '-1', test_dir, '--json', result_file]) - check_json_scan(expected_file, result_file, remove_instance_uuid=True, regen=REGEN_TEST_FIXTURES) + check_json_scan(expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES) def test_package_command_scan_tlb(self): test_dir = self.get_test_loc('win_pe/stdole2.tlb') result_file = self.get_temp_file('json') expected_file = self.get_test_loc('plugin/tlb-package-expected.json') run_scan_click(['--package', '--strip-root', '--processes', '-1', test_dir, '--json', result_file]) - check_json_scan(expected_file, result_file, remove_instance_uuid=True, regen=REGEN_TEST_FIXTURES) + check_json_scan(expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES) def test_package_command_scan_sys(self): test_dir = self.get_test_loc('win_pe/tbs.sys') result_file = self.get_temp_file('json') expected_file = self.get_test_loc('plugin/sys-package-expected.json') run_scan_click(['--package', '--strip-root', '--processes', '-1', test_dir, '--json', result_file]) - check_json_scan(expected_file, result_file, remove_instance_uuid=True, regen=REGEN_TEST_FIXTURES) + check_json_scan(expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES) def test_package_command_scan_winmd(self): test_dir = self.get_test_loc('win_pe/Windows.AI.winmd') result_file = self.get_temp_file('json') expected_file = self.get_test_loc('plugin/winmd-package-expected.json') run_scan_click(['--package', '--strip-root', '--processes', '-1', test_dir, '--json', result_file]) - check_json_scan(expected_file, result_file, remove_instance_uuid=True, regen=REGEN_TEST_FIXTURES) + check_json_scan(expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES) + + def test_package_list_command(self, regen=REGEN_TEST_FIXTURES): + expected_file = self.get_test_loc('plugin/help.txt') + result = run_scan_click(['--list-packages']) + if regen: + with open(expected_file, 'w') as ef: + ef.write(result.output) + assert result.output == open(expected_file).read() diff --git a/tests/packagedcode/test_pubspec.py b/tests/packagedcode/test_pubspec.py index 58e6496576c..b87e5e18070 100644 --- a/tests/packagedcode/test_pubspec.py +++ b/tests/packagedcode/test_pubspec.py @@ -14,7 +14,6 @@ from packages_test_utils import PackageTester from scancode_config import REGEN_TEST_FIXTURES - test_data_dir = os.path.join(os.path.dirname(__file__), 'data') @@ -23,29 +22,29 @@ class TestPubspecDatadriven(PackageTester): def test_pubspec_lock_is_package_data_file(self): test_file = self.get_test_loc('pubspec/locks/dart-pubspec.lock') - assert pubspec.PubspecLock.is_package_data_file(test_file) + assert pubspec.DartPubspecLockHandler.is_datafile(test_file) def test_pubspec_yaml_is_package_data_file(self): test_file = self.get_test_loc('pubspec/specs/authors-pubspec.yaml') - assert pubspec.PubspecYaml.is_package_data_file(test_file) + assert pubspec.DartPubspecYamlHandler.is_datafile(test_file) def test_parse_lock(self): test_loc = self.get_test_loc('pubspec/mini-pubspec.lock') expected_loc = self.get_test_loc('pubspec/mini-pubspec.lock-expected.json', must_exist=False) - package_data = pubspec.PubspecLock.recognize(test_loc) - self.check_packages(package_data, expected_loc, regen=REGEN_TEST_FIXTURES) + package_data = pubspec.DartPubspecLockHandler.parse(test_loc) + self.check_packages_data(package_data, expected_loc, regen=REGEN_TEST_FIXTURES) def pub_tester(location,): manifests = [] - for package_data in pubspec.PubspecYaml.recognize(location): + for package_data in pubspec.DartPubspecYamlHandler.parse(location): manifests.append(package_data.to_dict()) return manifests def lock_tester(location,): manifests = [] - for package_data in pubspec.PubspecLock.recognize(location): + for package_data in pubspec.DartPubspecLockHandler.parse(location): manifests.append(package_data.to_dict()) return manifests diff --git a/tests/packagedcode/test_pypi.py b/tests/packagedcode/test_pypi.py index d087647404e..5fa44f709a1 100644 --- a/tests/packagedcode/test_pypi.py +++ b/tests/packagedcode/test_pypi.py @@ -21,156 +21,156 @@ from scancode_config import REGEN_TEST_FIXTURES -class TestPyPiDevelop(PackageTester): +class TestPyPiDevelopEggInfoPkgInfo(PackageTester): test_data_dir = os.path.join(os.path.dirname(__file__), 'data') def test_python_pkg_info_is_package_data_file(self): test_file = self.get_test_loc('pypi/develop/scancode_toolkit.egg-info/PKG-INFO') - assert pypi.MetadataFile.is_package_data_file(test_file) + assert pypi.PythonEditableInstallationPkgInfoFile.is_datafile(test_file) def test_develop_with_parse_metadata(self): test_file = self.get_test_loc('pypi/develop/scancode_toolkit.egg-info/PKG-INFO') - package = pypi.MetadataFile.recognize(test_file) + package = pypi.PythonEditableInstallationPkgInfoFile.parse(test_file) expected_loc = self.get_test_loc('pypi/develop/scancode_toolkit.egg-info-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_develop_with_parse(self): test_file = self.get_test_loc('pypi/develop/scancode_toolkit.egg-info/PKG-INFO') - package = pypi.MetadataFile.recognize(test_file) + package = pypi.PythonEditableInstallationPkgInfoFile.parse(test_file) expected_loc = self.get_test_loc('pypi/develop/scancode_toolkit.egg-info-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) -class TestPyPiMetadata(PackageTester): +class TestPyPiPkgInfoAndMetadata(PackageTester): test_data_dir = os.path.join(os.path.dirname(__file__), 'data') - def test_parse_metadata_format_v10(self): + def test_parse_sdist_pkg_infometadata_format_v10(self): test_file = self.get_test_loc('pypi/metadata/v10/PKG-INFO') - package = pypi.MetadataFile.recognize(test_file) + package = pypi.PythonSdistPkgInfoFile.parse(test_file) expected_loc = self.get_test_loc('pypi/metadata/v10/PKG-INFO-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) - def test_parse_metadata_format_v11(self): + def test_parse_sdist_pkg_infometadata_format_v11(self): test_file = self.get_test_loc('pypi/metadata/v11/PKG-INFO') - package = pypi.MetadataFile.recognize(test_file) + package = pypi.PythonSdistPkgInfoFile.parse(test_file) expected_loc = self.get_test_loc('pypi/metadata/v11/PKG-INFO-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) - def test_parse_metadata_format_v12(self): + def test_parse_sdist_pkg_infometadata_format_v12(self): test_file = self.get_test_loc('pypi/metadata/v12/PKG-INFO') - package = pypi.MetadataFile.recognize(test_file) + package = pypi.PythonSdistPkgInfoFile.parse(test_file) expected_loc = self.get_test_loc('pypi/metadata/v12/PKG-INFO-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) - def test_parse_metadata_format_v20(self): + def test_parse_sdist_pkg_infometadata_format_v20(self): test_file = self.get_test_loc('pypi/metadata/v20/PKG-INFO') - package = pypi.MetadataFile.recognize(test_file) + package = pypi.PythonSdistPkgInfoFile.parse(test_file) expected_loc = self.get_test_loc('pypi/metadata/v20/PKG-INFO-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) - def test_parse_metadata_format_v21(self): + def test_parse_sdist_pkg_infometadata_format_v21(self): test_file = self.get_test_loc('pypi/metadata/v21/PKG-INFO') - package = pypi.MetadataFile.recognize(test_file) + package = pypi.PythonSdistPkgInfoFile.parse(test_file) expected_loc = self.get_test_loc('pypi/metadata/v21/PKG-INFO-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) - def test_parse_pkg_dash_info_basic(self): + def test_parse_sdist_pkg_info_basic(self): test_file = self.get_test_loc('pypi/metadata/PKG-INFO') - package = pypi.MetadataFile.recognize(test_file) + package = pypi.PythonSdistPkgInfoFile.parse(test_file) expected_loc = self.get_test_loc('pypi/metadata/PKG-INFO-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_python_metadata_is_package_data_file(self): - test_file = self.get_test_loc('pypi/metadata/METADATA') - assert pypi.MetadataFile.is_package_data_file(test_file) + test_file = self.get_test_loc('pypi/dist-info-metadata/scan/.dist-info/METADATA') + assert pypi.PythonInstalledWheelMetadataFile.is_datafile(test_file) def test_parse_metadata_basic(self): - test_file = self.get_test_loc('pypi/metadata/METADATA') - package = pypi.MetadataFile.recognize(test_file) - expected_loc = self.get_test_loc('pypi/metadata/METADATA-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + test_file = self.get_test_loc('pypi/dist-info-metadata/scan/.dist-info/METADATA') + package = pypi.PythonInstalledWheelMetadataFile.parse(test_file) + expected_loc = self.get_test_loc('pypi/dist-info-metadata/METADATA-expected.json') + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) -class TestPypiArchive(PackageTester): +class TestPypiWheelAndEggArchive(PackageTester): test_data_dir = os.path.join(os.path.dirname(__file__), 'data') def test_python_bdist_whl_is_package_data_file(self): test_file = self.get_test_loc('pypi/archive/atomicwrites-1.2.1-py2.py3-none-any.whl') - assert pypi.BinaryDistArchive.is_package_data_file(test_file) + assert pypi.PypiWheelHandler.is_datafile(test_file) def test_python_bdist_egg_is_package_data_file(self): test_file = self.get_test_loc('pypi/archive/commoncode-21.5.12-py3.9.egg') - assert pypi.BinaryDistArchive.is_package_data_file(test_file) + assert pypi.PypiEggHandler.is_datafile(test_file) def test_parse_archive_with_wheelfile(self): test_file = self.get_test_loc('pypi/archive/atomicwrites-1.2.1-py2.py3-none-any.whl') - package = pypi.BinaryDistArchive.recognize(test_file) + package = pypi.PypiWheelHandler.parse(test_file) expected_loc = self.get_test_loc('pypi/archive/atomicwrites-1.2.1-py2.py3-none-any.whl-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_with_wheelfile(self): test_file = self.get_test_loc('pypi/archive/atomicwrites-1.2.1-py2.py3-none-any.whl') - package = pypi.BinaryDistArchive.recognize(test_file) + package = pypi.PypiWheelHandler.parse(test_file) expected_loc = self.get_test_loc('pypi/archive/atomicwrites-1.2.1-py2.py3-none-any.whl-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_with_eggfile(self): test_file = self.get_test_loc('pypi/archive/commoncode-21.5.12-py3.9.egg') - package = pypi.BinaryDistArchive.recognize(test_file) + package = pypi.PypiEggHandler.parse(test_file) expected_loc = self.get_test_loc('pypi/archive/commoncode-21.5.12-py3.9.egg-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) -class TestPypiUnpackedWheel(PackageTester): +class TestPypiInstalledWheel(PackageTester): test_data_dir = os.path.join(os.path.dirname(__file__), 'data') def test_parse_with_unpacked_wheel_meta_v20_1(self): test_file = self.get_test_loc('pypi/unpacked_wheel/metadata-2.0/Jinja2-2.10.dist-info/METADATA') - package = pypi.MetadataFile.recognize(test_file) + package = pypi.PythonInstalledWheelMetadataFile.parse(test_file) expected_loc = self.get_test_loc('pypi/unpacked_wheel/metadata-2.0/Jinja2-2.10.dist-info-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_with_unpacked_wheel_meta_v20_2(self): test_file = self.get_test_loc('pypi/unpacked_wheel/metadata-2.0/python_mimeparse-1.6.0.dist-info/METADATA') - package = pypi.MetadataFile.recognize(test_file) + package = pypi.PythonInstalledWheelMetadataFile.parse(test_file) expected_loc = self.get_test_loc('pypi/unpacked_wheel/metadata-2.0/python_mimeparse-1.6.0.dist-info-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_with_unpacked_wheel_meta_v20_3(self): test_file = self.get_test_loc('pypi/unpacked_wheel/metadata-2.0/toml-0.10.1.dist-info/METADATA') - package = pypi.MetadataFile.recognize(test_file) + package = pypi.PythonInstalledWheelMetadataFile.parse(test_file) expected_loc = self.get_test_loc('pypi/unpacked_wheel/metadata-2.0/toml-0.10.1.dist-info-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_with_unpacked_wheel_meta_v20_4(self): test_file = self.get_test_loc('pypi/unpacked_wheel/metadata-2.0/urllib3-1.26.4.dist-info/METADATA') - package = pypi.MetadataFile.recognize(test_file) + package = pypi.PythonInstalledWheelMetadataFile.parse(test_file) expected_loc = self.get_test_loc('pypi/unpacked_wheel/metadata-2.0/urllib3-1.26.4.dist-info-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_with_unpacked_wheel_meta_v21_1(self): test_file = self.get_test_loc('pypi/unpacked_wheel/metadata-2.1/haruka_bot-1.2.3.dist-info/METADATA') - package = pypi.MetadataFile.recognize(test_file) + package = pypi.PythonInstalledWheelMetadataFile.parse(test_file) expected_loc = self.get_test_loc('pypi/unpacked_wheel/metadata-2.1/haruka_bot-1.2.3.dist-info-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_with_unpacked_wheel_meta_v21_2(self): test_file = self.get_test_loc('pypi/unpacked_wheel/metadata-2.1/pip-20.2.2.dist-info/METADATA') - package = pypi.MetadataFile.recognize(test_file) + package = pypi.PythonInstalledWheelMetadataFile.parse(test_file) expected_loc = self.get_test_loc('pypi/unpacked_wheel/metadata-2.1/pip-20.2.2.dist-info-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_with_unpacked_wheel_meta_v21_3(self): test_file = self.get_test_loc('pypi/unpacked_wheel/metadata-2.1/plugincode-21.1.21.dist-info/METADATA') - package = pypi.MetadataFile.recognize(test_file) + package = pypi.PythonInstalledWheelMetadataFile.parse(test_file) expected_loc = self.get_test_loc('pypi/unpacked_wheel/metadata-2.1/plugincode-21.1.21.dist-info-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_with_unpacked_wheel_meta_v21__with_sources(self): test_file = self.get_test_loc('pypi/unpacked_wheel/metadata-2.1/with_sources/anonapi-0.0.19.dist-info/METADATA') - package = pypi.MetadataFile.recognize(test_file) + package = pypi.PythonInstalledWheelMetadataFile.parse(test_file) expected_loc = self.get_test_loc('pypi/unpacked_wheel/metadata-2.1/with_sources/anonapi-0.0.19.dist-info-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) class TestPypiUnpackedSdist(PackageTester): @@ -178,27 +178,27 @@ class TestPypiUnpackedSdist(PackageTester): def test_parse_metadata_unpacked_sdist_metadata_v10(self): test_file = self.get_test_loc('pypi/unpacked_sdist/metadata-1.0/PyJPString-0.0.3/PKG-INFO') - package = pypi.MetadataFile.recognize(test_file) + package = pypi.PythonSdistPkgInfoFile.parse(test_file) expected_loc = self.get_test_loc('pypi/unpacked_sdist/metadata-1.0/PyJPString-0.0.3-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_metadata_unpacked_sdist_metadata_v10_subdir(self): test_file = self.get_test_loc('pypi/unpacked_sdist/metadata-1.0/PyJPString-0.0.3/PyJPString.egg-info/PKG-INFO') - package = pypi.MetadataFile.recognize(test_file) + package = pypi.PythonEditableInstallationPkgInfoFile.parse(test_file) expected_loc = self.get_test_loc('pypi/unpacked_sdist/metadata-1.0/PyJPString-0.0.3-subdir-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_setup_py_with_name(self): test_file = self.get_test_loc('pypi/setup.py/with_name-setup.py') - package = pypi.SetupPy.recognize(test_file) + package = pypi.PythonSetupPyHandler.parse(test_file) expected_loc = self.get_test_loc('pypi/setup.py/with_name-setup.py.expected.json', must_exist=False) - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_setup_py_without_name(self): test_file = self.get_test_loc('pypi/setup.py/without_name-setup.py') - package = pypi.SetupPy.recognize(test_file) + package = pypi.PythonSetupPyHandler.parse(test_file) expected_loc = self.get_test_loc('pypi/setup.py/without_name-setup.py.expected.json', must_exist=False) - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_get_setup_py_args_with_name(self): test_file = self.get_test_loc('pypi/setup.py/with_name-setup.py') @@ -214,35 +214,35 @@ def test_get_setup_py_args_without_name(self): def test_parse_metadata_unpacked_sdist_metadata_v11_1(self): test_file = self.get_test_loc('pypi/unpacked_sdist/metadata-1.1/python-mimeparse-1.6.0/PKG-INFO') - package = pypi.MetadataFile.recognize(test_file) + package = pypi.PythonSdistPkgInfoFile.parse(test_file) expected_loc = self.get_test_loc('pypi/unpacked_sdist/metadata-1.1/python-mimeparse-1.6.0-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_metadata_unpacked_sdist_metadata_v11_2(self): test_file = self.get_test_loc('pypi/unpacked_sdist/metadata-1.1/pyup-django-0.4.0/PKG-INFO') - package = pypi.MetadataFile.recognize(test_file) + package = pypi.PythonSdistPkgInfoFile.parse(test_file) expected_loc = self.get_test_loc('pypi/unpacked_sdist/metadata-1.1/pyup-django-0.4.0-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_metadata_unpacked_sdist_metadata_v12(self): test_file = self.get_test_loc('pypi/unpacked_sdist/metadata-1.2/anonapi-0.0.19/PKG-INFO') - package = pypi.MetadataFile.recognize(test_file) + package = pypi.PythonSdistPkgInfoFile.parse(test_file) expected_loc = self.get_test_loc('pypi/unpacked_sdist/metadata-1.2/anonapi-0.0.19-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_metadata_unpacked_sdist_metadata_v21(self): test_file = self.get_test_loc('pypi/unpacked_sdist/metadata-2.1/commoncode-21.5.12/PKG-INFO') - package = pypi.MetadataFile.recognize(test_file) + package = pypi.PythonSdistPkgInfoFile.parse(test_file) expected_loc = self.get_test_loc('pypi/unpacked_sdist/metadata-2.1/commoncode-21.5.12-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) -class TestRequirementsFile(PackageTester): +class TestPipRequirementsFileHandler(PackageTester): test_data_dir = os.path.join(os.path.dirname(__file__), 'data') def test_python_requirements_is_package_data_file(self): test_file = self.get_test_loc('pypi/requirements_txt/basic/requirements.txt') - assert pypi.RequirementsFile.is_package_data_file(test_file) + assert pypi.PipRequirementsFileHandler.is_datafile(test_file) def test_get_requirements_txt_dependencies(self): test_file = self.get_test_loc('pypi/requirements_txt/simple/requirements.txt') @@ -255,117 +255,117 @@ def test_get_requirements_txt_dependencies(self): def test_parse_dependency_file_basic(self): test_file = self.get_test_loc('pypi/requirements_txt/basic/requirements.txt') - package = pypi.RequirementsFile.recognize(test_file) + package = pypi.PipRequirementsFileHandler.parse(test_file) expected_loc = self.get_test_loc('pypi/requirements_txt/basic/output.expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_dependency_file_pinned(self): test_file = self.get_test_loc('pypi/requirements_txt/pinned/sample-requirements.txt') - package = pypi.RequirementsFile.recognize(test_file) + package = pypi.PipRequirementsFileHandler.parse(test_file) expected_loc = self.get_test_loc('pypi/requirements_txt/pinned/output.expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_dependency_file_dev(self): test_file = self.get_test_loc('pypi/requirements_txt/dev/requirements-dev.txt') - package = pypi.RequirementsFile.recognize(test_file) + package = pypi.PipRequirementsFileHandler.parse(test_file) expected_loc = self.get_test_loc('pypi/requirements_txt/dev/output.expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_dependency_file_requirements_in(self): test_file = self.get_test_loc('pypi/requirements_txt/requirements_in/requirements.in') - package = pypi.RequirementsFile.recognize(test_file) + package = pypi.PipRequirementsFileHandler.parse(test_file) expected_loc = self.get_test_loc('pypi/requirements_txt/requirements_in/output.expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_dependency_file_eol_comment(self): test_file = self.get_test_loc('pypi/requirements_txt/eol_comment/requirements.txt') - package = pypi.RequirementsFile.recognize(test_file) + package = pypi.PipRequirementsFileHandler.parse(test_file) expected_loc = self.get_test_loc('pypi/requirements_txt/eol_comment/output.expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_dependency_file_complex(self): test_file = self.get_test_loc('pypi/requirements_txt/complex/requirements.txt') - package = pypi.RequirementsFile.recognize(test_file) + package = pypi.PipRequirementsFileHandler.parse(test_file) expected_loc = self.get_test_loc('pypi/requirements_txt/complex/output.expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_dependency_file_editable(self): test_file = self.get_test_loc('pypi/requirements_txt/editable/requirements.txt') - package = pypi.RequirementsFile.recognize(test_file) + package = pypi.PipRequirementsFileHandler.parse(test_file) expected_loc = self.get_test_loc('pypi/requirements_txt/editable/output.expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_dependency_file_double_extras(self): test_file = self.get_test_loc('pypi/requirements_txt/double_extras/requirements.txt') - package = pypi.RequirementsFile.recognize(test_file) + package = pypi.PipRequirementsFileHandler.parse(test_file) expected_loc = self.get_test_loc('pypi/requirements_txt/double_extras/output.expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_dependency_file_repeated(self): test_file = self.get_test_loc('pypi/requirements_txt/repeated/requirements.txt') - package = pypi.RequirementsFile.recognize(test_file) + package = pypi.PipRequirementsFileHandler.parse(test_file) expected_loc = self.get_test_loc('pypi/requirements_txt/repeated/output.expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_dependency_file_vcs_eggs(self): test_file = self.get_test_loc('pypi/requirements_txt/vcs_eggs/requirements.txt') - package = pypi.RequirementsFile.recognize(test_file) + package = pypi.PipRequirementsFileHandler.parse(test_file) expected_loc = self.get_test_loc('pypi/requirements_txt/vcs_eggs/output.expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_dependency_file_local_paths_and_files(self): test_file = self.get_test_loc('pypi/requirements_txt/local_paths_and_files/requirements.txt') - package = pypi.RequirementsFile.recognize(test_file) + package = pypi.PipRequirementsFileHandler.parse(test_file) expected_loc = self.get_test_loc('pypi/requirements_txt/local_paths_and_files/output.expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_dependency_file_urls_wth_checksums(self): test_file = self.get_test_loc('pypi/requirements_txt/urls_wth_checksums/requirements.txt') - package = pypi.RequirementsFile.recognize(test_file) + package = pypi.PipRequirementsFileHandler.parse(test_file) expected_loc = self.get_test_loc('pypi/requirements_txt/urls_wth_checksums/output.expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_dependency_file_mixed(self): test_file = self.get_test_loc('pypi/requirements_txt/mixed/requirements.txt') - package = pypi.RequirementsFile.recognize(test_file) + package = pypi.PipRequirementsFileHandler.parse(test_file) expected_loc = self.get_test_loc('pypi/requirements_txt/mixed/output.expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_dependency_file_comments_and_empties(self): test_file = self.get_test_loc('pypi/requirements_txt/comments_and_empties/requirements.txt') - package = pypi.RequirementsFile.recognize(test_file) + package = pypi.PipRequirementsFileHandler.parse(test_file) expected_loc = self.get_test_loc('pypi/requirements_txt/comments_and_empties/output.expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_dependency_file_many_specs(self): test_file = self.get_test_loc('pypi/requirements_txt/many_specs/requirements.txt') - package = pypi.RequirementsFile.recognize(test_file) + package = pypi.PipRequirementsFileHandler.parse(test_file) expected_loc = self.get_test_loc('pypi/requirements_txt/many_specs/output.expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_dependency_file_vcs_editable(self): test_file = self.get_test_loc('pypi/requirements_txt/vcs_editable/requirements.txt') - package = pypi.RequirementsFile.recognize(test_file) + package = pypi.PipRequirementsFileHandler.parse(test_file) expected_loc = self.get_test_loc('pypi/requirements_txt/vcs_editable/output.expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_dependency_file_vcs_extras_require(self): test_file = self.get_test_loc('pypi/requirements_txt/vcs_extras_require/requirements.txt') - package = pypi.RequirementsFile.recognize(test_file) + package = pypi.PipRequirementsFileHandler.parse(test_file) expected_loc = self.get_test_loc('pypi/requirements_txt/vcs_extras_require/output.expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_dependency_file_vcs_git(self): test_file = self.get_test_loc('pypi/requirements_txt/vcs-git/requirements.txt') - package = pypi.RequirementsFile.recognize(test_file) + package = pypi.PipRequirementsFileHandler.parse(test_file) expected_loc = self.get_test_loc('pypi/requirements_txt/vcs-git/output.expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_dependency_file_with_invalid_does_not_fail(self): test_file = self.get_test_loc('pypi/requirements_txt/invalid_spec/requirements.txt') - package = pypi.RequirementsFile.recognize(test_file) + package = pypi.PipRequirementsFileHandler.parse(test_file) expected_loc = self.get_test_loc('pypi/requirements_txt/invalid_spec/output.expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) class TestPyPiPipfile(PackageTester): @@ -373,40 +373,40 @@ class TestPyPiPipfile(PackageTester): def test_pipfile_lock_sample1(self): test_file = self.get_test_loc('pypi/pipfile.lock/sample1/Pipfile.lock') - package = pypi.PipfileLock.recognize(test_file) + package = pypi.PipfileLockHandler.parse(test_file) expected_loc = self.get_test_loc('pypi/pipfile.lock/sample1/Pipfile.lock-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_pipfile_lock_sample2(self): test_file = self.get_test_loc('pypi/pipfile.lock/sample2/Pipfile.lock') - package = pypi.PipfileLock.recognize(test_file) + package = pypi.PipfileLockHandler.parse(test_file) expected_loc = self.get_test_loc('pypi/pipfile.lock/sample2/Pipfile.lock-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_pipfile_lock_sample3(self): test_file = self.get_test_loc('pypi/pipfile.lock/sample3/Pipfile.lock') - package = pypi.PipfileLock.recognize(test_file) + package = pypi.PipfileLockHandler.parse(test_file) expected_loc = self.get_test_loc('pypi/pipfile.lock/sample3/Pipfile.lock-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_pipfile_lock_sample4(self): test_file = self.get_test_loc('pypi/pipfile.lock/sample4/Pipfile.lock') - package = pypi.PipfileLock.recognize(test_file) + package = pypi.PipfileLockHandler.parse(test_file) expected_loc = self.get_test_loc('pypi/pipfile.lock/sample4/Pipfile.lock-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_pipfile_lock_sample5(self): test_file = self.get_test_loc('pypi/pipfile.lock/sample5/Pipfile.lock') - package = pypi.PipfileLock.recognize(test_file) + package = pypi.PipfileLockHandler.parse(test_file) expected_loc = self.get_test_loc('pypi/pipfile.lock/sample5/Pipfile.lock-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_file_type(self): filename = pypi.get_dparse2_supported_file_name('Pipfile.lock') assert filename == 'Pipfile.lock' -class TestIsRequirementsFile(object): +class TestIsPipRequirementsFileHandler(object): requirement_location = [ 'requirements.txt', @@ -429,12 +429,19 @@ class TestIsRequirementsFile(object): ] @pytest.mark.parametrize('location', requirement_location) - def test_is_requirements_file(self, location): - assert pypi.is_requirements_file(location) + def test_is_requirements_file(self, location, monkeypatch): + # monkey patch filetype.is_file to pretend this is a real file + from commoncode import filetype + monkeypatch.setattr(filetype, "is_file", lambda f: True) + assert pypi.PipRequirementsFileHandler.is_datafile(location) - def test_is_not_requirements_file(self): - assert not pypi.is_requirements_file('req.txt') - assert not pypi.is_requirements_file('requiremenst.py') + def test_is_not_requirements_file(self, monkeypatch): + # monkey patch filetype.is_file to pretend this is a real file + from commoncode import filetype + monkeypatch.setattr(filetype, "is_file", lambda f: True) + + assert not pypi.PipRequirementsFileHandler.is_datafile('req.txt') + assert not pypi.PipRequirementsFileHandler.is_datafile('requiremenst.py') def get_setup_py_test_files(test_dir): @@ -460,7 +467,7 @@ class TestSetupPyVersions(object): @pytest.mark.parametrize('test_loc, expected_loc', list(get_setup_py_test_files(test_data_dir))) def test_parse_setup_py_with_computed_versions(self, test_loc, expected_loc, regen=REGEN_TEST_FIXTURES): - package = pypi.SetupPy.recognize(test_loc) + package = pypi.PythonSetupPyHandler.parse(test_loc) if package: results = package.to_dict() else: @@ -485,153 +492,153 @@ class TestPyPiSetupPy(PackageTester): @skipIf(on_windows, 'Somehow this fails on Windows') def test_parse_setup_py_arpy(self): test_file = self.get_test_loc('pypi/setup.py/arpy_setup.py') - package = pypi.SetupPy.recognize(test_file) + package = pypi.PythonSetupPyHandler.parse(test_file) expected_loc = self.get_test_loc('pypi/setup.py/arpy_setup.py-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_setup_py_pluggy(self): test_file = self.get_test_loc('pypi/setup.py/pluggy_setup.py') - package = pypi.SetupPy.recognize(test_file) + package = pypi.PythonSetupPyHandler.parse(test_file) expected_loc = self.get_test_loc('pypi/setup.py/pluggy_setup.py-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_setup_py_pygtrie(self): # this uses a kwargs dict test_file = self.get_test_loc('pypi/setup.py/pygtrie_setup.py') - package = pypi.SetupPy.recognize(test_file) + package = pypi.PythonSetupPyHandler.parse(test_file) expected_loc = self.get_test_loc('pypi/setup.py/pygtrie_setup.py-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_setup_py_basic(self): test_file = self.get_test_loc('pypi/setup.py/simple-setup.py') - package = pypi.SetupPy.recognize(test_file) + package = pypi.PythonSetupPyHandler.parse(test_file) expected_loc = self.get_test_loc('pypi/setup.py/setup.py-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_setup_py_boolean2_py(self): test_file = self.get_test_loc('pypi/setup.py/boolean2_py_setup.py') - package = pypi.SetupPy.recognize(test_file) + package = pypi.PythonSetupPyHandler.parse(test_file) expected_loc = self.get_test_loc('pypi/setup.py/boolean2_py_setup.py-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_setup_py_container_check(self): test_file = self.get_test_loc('pypi/setup.py/container_check_setup.py') - package = pypi.SetupPy.recognize(test_file) + package = pypi.PythonSetupPyHandler.parse(test_file) expected_loc = self.get_test_loc('pypi/setup.py/container_check_setup.py-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_setup_py_fb303_py(self): test_file = self.get_test_loc('pypi/setup.py/fb303_py_setup.py') - package = pypi.SetupPy.recognize(test_file) + package = pypi.PythonSetupPyHandler.parse(test_file) expected_loc = self.get_test_loc('pypi/setup.py/fb303_py_setup.py-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_setup_py_frell_src(self): # setup.py is a temaplte with @vars test_file = self.get_test_loc('pypi/setup.py/frell_src_setup.py') - package = pypi.SetupPy.recognize(test_file) + package = pypi.PythonSetupPyHandler.parse(test_file) expected_loc = self.get_test_loc('pypi/setup.py/frell_src_setup.py-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_setup_py_gyp(self): test_file = self.get_test_loc('pypi/setup.py/gyp_setup.py') - package = pypi.SetupPy.recognize(test_file) + package = pypi.PythonSetupPyHandler.parse(test_file) expected_loc = self.get_test_loc('pypi/setup.py/gyp_setup.py-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_setup_py_interlap(self): test_file = self.get_test_loc('pypi/setup.py/interlap_setup.py') - package = pypi.SetupPy.recognize(test_file) + package = pypi.PythonSetupPyHandler.parse(test_file) expected_loc = self.get_test_loc('pypi/setup.py/interlap_setup.py-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_setup_py_mb(self): test_file = self.get_test_loc('pypi/setup.py/mb_setup.py') - package = pypi.SetupPy.recognize(test_file) + package = pypi.PythonSetupPyHandler.parse(test_file) expected_loc = self.get_test_loc('pypi/setup.py/mb_setup.py-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_setup_py_ntfs(self): test_file = self.get_test_loc('pypi/setup.py/ntfs_setup.py') - package = pypi.SetupPy.recognize(test_file) + package = pypi.PythonSetupPyHandler.parse(test_file) expected_loc = self.get_test_loc('pypi/setup.py/ntfs_setup.py-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_setup_py_nvchecker(self): test_file = self.get_test_loc('pypi/setup.py/nvchecker_setup.py') - package = pypi.SetupPy.recognize(test_file) + package = pypi.PythonSetupPyHandler.parse(test_file) expected_loc = self.get_test_loc('pypi/setup.py/nvchecker_setup.py-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_setup_py_oi_agents_common_code(self): test_file = self.get_test_loc('pypi/setup.py/oi_agents_common_code_setup.py') - package = pypi.SetupPy.recognize(test_file) + package = pypi.PythonSetupPyHandler.parse(test_file) expected_loc = self.get_test_loc('pypi/setup.py/oi_agents_common_code_setup.py-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_setup_py_packageurl_python(self): test_file = self.get_test_loc('pypi/setup.py/packageurl_python_setup.py') - package = pypi.SetupPy.recognize(test_file) + package = pypi.PythonSetupPyHandler.parse(test_file) expected_loc = self.get_test_loc('pypi/setup.py/packageurl_python_setup.py-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_setup_py_pipdeptree(self): test_file = self.get_test_loc('pypi/setup.py/pipdeptree_setup.py') - package = pypi.SetupPy.recognize(test_file) + package = pypi.PythonSetupPyHandler.parse(test_file) expected_loc = self.get_test_loc('pypi/setup.py/pipdeptree_setup.py-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_setup_py_pydep(self): test_file = self.get_test_loc('pypi/setup.py/pydep_setup.py') - package = pypi.SetupPy.recognize(test_file) + package = pypi.PythonSetupPyHandler.parse(test_file) expected_loc = self.get_test_loc('pypi/setup.py/pydep_setup.py-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_setup_py_pyrpm_2(self): test_file = self.get_test_loc('pypi/setup.py/pyrpm_2_setup.py') - package = pypi.SetupPy.recognize(test_file) + package = pypi.PythonSetupPyHandler.parse(test_file) expected_loc = self.get_test_loc('pypi/setup.py/pyrpm_2_setup.py-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_setup_py_python_publicsuffix(self): test_file = self.get_test_loc('pypi/setup.py/python_publicsuffix_setup.py') - package = pypi.SetupPy.recognize(test_file) + package = pypi.PythonSetupPyHandler.parse(test_file) expected_loc = self.get_test_loc('pypi/setup.py/python_publicsuffix_setup.py-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_setup_py_repology_py_libversion(self): test_file = self.get_test_loc('pypi/setup.py/repology_py_libversion_setup.py') - package = pypi.SetupPy.recognize(test_file) + package = pypi.PythonSetupPyHandler.parse(test_file) expected_loc = self.get_test_loc('pypi/setup.py/repology_py_libversion_setup.py-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_setup_py_saneyaml(self): test_file = self.get_test_loc('pypi/setup.py/saneyaml_setup.py') - package = pypi.SetupPy.recognize(test_file) + package = pypi.PythonSetupPyHandler.parse(test_file) expected_loc = self.get_test_loc('pypi/setup.py/saneyaml_setup.py-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_setup_py_setuppycheck(self): test_file = self.get_test_loc('pypi/setup.py/setuppycheck_setup.py') - package = pypi.SetupPy.recognize(test_file) + package = pypi.PythonSetupPyHandler.parse(test_file) expected_loc = self.get_test_loc('pypi/setup.py/setuppycheck_setup.py-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_setup_py_url_py(self): test_file = self.get_test_loc('pypi/setup.py/url_py_setup.py') - package = pypi.SetupPy.recognize(test_file) + package = pypi.PythonSetupPyHandler.parse(test_file) expected_loc = self.get_test_loc('pypi/setup.py/url_py_setup.py-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_setup_py_venv(self): test_file = self.get_test_loc('pypi/setup.py/venv_setup.py') - package = pypi.SetupPy.recognize(test_file) + package = pypi.PythonSetupPyHandler.parse(test_file) expected_loc = self.get_test_loc('pypi/setup.py/venv_setup.py-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_setup_py_xmltodict(self): test_file = self.get_test_loc('pypi/setup.py/xmltodict_setup.py') - package = pypi.SetupPy.recognize(test_file) + package = pypi.PythonSetupPyHandler.parse(test_file) expected_loc = self.get_test_loc('pypi/setup.py/xmltodict_setup.py-expected.json') - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) diff --git a/tests/packagedcode/test_pyrpm.py b/tests/packagedcode/test_pyrpm.py index 6bd5c4e7939..119666cb91e 100644 --- a/tests/packagedcode/test_pyrpm.py +++ b/tests/packagedcode/test_pyrpm.py @@ -69,6 +69,7 @@ def test_rpm(self): 'dist_url': None, 'distribution': u'Mandriva Linux', 'epoch': None, + 'files_digest_algo': None, 'group': u'Terminals', 'is_binary': True, 'license': u'BSD', diff --git a/tests/packagedcode/test_readme.py b/tests/packagedcode/test_readme.py index e2412c118ca..337cfbaa6f0 100644 --- a/tests/packagedcode/test_readme.py +++ b/tests/packagedcode/test_readme.py @@ -9,8 +9,6 @@ import os.path -import saneyaml - from packagedcode import readme from packages_test_utils import PackageTester from scancode_config import REGEN_TEST_FIXTURES @@ -21,96 +19,96 @@ class TestReadme(PackageTester): def test_is_manifest_readme_facebook(self): test_file = self.get_test_loc('readme/facebook/downloaded-from-as-download_url/README.facebook') - assert readme.ReadmeManifest.is_package_data_file(test_file) + assert readme.ReadmeHandler.is_datafile(test_file) def test_parse_facebook_downloaded_from_as_download_url(self): test_file = self.get_test_loc('readme/facebook/downloaded-from-as-download_url/README.facebook') expected_loc = self.get_test_loc('readme/facebook/downloaded-from-as-download_url/README.facebook.expected') - package = readme.ReadmeManifest.recognize(test_file) - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + package = readme.ReadmeHandler.parse(test_file) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_facebook_download_link_as_download_url(self): test_file = self.get_test_loc('readme/facebook/download-link-as-download_url/README.facebook') expected_loc = self.get_test_loc('readme/facebook/download-link-as-download_url/README.facebook.expected') - package = readme.ReadmeManifest.recognize(test_file) - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + package = readme.ReadmeHandler.parse(test_file) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_facebook_source_as_homepage_url(self): test_file = self.get_test_loc('readme/facebook/repo-as-homepage_url/README.facebook') expected_loc = self.get_test_loc('readme/facebook/repo-as-homepage_url/README.facebook.expected') - package = readme.ReadmeManifest.recognize(test_file) - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + package = readme.ReadmeHandler.parse(test_file) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) - def test_parse_facebook_source_as_homepage_url(self): + def test_parse_facebook_source_as_homepage_url2(self): test_file = self.get_test_loc('readme/facebook/source-as-homepage_url/README.facebook') expected_loc = self.get_test_loc('readme/facebook/source-as-homepage_url/README.facebook.expected') - package = readme.ReadmeManifest.recognize(test_file) - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + package = readme.ReadmeHandler.parse(test_file) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_facebook_website_as_homepage_url(self): test_file = self.get_test_loc('readme/facebook/website-as-homepage_url/README.facebook') expected_loc = self.get_test_loc('readme/facebook/website-as-homepage_url/README.facebook.expected') - package = readme.ReadmeManifest.recognize(test_file) - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + package = readme.ReadmeHandler.parse(test_file) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_facebook_project_as_name(self): test_file = self.get_test_loc('readme/facebook/project-as-name/README.facebook') expected_loc = self.get_test_loc('readme/facebook/project-as-name/README.facebook.expected') - package = readme.ReadmeManifest.recognize(test_file) - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + package = readme.ReadmeHandler.parse(test_file) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_facebook_missing_type(self): test_file = self.get_test_loc('readme/facebook/missing-type/README.facebook') expected_loc = self.get_test_loc('readme/facebook/missing-type/README.facebook.expected') - package = readme.ReadmeManifest.recognize(test_file) - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + package = readme.ReadmeHandler.parse(test_file) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_facebook_capitalized_filename(self): test_file = self.get_test_loc('readme/facebook/capital-filename/README.FACEBOOK') expected_loc = self.get_test_loc('readme/facebook/capital-filename/README.FACEBOOK.expected') - package = readme.ReadmeManifest.recognize(test_file) - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + package = readme.ReadmeHandler.parse(test_file) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_facebook_use_parent_dir_name_as_package_name_if_no_package_name_detected(self): test_file = self.get_test_loc('readme/facebook/use-parent-dir-name-as-package-name/setuptools/README.facebook') expected_loc = self.get_test_loc('readme/facebook/use-parent-dir-name-as-package-name/setuptools/README.facebook.expected') - package = readme.ReadmeManifest.recognize(test_file) - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + package = readme.ReadmeHandler.parse(test_file) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_thirdparty_basic(self): test_file = self.get_test_loc('readme/thirdparty/basic/README.thirdparty') expected_loc = self.get_test_loc('readme/thirdparty/basic/README.thirdparty.expected') - package = readme.ReadmeManifest.recognize(test_file) - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + package = readme.ReadmeHandler.parse(test_file) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_is_manifest_readme_google(self): test_file = self.get_test_loc('readme/google/basic/README.google') - assert readme.ReadmeManifest.is_package_data_file(test_file) + assert readme.ReadmeHandler.is_datafile(test_file) def test_parse_google_basic(self): test_file = self.get_test_loc('readme/google/basic/README.google') expected_loc = self.get_test_loc('readme/google/basic/README.google.expected') - package = readme.ReadmeManifest.recognize(test_file) - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + package = readme.ReadmeHandler.parse(test_file) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_facebook_basic(self): test_file = self.get_test_loc('readme/facebook/basic/README.facebook') expected_loc = self.get_test_loc('readme/facebook/basic/README.facebook.expected') - package = readme.ReadmeManifest.recognize(test_file) - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + package = readme.ReadmeHandler.parse(test_file) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_chromium_basic(self): test_file = self.get_test_loc('readme/chromium/basic/README.chromium') expected_loc = self.get_test_loc('readme/chromium/basic/README.chromium.expected') - package = readme.ReadmeManifest.recognize(test_file) - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + package = readme.ReadmeHandler.parse(test_file) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_parse_android_basic(self): test_file = self.get_test_loc('readme/android/basic/README.android') expected_loc = self.get_test_loc('readme/android/basic/README.android.expected') - package = readme.ReadmeManifest.recognize(test_file) - self.check_packages(package, expected_loc, regen=REGEN_TEST_FIXTURES) + package = readme.ReadmeHandler.parse(test_file) + self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES) def test_is_manifest_not_readme(self): test_file = self.get_test_loc('readme/invalid/invalid_file') - assert not readme.ReadmeManifest.is_package_data_file(test_file) + assert not readme.ReadmeHandler.is_datafile(test_file) diff --git a/tests/packagedcode/test_recognize.py b/tests/packagedcode/test_recognize.py index b419d5e0d1d..f0a6cd6f9f8 100644 --- a/tests/packagedcode/test_recognize.py +++ b/tests/packagedcode/test_recognize.py @@ -12,24 +12,12 @@ from commoncode.testcase import FileBasedTesting -import packagedcode +import pytest from packagedcode.recognize import recognize_package_data -from packagedcode import bower -from packagedcode import cargo -from packagedcode import freebsd -from packagedcode import haxe -from packagedcode import maven -from packagedcode import npm -from packagedcode import nuget -from packagedcode import opam -from packagedcode import phpcomposer -from packagedcode import rpm -from packagedcode import win_pe -from packagedcode import pypi -from packagedcode import golang from packagedcode import models +# TODO: this needs to be updated to use either a full scan of to use parse and assemble class TestRecognize(FileBasedTesting): test_data_dir = os.path.join(os.path.dirname(__file__), 'data') @@ -38,19 +26,19 @@ def test_recognize_package_data_deb(self): test_file = self.get_test_loc('archives/adduser_3.112ubuntu1_all.deb') packages = recognize_package_data(test_file) assert packages - assert isinstance(packages[0], packagedcode.debian.DebianPackage) + assert isinstance(packages[0], models.PackageData) def test_recognize_package_data_rpm(self): test_file = self.get_test_loc('archives/alfandega-2.2-2.rh80.src.rpm') packages = recognize_package_data(test_file) assert packages - assert isinstance(packages[0], rpm.RpmPackageData) + assert isinstance(packages[0], models.PackageData) def test_recognize_package_data_cab(self): test_file = self.get_test_loc('archives/basic.cab') packages = recognize_package_data(test_file) assert packages - assert isinstance(packages[0], packagedcode.models.CabPackage) + assert isinstance(packages[0], models.PackageData) def test_recognize_package_data_rar(self): test_file = self.get_test_loc('archives/basic.rar') @@ -66,19 +54,19 @@ def test_recognize_package_data_gem(self): test_file = self.get_test_loc('archives/mysmallidea-address_standardization-0.4.1.gem') packages = recognize_package_data(test_file) assert packages - assert isinstance(packages[0], packagedcode.rubygems.RubyGemData) + assert isinstance(packages[0], models.PackageData) def test_recognize_package_data_jar(self): test_file = self.get_test_loc('archives/simple.jar') packages = recognize_package_data(test_file) assert packages - assert isinstance(packages[0], packagedcode.models.JavaJar) + assert isinstance(packages[0], models.PackageData) def test_recognize_package_data_iso(self): test_file = self.get_test_loc('archives/small.iso') packages = recognize_package_data(test_file) assert packages - assert isinstance(packages[0], packagedcode.models.IsoImagePackage) + assert isinstance(packages[0], models.PackageData) def test_recognize_package_data_does_not_recognize_plain_tarball(self): test_file = self.get_test_loc('archives/tarred_bzipped.tar.bz2') @@ -89,124 +77,124 @@ def test_recognize_maven_dot_pom(self): test_file = self.get_test_loc('m2/aspectj/aspectjrt/1.5.3/aspectjrt-1.5.3.pom') packages = recognize_package_data(test_file) assert packages - assert isinstance(packages[0], maven.MavenPomPackageData) + assert isinstance(packages[0], models.PackageData) def test_recognize_maven_pom_xml(self): test_file = self.get_test_loc('maven2/pom-generic/pom.xml') packages = recognize_package_data(test_file) assert packages - assert isinstance(packages[0], maven.MavenPomPackageData) + assert isinstance(packages[0], models.PackageData) def test_recognize_npm(self): test_file = self.get_test_loc('recon/package.json') packages = recognize_package_data(test_file) assert packages - assert isinstance(packages[0], npm.NpmPackageData) + assert isinstance(packages[0], models.PackageData) def test_recognize_cargo(self): test_file = self.get_test_loc('recon/Cargo.toml') packages = recognize_package_data(test_file) assert packages - assert isinstance(packages[0], cargo.RustCargoCrate) + assert isinstance(packages[0], models.PackageData) def test_recognize_opam(self): test_file = self.get_test_loc('recon/opam') packages = recognize_package_data(test_file) assert packages - assert isinstance(packages[0], opam.OpamPackageData) + assert isinstance(packages[0], models.PackageData) def test_recognize_opam1(self): test_file = self.get_test_loc('recon/base.opam') packages = recognize_package_data(test_file) assert packages - assert isinstance(packages[0], opam.OpamPackageData) + assert isinstance(packages[0], models.PackageData) def test_recognize_composer(self): test_file = self.get_test_loc('recon/composer.json') packages = recognize_package_data(test_file) assert packages - assert isinstance(packages[0], phpcomposer.PhpComposerPackageData) + assert isinstance(packages[0], models.PackageData) def test_recognize_haxe(self): test_file = self.get_test_loc('recon/haxelib.json') packages = recognize_package_data(test_file) assert packages - assert isinstance(packages[0], haxe.HaxePackageData) + assert isinstance(packages[0], models.PackageData) def test_recognize_freebsd(self): test_file = self.get_test_loc('freebsd/multi_license/+COMPACT_MANIFEST') packages = recognize_package_data(test_file) assert packages - assert isinstance(packages[0], freebsd.FreeBSDPackageData) + assert isinstance(packages[0], models.PackageData) def test_recognize_nuget(self): test_file = self.get_test_loc('recon/bootstrap.nuspec') packages = recognize_package_data(test_file) assert packages - assert isinstance(packages[0], nuget.NugetPackageData) + assert isinstance(packages[0], models.PackageData) def test_recognize_winexe(self): test_file = self.get_test_loc('win_pe/tre4.dll') packages = recognize_package_data(test_file) assert packages - assert isinstance(packages[0], win_pe.WindowsExecutableData) + assert isinstance(packages[0], models.PackageData) def test_recognize_bower(self): test_file = self.get_test_loc('bower/basic/bower.json') packages = recognize_package_data(test_file) assert packages - assert isinstance(packages[0], bower.BowerPackageData) + assert isinstance(packages[0], models.PackageData) def test_recognize_cpan(self): test_file = self.get_test_loc('cpan/MANIFEST') packages = recognize_package_data(test_file) assert packages - assert isinstance(packages[0], models.CpanModule) + assert isinstance(packages[0], models.PackageData) def test_recognize_python2(self): test_file = self.get_test_loc('recon/pypi/atomicwrites/atomicwrites-1.2.1-py2.py3-none-any.whl') packages = recognize_package_data(test_file) assert packages - assert isinstance(packages[0], pypi.PythonPackageData) + assert isinstance(packages[0], models.PackageData) def test_recognize_python3(self): - test_file = self.get_test_loc('recon/pypi/Six/METADATA') + test_file = self.get_test_loc('recon/pypi/Six/Six.dist-info/METADATA') packages = recognize_package_data(test_file) assert packages - assert isinstance(packages[0], pypi.PythonPackageData) + assert isinstance(packages[0], models.PackageData) def test_recognize_python5(self): test_file = self.get_test_loc('recon/pypi/TicketImport/PKG-INFO') packages = recognize_package_data(test_file) assert packages - assert isinstance(packages[0], pypi.PythonPackageData) + assert isinstance(packages[0], models.PackageData) def test_recognize_python6(self): test_file = self.get_test_loc('recon/pypi/arpy/setup.py') packages = recognize_package_data(test_file) assert packages - assert isinstance(packages[0], pypi.PythonPackageData) + assert isinstance(packages[0], models.PackageData) def test_recognize_python7(self): test_file = self.get_test_loc('recon/pypi/atomicwrites/Pipfile.lock') packages = recognize_package_data(test_file) assert packages - assert isinstance(packages[0], pypi.PythonPackageData) + assert isinstance(packages[0], models.PackageData) def test_recognize_python8(self): test_file = self.get_test_loc('recon/pypi/requirements/requirements.txt') packages = recognize_package_data(test_file) assert packages - assert isinstance(packages[0], pypi.PythonPackageData) + assert isinstance(packages[0], models.PackageData) def test_recognize_go_mod(self): test_file = self.get_test_loc('golang/gomod/kingpin/go.mod') packages = recognize_package_data(test_file) assert packages - assert isinstance(packages[0], golang.GolangPackageData) + assert isinstance(packages[0], models.PackageData) def test_recognize_go_sum(self): test_file = self.get_test_loc('golang/gosum/sample1/go.sum') packages = recognize_package_data(test_file) assert packages - assert isinstance(packages[0], golang.GolangPackageData) + assert isinstance(packages[0], models.PackageData) diff --git a/tests/packagedcode/test_rpm.py b/tests/packagedcode/test_rpm.py index baa71277acc..905cd3182ca 100644 --- a/tests/packagedcode/test_rpm.py +++ b/tests/packagedcode/test_rpm.py @@ -22,7 +22,7 @@ class TestRpmBasics(FileBasedTesting): def test_parse_to_package(self): test_file = self.get_test_loc('rpm/header/libproxy-bin-0.3.0-4.el6_3.x86_64.rpm') - for package_data in rpm.RpmManifest.recognize(test_file): + for package_data in rpm.RpmArchiveHandler.parse(test_file): break expected = [ @@ -60,14 +60,15 @@ def test_parse_to_package(self): ('license_expression', None), ('declared_license', 'LGPLv2+'), ('notice_text', None), - ('contains_source_code', None), ('source_packages', [ 'pkg:rpm/libproxy@0.3.0-4.el6_3?arch=src']), + ('file_references', []), ('extra_data', {}), ('dependencies', []), - ('purl', 'pkg:rpm/libproxy-bin@0.3.0-4.el6_3'), ('repository_homepage_url', None), ('repository_download_url', None), ('api_data_url', None), + ('datasource_id', 'rpm_archive'), + ('purl', 'pkg:rpm/libproxy-bin@0.3.0-4.el6_3'), ] assert list(package_data.to_dict().items()) == expected @@ -79,6 +80,7 @@ def test_pyrpm_basic(self): expected = { 'arch': 'noarch', 'epoch': None, + 'files_digest_algo': None, 'description': 'These bindings permit access to QuesoGLC, an ' 'open source\nimplementation of TrueType font ' 'rendering for OpenGL.', @@ -130,11 +132,11 @@ def test_get_rpm_tags_(self): def test_rpm_is_manifest_non_rpm_file(self): test_file = self.get_test_loc('rpm/README.txt') - assert not rpm.RpmManifest.is_package_data_file(test_file) + assert not rpm.RpmArchiveHandler.is_datafile(test_file) def test_rpm_is_manifest_rpm_file(self): test_file = self.get_test_loc('rpm/header/python-glc-0.7.1-1.src.rpm') - assert rpm.RpmManifest.is_package_data_file(test_file) + assert rpm.RpmArchiveHandler.is_datafile(test_file) def check_json(result, expected_file, regen=REGEN_TEST_FIXTURES): diff --git a/tests/packagedcode/test_rpm_installed.py b/tests/packagedcode/test_rpm_installed.py index 14bcc801ab7..63d0e0ca1db 100644 --- a/tests/packagedcode/test_rpm_installed.py +++ b/tests/packagedcode/test_rpm_installed.py @@ -10,10 +10,12 @@ import json import os +from functools import partial from unittest import skipIf from commoncode.system import on_linux +from packagedcode.rpm import RpmInstalledSqliteDatabaseHandler from packagedcode import rpm_installed from packages_test_utils import check_result_equals_expected_json from packages_test_utils import PackageTester @@ -38,6 +40,16 @@ def check_files_equals(result, expected, regen=REGEN_TEST_FIXTURES): assert result_content == expected_content +rpm_datasource_id = RpmInstalledSqliteDatabaseHandler.datasource_id +rpm_package_type = RpmInstalledSqliteDatabaseHandler.default_package_type + +parse_rpm_xmlish = partial( + rpm_installed.parse_rpm_xmlish, + datasource_id=RpmInstalledSqliteDatabaseHandler.datasource_id, + package_type=RpmInstalledSqliteDatabaseHandler.default_package_type, +) + + class TestRpmInstalled(PackageTester): test_data_dir = os.path.join(os.path.dirname(__file__), 'data') @@ -53,20 +65,20 @@ def test_collect_installed_rpmdb_xmlish_from_rootfs(self): def test_parse_rpm_xmlish(self): test_installed = self.get_test_loc('rpm_installed/xmlish/centos-5-rpms.xmlish') expected = self.get_test_loc('rpm_installed/xmlish/centos-5-rpms.xmlish-expected.json') - packages = rpm_installed.parse_rpm_xmlish(test_installed) + packages = parse_rpm_xmlish(location=test_installed) result = [package.to_dict(_detailed=True) for package in packages] result = json.loads(json.dumps(result)) check_result_equals_expected_json(result, expected, regen=REGEN_TEST_FIXTURES) - def test_parse_rpm_xmlish_does_not_with_empty_or_missing_location(self): - rpm_installed.parse_rpm_xmlish(None) - rpm_installed.parse_rpm_xmlish('') - rpm_installed.parse_rpm_xmlish('/foo/bar/does-not-exists') + def test_parse_rpm_xmlish_does_not_fail_with_empty_or_missing_location(self): + parse_rpm_xmlish(location=None) + parse_rpm_xmlish(location='') + parse_rpm_xmlish(location='/foo/bar/does-not-exists') def test_parse_rpm_xmlish_can_detect_license(self): test_installed = self.get_test_loc('rpm_installed/xmlish/centos-5-rpms.xmlish') expected = self.get_test_loc('rpm_installed/xmlish/centos-5-rpms.xmlish-with-license-expected.json') - packages = rpm_installed.parse_rpm_xmlish(test_installed, detect_licenses=True) + packages = parse_rpm_xmlish(location=test_installed) result = [package.to_dict(_detailed=True) for package in packages] result = json.loads(json.dumps(result)) check_result_equals_expected_json(result, expected, regen=REGEN_TEST_FIXTURES) @@ -74,7 +86,7 @@ def test_parse_rpm_xmlish_can_detect_license(self): def test_parse_rpm_xmlish_can_parse_centos8(self): test_installed = self.get_test_loc('rpm_installed/distro-xmlish/centos-8-rpms.xmlish') expected = self.get_test_loc('rpm_installed/distro-xmlish/centos-8-rpms.xmlish-expected.json') - packages = rpm_installed.parse_rpm_xmlish(test_installed, detect_licenses=True) + packages = parse_rpm_xmlish(location=test_installed) result = [package.to_dict(_detailed=True) for package in packages] result = json.loads(json.dumps(result)) check_result_equals_expected_json(result, expected, regen=REGEN_TEST_FIXTURES) @@ -82,7 +94,7 @@ def test_parse_rpm_xmlish_can_parse_centos8(self): def test_parse_rpm_xmlish_can_parse_fc33(self): test_installed = self.get_test_loc('rpm_installed/distro-xmlish/fc33-rpms.xmlish') expected = self.get_test_loc('rpm_installed/distro-xmlish/fc33-rpms.xmlish-expected.json') - packages = rpm_installed.parse_rpm_xmlish(test_installed, detect_licenses=True) + packages = parse_rpm_xmlish(location=test_installed) result = [package.to_dict(_detailed=True) for package in packages] result = json.loads(json.dumps(result)) check_result_equals_expected_json(result, expected, regen=REGEN_TEST_FIXTURES) @@ -90,7 +102,7 @@ def test_parse_rpm_xmlish_can_parse_fc33(self): def test_parse_rpm_xmlish_can_parse_openmandriva(self): test_installed = self.get_test_loc('rpm_installed/distro-xmlish/openmandriva-rpms.xmlish') expected = self.get_test_loc('rpm_installed/distro-xmlish/openmandriva-rpms.xmlish-expected.json') - packages = rpm_installed.parse_rpm_xmlish(test_installed, detect_licenses=True) + packages = parse_rpm_xmlish(location=test_installed) result = [package.to_dict(_detailed=True) for package in packages] result = json.loads(json.dumps(result)) check_result_equals_expected_json(result, expected, regen=REGEN_TEST_FIXTURES) @@ -98,7 +110,7 @@ def test_parse_rpm_xmlish_can_parse_openmandriva(self): def test_parse_rpm_xmlish_can_parse_opensuse(self): test_installed = self.get_test_loc('rpm_installed/distro-xmlish/opensuse-rpms.xmlish') expected = self.get_test_loc('rpm_installed/distro-xmlish/opensuse-rpms.xmlish-expected.json') - packages = rpm_installed.parse_rpm_xmlish(test_installed, detect_licenses=True) + packages = parse_rpm_xmlish(location=test_installed) result = [package.to_dict(_detailed=True) for package in packages] result = json.loads(json.dumps(result)) check_result_equals_expected_json(result, expected, regen=REGEN_TEST_FIXTURES) @@ -106,7 +118,7 @@ def test_parse_rpm_xmlish_can_parse_opensuse(self): def test_parse_rpm_xmlish_can_parse_rhel(self): test_installed = self.get_test_loc('rpm_installed/distro-xmlish/rhel-rpms.xmlish') expected = self.get_test_loc('rpm_installed/distro-xmlish/rhel-rpms.xmlish-expected.json') - packages = rpm_installed.parse_rpm_xmlish(test_installed, detect_licenses=True) + packages = parse_rpm_xmlish(location=test_installed) result = [package.to_dict(_detailed=True) for package in packages] result = json.loads(json.dumps(result)) check_result_equals_expected_json(result, expected, regen=REGEN_TEST_FIXTURES) diff --git a/tests/packagedcode/test_rubygems.py b/tests/packagedcode/test_rubygems.py index 08e13dfc5d9..0ac0d6dad57 100644 --- a/tests/packagedcode/test_rubygems.py +++ b/tests/packagedcode/test_rubygems.py @@ -11,7 +11,6 @@ import json import os -import saneyaml from commoncode import text from commoncode.testcase import FileBasedTesting @@ -19,65 +18,65 @@ from packages_test_utils import PackageTester from scancode_config import REGEN_TEST_FIXTURES - # TODO: Add test with https://rubygems.org/gems/pbox2d/versions/1.0.3-java # this is a multiple personality package (Java and Ruby) # see also https://rubygems.org/downloads/jaro_winkler-1.5.1-java.gem + class TestGemSpec(PackageTester): test_data_dir = os.path.join(os.path.dirname(__file__), 'data') def test_is_manifest_ruby_gemspec(self): test_file = self.get_test_loc('rubygems/gemspec/address_standardization.gemspec') - assert rubygems.GemSpec.is_package_data_file(test_file) + assert rubygems.GemspecHandler.is_datafile(test_file) def test_rubygems_can_parse_gemspec_address_standardization_gemspec(self): test_file = self.get_test_loc('rubygems/gemspec/address_standardization.gemspec') expected_loc = self.get_test_loc('rubygems/gemspec/address_standardization.gemspec.expected.json') - packages = rubygems.GemSpec.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = rubygems.GemspecHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) def test_rubygems_can_parse_gemspec_arel_gemspec(self): test_file = self.get_test_loc('rubygems/gemspec/arel.gemspec') expected_loc = self.get_test_loc('rubygems/gemspec/arel.gemspec.expected.json') - packages = rubygems.GemSpec.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = rubygems.GemspecHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) def test_rubygems_cat_gemspec(self): test_file = self.get_test_loc('rubygems/gemspec/cat.gemspec') expected_loc = self.get_test_loc('rubygems/gemspec/cat.gemspec.expected.json') - packages = rubygems.GemSpec.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = rubygems.GemspecHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) def test_rubygems_github_gemspec(self): test_file = self.get_test_loc('rubygems/gemspec/github.gemspec') expected_loc = self.get_test_loc('rubygems/gemspec/github.gemspec.expected.json') - packages = rubygems.GemSpec.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = rubygems.GemspecHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) def test_rubygems_mecab_ruby_gemspec(self): test_file = self.get_test_loc('rubygems/gemspec/mecab-ruby.gemspec') expected_loc = self.get_test_loc('rubygems/gemspec/mecab-ruby.gemspec.expected.json') - packages = rubygems.GemSpec.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = rubygems.GemspecHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) def test_rubygems_oj_gemspec(self): test_file = self.get_test_loc('rubygems/gemspec/oj.gemspec') expected_loc = self.get_test_loc('rubygems/gemspec/oj.gemspec.expected.json') - packages = rubygems.GemSpec.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = rubygems.GemspecHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) def test_rubygems_rubocop_gemspec(self): test_file = self.get_test_loc('rubygems/gemspec/rubocop.gemspec') expected_loc = self.get_test_loc('rubygems/gemspec/rubocop.gemspec.expected.json') - packages = rubygems.GemSpec.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = rubygems.GemspecHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) def test_rubygems_with_variables_gemspec(self): test_file = self.get_test_loc('rubygems/gemspec/with_variables.gemspec') expected_loc = self.get_test_loc('rubygems/gemspec/with_variables.gemspec.expected.json') - packages = rubygems.GemSpec.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = rubygems.GemspecHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) class TestRubyGemMetadata(FileBasedTesting): @@ -85,11 +84,11 @@ class TestRubyGemMetadata(FileBasedTesting): def test_is_manifest_ruby_archive_extracted(self): test_file = self.get_test_loc('rubygems/metadata/metadata.gz-extract') - assert rubygems.GemArchiveExtracted.is_package_data_file(test_file) + assert rubygems.GemMetadataArchiveExtractedHandler.is_datafile(test_file) def test_build_rubygem_package_does_not_crash(self): test_file = self.get_test_loc('rubygems/metadata/metadata.gz-extract') - rubygems.GemArchiveExtracted.recognize(test_file) + rubygems.GemMetadataArchiveExtractedHandler.parse(test_file) def relative_walk(dir_path, extension='.gem'): @@ -110,13 +109,14 @@ def create_test_function(test_loc, test_name, regen=REGEN_TEST_FIXTURES): """ Return a test function closed on test arguments. """ + # closure on the test params def check_rubygem(self): loc = self.get_test_loc(test_loc) expected_json_loc = loc + '.json' - packages = list(rubygems.GemArchive.recognize(location=loc)) + packages = list(rubygems.GemArchiveHandler.parse(location=loc)) package = packages[0] - package.license_expression = package.compute_normalized_license() + package.license_expression = rubygems.GemArchiveHandler.compute_normalized_license(package) package = [package.to_dict()] if regen: with io.open(expected_json_loc, 'w') as ex: @@ -159,14 +159,18 @@ class TestGemfileLock(PackageTester): def test_is_manifest_ruby_gemfilelock(self): test_file = self.get_test_loc('rubygems/gemfile-lock/Gemfile.lock') - assert rubygems.GemfileLock.is_package_data_file(test_file) + assert rubygems.GemfileLockHandler.is_datafile(test_file) def test_ruby_gemfile_lock_as_dict(self): test_file = self.get_test_loc('rubygems/gemfile-lock/Gemfile.lock') expected_loc = self.get_test_loc('rubygems/gemfile-lock/Gemfile.lock.expected') - packages = rubygems.GemfileLock.recognize(test_file) - self.check_packages(packages, expected_loc, regen=REGEN_TEST_FIXTURES) + packages = rubygems.GemfileLockHandler.parse(test_file) + self.check_packages_data(packages, expected_loc, regen=REGEN_TEST_FIXTURES) -build_tests(test_dir='rubygems/gem', clazz=TestRubyGemsDataDriven, - prefix='test_get_gem_package_', regen=REGEN_TEST_FIXTURES) +build_tests( + test_dir='rubygems/gem', + clazz=TestRubyGemsDataDriven, + prefix='test_get_gem_package_', + regen=REGEN_TEST_FIXTURES +) diff --git a/tests/packagedcode/test_win_pe.py b/tests/packagedcode/test_win_pe.py index 64d14ab3216..7da4f65f72b 100644 --- a/tests/packagedcode/test_win_pe.py +++ b/tests/packagedcode/test_win_pe.py @@ -39,7 +39,7 @@ def check_win_pe(self, test_file, regen=REGEN_TEST_FIXTURES): def test_gosum_is_package_data_file(self): test_file = self.get_test_loc('win_pe/_ctypes_test.pyd') - assert win_pe.WindowsExecutable.is_package_data_file(test_file) + assert win_pe.WindowsExecutableHandler.is_datafile(test_file) def test_win_pe_ctypes_test_pyd(self): test_file = self.get_test_loc('win_pe/_ctypes_test.pyd') @@ -109,6 +109,6 @@ class TestWinPeParseToPackage(TestWinPePeInfo): def get_results(self, test_file): package_data = [] - for manifest in win_pe.WindowsExecutable.recognize(test_file): + for manifest in win_pe.WindowsExecutableHandler.parse(test_file): package_data.append(manifest.to_dict()) return package_data diff --git a/tests/packagedcode/test_win_reg.py b/tests/packagedcode/test_win_reg.py index 7777f2c3029..2fa6bcc3c6b 100644 --- a/tests/packagedcode/test_win_reg.py +++ b/tests/packagedcode/test_win_reg.py @@ -14,10 +14,12 @@ from commoncode.system import on_linux +from scancode.cli_test_utils import check_json_scan +from scancode.cli_test_utils import run_scan_click +from packagedcode.win_reg import InstalledProgramFromDockerFilesSoftwareHandler from packagedcode.win_reg import create_absolute_installed_file_path -from packagedcode.win_reg import get_installed_packages -from packagedcode.win_reg import _report_installed_dotnet_versions -from packagedcode.win_reg import _report_installed_programs +from packagedcode.win_reg import get_installed_dotnet_versions_from_regtree +from packagedcode.win_reg import get_installed_windows_programs_from_regtree from packagedcode.win_reg import remove_drive_letter from packages_test_utils import check_result_equals_expected_json from packages_test_utils import PackageTester @@ -34,7 +36,11 @@ def test_win_reg__report_installed_dotnet_versions(self): with open(test_file) as f: software_registry_entries = json.load(f) results = [p.to_dict(_detailed=True) - for p in _report_installed_dotnet_versions(software_registry_entries)] + for p in get_installed_dotnet_versions_from_regtree( + registry_tree=software_registry_entries, + datasource_id=InstalledProgramFromDockerFilesSoftwareHandler.datasource_id, + package_type=InstalledProgramFromDockerFilesSoftwareHandler.default_package_type, + )] check_result_equals_expected_json(results, expected_loc, regen=REGEN_TEST_FIXTURES) def test_win_reg__report_installed_programs(self): @@ -43,7 +49,11 @@ def test_win_reg__report_installed_programs(self): with open(test_file) as f: software_registry_entries = json.load(f) results = [p.to_dict(_detailed=True) - for p in _report_installed_programs(software_registry_entries)] + for p in get_installed_windows_programs_from_regtree( + registry_tree=software_registry_entries, + datasource_id=InstalledProgramFromDockerFilesSoftwareHandler.datasource_id, + package_type=InstalledProgramFromDockerFilesSoftwareHandler.default_package_type, + )] check_result_equals_expected_json(results, expected_loc, regen=REGEN_TEST_FIXTURES) def test_win_reg_remove_drive_letter(self): @@ -59,8 +69,12 @@ def test_win_reg_create_absolute_installed_file_path(self): expected_path = '/home/test/c/Program Files/Test Program' self.assertEqual(result, expected_path) - def test_win_reg_get_installed_packages(self): - test_root_dir = self.get_test_loc('win_reg/get_installed_packages_docker/layer') - expected_loc = self.get_test_loc('win_reg/get_installed_packages_docker/expected-results') - results = list(p.to_dict(_detailed=True) for p in get_installed_packages(test_root_dir)) - check_result_equals_expected_json(results, expected_loc, regen=REGEN_TEST_FIXTURES) + def test_win_reg_end_to_end(self): + test_dir = self.get_test_loc('win_reg/get_installed_packages_docker/layer') + expected_file = self.get_test_loc( + 'win_reg/get_installed_packages_docker/expected-results', + must_exist=False, + ) + result_file = self.get_temp_file('results.json') + run_scan_click(['--package', test_dir, '--json-pp', result_file]) + check_json_scan(expected_file, result_file, regen=REGEN_TEST_FIXTURES) diff --git a/tests/packagedcode/test_windows.py b/tests/packagedcode/test_windows.py index 0aa0febdea0..b7743d9d3fb 100644 --- a/tests/packagedcode/test_windows.py +++ b/tests/packagedcode/test_windows.py @@ -19,10 +19,10 @@ class TestWindows(PackageTester): def test_gosum_is_package_data_file(self): test_file = self.get_test_loc('windows/mum/test.mum') - assert windows.MicrosoftUpdateManifest.is_package_data_file(test_file) + assert windows.MicrosoftUpdateManifestHandler.is_datafile(test_file) def test_windows_mum_parse(self): test_file = self.get_test_loc('windows/mum/test.mum') expected_loc = self.get_test_loc('windows/mum/test.mum.expected') - package_data = windows.MicrosoftUpdateManifest.recognize(test_file) - self.check_packages(package_data, expected_loc, regen=REGEN_TEST_FIXTURES) + package_data = windows.MicrosoftUpdateManifestHandler.parse(test_file) + self.check_packages_data(package_data, expected_loc, regen=REGEN_TEST_FIXTURES) diff --git a/tests/scancode/data/composer/composer.expected.json b/tests/scancode/data/composer/composer.expected.json index 10bd08f69d7..bc596b11ce3 100644 --- a/tests/scancode/data/composer/composer.expected.json +++ b/tests/scancode/data/composer/composer.expected.json @@ -27,9 +27,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:composer/php", - "for_package": "pkg:composer/laravel/laravel", - "lockfile": "composer.json" + "dependency_uid": "pkg:composer/php?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:composer/laravel/laravel?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "composer.json", + "datasource_id": "php_composer_json" }, { "purl": "pkg:composer/fideloper/proxy", @@ -39,9 +40,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:composer/fideloper/proxy", - "for_package": "pkg:composer/laravel/laravel", - "lockfile": "composer.json" + "dependency_uid": "pkg:composer/fideloper/proxy?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:composer/laravel/laravel?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "composer.json", + "datasource_id": "php_composer_json" }, { "purl": "pkg:composer/laravel/framework", @@ -51,9 +53,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:composer/laravel/framework", - "for_package": "pkg:composer/laravel/laravel", - "lockfile": "composer.json" + "dependency_uid": "pkg:composer/laravel/framework?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:composer/laravel/laravel?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "composer.json", + "datasource_id": "php_composer_json" }, { "purl": "pkg:composer/laravel/tinker", @@ -63,9 +66,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:composer/laravel/tinker", - "for_package": "pkg:composer/laravel/laravel", - "lockfile": "composer.json" + "dependency_uid": "pkg:composer/laravel/tinker?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:composer/laravel/laravel?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "composer.json", + "datasource_id": "php_composer_json" }, { "purl": "pkg:composer/filp/whoops", @@ -75,9 +79,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:composer/filp/whoops", - "for_package": "pkg:composer/laravel/laravel", - "lockfile": "composer.json" + "dependency_uid": "pkg:composer/filp/whoops?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:composer/laravel/laravel?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "composer.json", + "datasource_id": "php_composer_json" }, { "purl": "pkg:composer/fzaninotto/faker", @@ -87,9 +92,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:composer/fzaninotto/faker", - "for_package": "pkg:composer/laravel/laravel", - "lockfile": "composer.json" + "dependency_uid": "pkg:composer/fzaninotto/faker?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:composer/laravel/laravel?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "composer.json", + "datasource_id": "php_composer_json" }, { "purl": "pkg:composer/mockery/mockery", @@ -99,9 +105,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:composer/mockery/mockery", - "for_package": "pkg:composer/laravel/laravel", - "lockfile": "composer.json" + "dependency_uid": "pkg:composer/mockery/mockery?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:composer/laravel/laravel?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "composer.json", + "datasource_id": "php_composer_json" }, { "purl": "pkg:composer/phpunit/phpunit", @@ -111,9 +118,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:composer/phpunit/phpunit", - "for_package": "pkg:composer/laravel/laravel", - "lockfile": "composer.json" + "dependency_uid": "pkg:composer/phpunit/phpunit?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:composer/laravel/laravel?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "composer.json", + "datasource_id": "php_composer_json" } ], "packages": [ @@ -151,20 +159,19 @@ "license_expression": "mit", "declared_license": "MIT", "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, - "package_uuid": "pkg:composer/laravel/laravel", - "package_data_files": [ + "repository_homepage_url": "https://packagist.org/packages/laravel/laravel", + "repository_download_url": null, + "api_data_url": "https://packagist.org/p/packages/laravel/laravel.json", + "package_uid": "pkg:composer/laravel/laravel?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "composer.json" ], - "files": [ - "composer.json" + "datasource_ids": [ + "php_composer_json" ], - "purl": "pkg:composer/laravel/laravel", - "repository_homepage_url": "https://packagist.org/packages/laravel/laravel", - "repository_download_url": null, - "api_data_url": "https://packagist.org/p/packages/laravel/laravel.json" + "purl": "pkg:composer/laravel/laravel" } ], "files": [ @@ -206,8 +213,8 @@ "license_expression": "mit", "declared_license": "MIT", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -283,14 +290,15 @@ "resolved_package": {} } ], - "purl": "pkg:composer/laravel/laravel", "repository_homepage_url": "https://packagist.org/packages/laravel/laravel", "repository_download_url": null, - "api_data_url": "https://packagist.org/p/packages/laravel/laravel.json" + "api_data_url": "https://packagist.org/p/packages/laravel/laravel.json", + "datasource_id": "php_composer_json", + "purl": "pkg:composer/laravel/laravel" } ], "for_packages": [ - "pkg:composer/laravel/laravel" + "pkg:composer/laravel/laravel?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] } diff --git a/tests/scancode/data/help/help.txt b/tests/scancode/data/help/help.txt index bec706ddd48..c6e62546698 100644 --- a/tests/scancode/data/help/help.txt +++ b/tests/scancode/data/help/help.txt @@ -9,7 +9,8 @@ Options: primary scans: -l, --license Scan for licenses. - -p, --package Scan for package data and build scripts. + -p, --package Scan for package and dependency manifests, lockfiles + and related data. -c, --copyright Scan for copyrights. other scans: @@ -163,7 +164,7 @@ Options: --about Show information about ScanCode and licensing and exit. --version Show the version and exit. --examples Show command examples and exit. - --list-packages Show the list of supported package types and exit. + --list-packages Show the list of supported package manifest parsers and exit. --plugins Show the list of available ScanCode plugins and exit. --print-options Show the list of selected options and exit. diff --git a/tests/scancode/data/only_findings/expected.json b/tests/scancode/data/only_findings/expected.json index 05991149cd2..d216053ec31 100644 --- a/tests/scancode/data/only_findings/expected.json +++ b/tests/scancode/data/only_findings/expected.json @@ -14,7 +14,6 @@ "qualifiers": {}, "subpath": null, "primary_language": null, - "contains_source_code": null, "description": null, "size": null, "release_date": null, diff --git a/tests/scancode/data/plugin_consolidate/component-package-build-expected.json b/tests/scancode/data/plugin_consolidate/component-package-build-expected.json index 2e9c5e9c529..0d0daa39d31 100644 --- a/tests/scancode/data/plugin_consolidate/component-package-build-expected.json +++ b/tests/scancode/data/plugin_consolidate/component-package-build-expected.json @@ -78,9 +78,7 @@ "apache-2.0" ], "notice_text": null, - "root_path": "component-package-build/package", "dependencies": [], - "contains_source_code": null, "source_packages": [], "purl": "pkg:npm/test-package@0.0.1", "repository_homepage_url": "https://www.npmjs.com/package/test-package", @@ -221,9 +219,7 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "root_path": "component-package-build/build", "dependencies": [], - "contains_source_code": null, "source_packages": [], "purl": "pkg:buck/demo", "repository_homepage_url": null, @@ -728,9 +724,7 @@ "apache-2.0" ], "notice_text": null, - "root_path": "component-package-build/package", "dependencies": [], - "contains_source_code": null, "source_packages": [], "purl": "pkg:npm/test-package@0.0.1", "repository_homepage_url": "https://www.npmjs.com/package/test-package", diff --git a/tests/scancode/data/plugin_consolidate/component-package-expected.json b/tests/scancode/data/plugin_consolidate/component-package-expected.json index 35f2429ad0d..4cd294b034e 100644 --- a/tests/scancode/data/plugin_consolidate/component-package-expected.json +++ b/tests/scancode/data/plugin_consolidate/component-package-expected.json @@ -66,9 +66,7 @@ "apache-2.0" ], "notice_text": null, - "root_path": "component-package/package", "dependencies": [], - "contains_source_code": null, "source_packages": [], "purl": "pkg:npm/test-package@0.0.1", "repository_homepage_url": "https://www.npmjs.com/package/test-package", @@ -616,9 +614,7 @@ "apache-2.0" ], "notice_text": null, - "root_path": "component-package/package", "dependencies": [], - "contains_source_code": null, "source_packages": [], "purl": "pkg:npm/test-package@0.0.1", "repository_homepage_url": "https://www.npmjs.com/package/test-package", diff --git a/tests/scancode/data/plugin_consolidate/package-files-not-counted-in-license-holders-expected.json b/tests/scancode/data/plugin_consolidate/package-files-not-counted-in-license-holders-expected.json index 6aa7d737a25..cbf0b94afd6 100644 --- a/tests/scancode/data/plugin_consolidate/package-files-not-counted-in-license-holders-expected.json +++ b/tests/scancode/data/plugin_consolidate/package-files-not-counted-in-license-holders-expected.json @@ -66,9 +66,7 @@ "apache-2.0" ], "notice_text": null, - "root_path": "package-files-not-counted-in-license-holders/package", "dependencies": [], - "contains_source_code": null, "source_packages": [], "purl": "pkg:npm/test-package@0.0.1", "repository_homepage_url": "https://www.npmjs.com/package/test-package", @@ -259,9 +257,7 @@ "apache-2.0" ], "notice_text": null, - "root_path": "package-files-not-counted-in-license-holders/package", "dependencies": [], - "contains_source_code": null, "source_packages": [], "purl": "pkg:npm/test-package@0.0.1", "repository_homepage_url": "https://www.npmjs.com/package/test-package", diff --git a/tests/scancode/data/plugin_consolidate/package-fileset-expected.json b/tests/scancode/data/plugin_consolidate/package-fileset-expected.json index 7f1a42f339e..69f49e95d44 100644 --- a/tests/scancode/data/plugin_consolidate/package-fileset-expected.json +++ b/tests/scancode/data/plugin_consolidate/package-fileset-expected.json @@ -49,9 +49,7 @@ "apache-2.0" ], "notice_text": null, - "root_path": "package", "dependencies": [], - "contains_source_code": null, "source_packages": [], "purl": "pkg:npm/test-package@0.0.1", "repository_homepage_url": "https://www.npmjs.com/package/test-package", @@ -195,9 +193,7 @@ "apache-2.0" ], "notice_text": null, - "root_path": "package", "dependencies": [], - "contains_source_code": null, "source_packages": [], "purl": "pkg:npm/test-package@0.0.1", "repository_homepage_url": "https://www.npmjs.com/package/test-package", diff --git a/tests/scancode/data/plugin_consolidate/package-manifest-expected.json b/tests/scancode/data/plugin_consolidate/package-manifest-expected.json index 0e50180b962..dca144d2a7d 100644 --- a/tests/scancode/data/plugin_consolidate/package-manifest-expected.json +++ b/tests/scancode/data/plugin_consolidate/package-manifest-expected.json @@ -49,9 +49,7 @@ "apache-2.0" ], "notice_text": null, - "root_path": "package-manifest", "dependencies": [], - "contains_source_code": null, "source_packages": [], "purl": "pkg:npm/test-package@0.0.1", "repository_homepage_url": "https://www.npmjs.com/package/test-package", @@ -191,9 +189,7 @@ "apache-2.0" ], "notice_text": null, - "root_path": "package-manifest", "dependencies": [], - "contains_source_code": null, "source_packages": [], "purl": "pkg:npm/test-package@0.0.1", "repository_homepage_url": "https://www.npmjs.com/package/test-package", diff --git a/tests/scancode/data/rpm/fping-2.4-0.b2.rhfc1.dag.i386.rpm.expected.json b/tests/scancode/data/rpm/fping-2.4-0.b2.rhfc1.dag.i386.rpm.expected.json index 01aad44ea9a..e4666bfd4ff 100644 --- a/tests/scancode/data/rpm/fping-2.4-0.b2.rhfc1.dag.i386.rpm.expected.json +++ b/tests/scancode/data/rpm/fping-2.4-0.b2.rhfc1.dag.i386.rpm.expected.json @@ -54,22 +54,21 @@ "license_expression": "unknown", "declared_license": "distributable", "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:rpm/fping@2.4-0.b2.rhfc1.dag?arch=src" ], "extra_data": {}, - "package_uuid": "pkg:rpm/fping@2.4-0.b2.rhfc1.dag", - "package_data_files": [ + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "package_uid": "pkg:rpm/fping@2.4-0.b2.rhfc1.dag?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "fping-2.4-0.b2.rhfc1.dag.i386.rpm" ], - "files": [ - "fping-2.4-0.b2.rhfc1.dag.i386.rpm" + "datasource_ids": [ + "rpm_archive" ], - "purl": "pkg:rpm/fping@2.4-0.b2.rhfc1.dag", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null + "purl": "pkg:rpm/fping@2.4-0.b2.rhfc1.dag" } ], "files": [ @@ -108,23 +107,24 @@ "code_view_url": null, "vcs_url": null, "copyright": null, - "license_expression": "unknown", + "license_expression": null, "declared_license": "distributable", "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:rpm/fping@2.4-0.b2.rhfc1.dag?arch=src" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:rpm/fping@2.4-0.b2.rhfc1.dag", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "rpm_archive", + "purl": "pkg:rpm/fping@2.4-0.b2.rhfc1.dag" } ], "for_packages": [ - "pkg:rpm/fping@2.4-0.b2.rhfc1.dag" + "pkg:rpm/fping@2.4-0.b2.rhfc1.dag?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] } diff --git a/tests/scancode/test_cli.py b/tests/scancode/test_cli.py index 243c5851f65..6b555dbea6b 100644 --- a/tests/scancode/test_cli.py +++ b/tests/scancode/test_cli.py @@ -650,7 +650,7 @@ def test_scan_does_scan_php_composer(): expected_file = test_env.get_test_loc('composer/composer.expected.json') result_file = test_env.get_temp_file('results.json') run_scan_click(['--package', test_file, '--json', result_file]) - check_json_scan(expected_file, result_file, remove_instance_uuid=True, regen=REGEN_TEST_FIXTURES) + check_json_scan(expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES) def test_scan_does_scan_rpm(): @@ -658,7 +658,7 @@ def test_scan_does_scan_rpm(): expected_file = test_env.get_test_loc('rpm/fping-2.4-0.b2.rhfc1.dag.i386.rpm.expected.json') result_file = test_env.get_temp_file('results.json') run_scan_click(['--package', test_file, '--json', result_file]) - check_json_scan(expected_file, result_file, remove_instance_uuid=True, regen=REGEN_TEST_FIXTURES) + check_json_scan(expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES) def test_scan_cli_help(regen=REGEN_TEST_FIXTURES): diff --git a/tests/summarycode/data/full_summary/summary.expected.json b/tests/summarycode/data/full_summary/summary.expected.json new file mode 100644 index 00000000000..2fbc42215f1 --- /dev/null +++ b/tests/summarycode/data/full_summary/summary.expected.json @@ -0,0 +1,8695 @@ +{ + "headers": [ + { + "tool_name": "scancode-toolkit", + "options": { + "input": "", + "--copyright": true, + "--info": true, + "--json-pp": "", + "--license": true, + "--package": true, + "--summary": true + }, + "notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.", + "output_format_version": "3.0.0", + "message": null, + "errors": [], + "extra_data": { + "spdx_license_list_version": "3.16", + "files_count": 26 + } + } + ], + "dependencies": [ + { + "purl": "pkg:npm/abbrev", + "extracted_requirement": "~1.0.7", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/abbrev", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/ansi", + "extracted_requirement": "~0.3.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/ansi", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/ansicolors", + "extracted_requirement": "~0.3.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/ansicolors", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/ansistyles", + "extracted_requirement": "~0.1.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/ansistyles", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/archy", + "extracted_requirement": "~1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/archy", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/async-some", + "extracted_requirement": "~1.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/async-some", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/block-stream", + "extracted_requirement": "0.0.8", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/block-stream", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/char-spinner", + "extracted_requirement": "~1.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/char-spinner", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/chmodr", + "extracted_requirement": "~1.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/chmodr", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/chownr", + "extracted_requirement": "0.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/chownr", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/cmd-shim", + "extracted_requirement": "~2.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/cmd-shim", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/columnify", + "extracted_requirement": "~1.5.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/columnify", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/config-chain", + "extracted_requirement": "~1.1.9", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/config-chain", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/dezalgo", + "extracted_requirement": "~1.0.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/dezalgo", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/editor", + "extracted_requirement": "~1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/editor", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/fs-vacuum", + "extracted_requirement": "~1.2.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/fs-vacuum", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/fs-write-stream-atomic", + "extracted_requirement": "~1.0.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/fs-write-stream-atomic", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/fstream", + "extracted_requirement": "~1.0.7", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/fstream", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/fstream-npm", + "extracted_requirement": "~1.0.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/fstream-npm", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/github-url-from-git", + "extracted_requirement": "~1.4.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/github-url-from-git", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/github-url-from-username-repo", + "extracted_requirement": "~1.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/github-url-from-username-repo", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/glob", + "extracted_requirement": "~5.0.14", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/glob", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/graceful-fs", + "extracted_requirement": "~4.1.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/graceful-fs", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/hosted-git-info", + "extracted_requirement": "~2.1.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/hosted-git-info", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/inflight", + "extracted_requirement": "~1.0.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/inflight", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/inherits", + "extracted_requirement": "~2.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/inherits", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/ini", + "extracted_requirement": "~1.3.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/ini", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/init-package-json", + "extracted_requirement": "~1.7.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/init-package-json", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/lockfile", + "extracted_requirement": "~1.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/lockfile", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/lru-cache", + "extracted_requirement": "~2.6.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/lru-cache", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/minimatch", + "extracted_requirement": "~2.0.10", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/minimatch", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/mkdirp", + "extracted_requirement": "~0.5.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/mkdirp", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/node-gyp", + "extracted_requirement": "~2.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/node-gyp", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/nopt", + "extracted_requirement": "~3.0.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/nopt", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/normalize-git-url", + "extracted_requirement": "~3.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/normalize-git-url", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/normalize-package-data", + "extracted_requirement": "~2.3.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/normalize-package-data", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/npm-cache-filename", + "extracted_requirement": "~1.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/npm-cache-filename", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/npm-install-checks", + "extracted_requirement": "~1.0.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/npm-install-checks", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/npm-package-arg", + "extracted_requirement": "~4.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/npm-package-arg", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/npm-registry-client", + "extracted_requirement": "~6.5.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/npm-registry-client", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/npm-user-validate", + "extracted_requirement": "~0.1.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/npm-user-validate", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/npmlog", + "extracted_requirement": "~1.2.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/npmlog", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/once", + "extracted_requirement": "~1.3.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/once", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/opener", + "extracted_requirement": "~1.4.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/opener", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/osenv", + "extracted_requirement": "~0.1.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/osenv", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/path-is-inside", + "extracted_requirement": "~1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/path-is-inside", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/read", + "extracted_requirement": "~1.0.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/read", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/read-installed", + "extracted_requirement": "~4.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/read-installed", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/read-package-json", + "extracted_requirement": "~2.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/read-package-json", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/readable-stream", + "extracted_requirement": "~1.1.13", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/readable-stream", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/realize-package-specifier", + "extracted_requirement": "~3.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/realize-package-specifier", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/request", + "extracted_requirement": "~2.60.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/request", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/retry", + "extracted_requirement": "~0.6.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/retry", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/rimraf", + "extracted_requirement": "~2.4.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/rimraf", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/semver", + "extracted_requirement": "~5.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/semver", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/sha", + "extracted_requirement": "~1.3.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/sha", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/slide", + "extracted_requirement": "~1.1.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/slide", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/sorted-object", + "extracted_requirement": "~1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/sorted-object", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/spdx", + "extracted_requirement": "~0.4.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/spdx", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/tar", + "extracted_requirement": "~2.1.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/tar", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/text-table", + "extracted_requirement": "~0.2.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/text-table", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/uid-number", + "extracted_requirement": "0.0.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/uid-number", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/umask", + "extracted_requirement": "~1.1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/umask", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/validate-npm-package-name", + "extracted_requirement": "~2.2.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/validate-npm-package-name", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/which", + "extracted_requirement": "~1.1.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/which", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/wrappy", + "extracted_requirement": "~1.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/wrappy", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/write-file-atomic", + "extracted_requirement": "~1.1.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/write-file-atomic", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/validate-npm-package-license", + "extracted_requirement": "*", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/validate-npm-package-license", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/deep-equal", + "extracted_requirement": "~1.0.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/deep-equal", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/marked", + "extracted_requirement": "~0.3.3", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/marked", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/marked-man", + "extracted_requirement": "~0.1.5", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/marked-man", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/nock", + "extracted_requirement": "~2.10.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/nock", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/npm-registry-couchapp", + "extracted_requirement": "~2.6.7", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/npm-registry-couchapp", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/npm-registry-mock", + "extracted_requirement": "~1.0.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/npm-registry-mock", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/require-inject", + "extracted_requirement": "~1.2.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/require-inject", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/sprintf-js", + "extracted_requirement": "~1.0.2", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/sprintf-js", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/tap", + "extracted_requirement": "~1.3.1", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/tap", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + } + ], + "packages": [ + { + "type": "npm", + "namespace": null, + "name": "npm", + "version": "2.13.5", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": "a package manager for JavaScript", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Isaac Z. Schlueter", + "email": "i@izs.me", + "url": "http://blog.izs.me" + }, + { + "type": "person", + "role": "contributor", + "name": "Isaac Z. Schlueter", + "email": "i@izs.me", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Steve Steiner", + "email": "ssteinerX@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mikeal Rogers", + "email": "mikeal.rogers@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Aaron Blohowiak", + "email": "aaron.blohowiak@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Martyn Smith", + "email": "martyn@dollyfish.net.nz", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Charlie Robbins", + "email": "charlie.robbins@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Francisco Treacy", + "email": "francisco.treacy@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Cliffano Subagio", + "email": "cliffano@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Christian Eager", + "email": "christian.eager@nokia.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Dav Glass", + "email": "davglass@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Alex K. Wolfe", + "email": "alexkwolfe@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "James Sanders", + "email": "jimmyjazz14@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Reid Burke", + "email": "me@reidburke.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Arlo Breault", + "email": "arlolra@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Timo Derstappen", + "email": "teemow@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Bart Teeuwisse", + "email": "bart.teeuwisse@thecodemill.biz", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ben Noordhuis", + "email": "info@bnoordhuis.nl", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Tor Valamo", + "email": "tor.valamo@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Whyme.Lyu", + "email": "5longluna@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Olivier Melcher", + "email": "olivier.melcher@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Toma\u017e Muraus", + "email": "kami@k5-storitve.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Evan Meagher", + "email": "evan.meagher@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Orlando Vazquez", + "email": "ovazquez@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kai Chen", + "email": "kaichenxyz@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "George Miroshnykov", + "email": "gmiroshnykov@lohika.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Geoff Flarity", + "email": "geoff.flarity@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Max Goodman", + "email": "c@chromakode.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Pete Kruckenberg", + "email": "pete@kruckenberg.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Laurie Harper", + "email": "laurie@holoweb.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Chris Wong", + "email": "chris@chriswongstudio.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Scott Bronson", + "email": "brons_github@rinspin.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Federico Romero", + "email": "federomero@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Visnu Pitiyanuvath", + "email": "visnupx@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Irakli Gozalishvili", + "email": "rfobic@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mark Cahill", + "email": "mark@tiemonster.info", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Tony", + "email": "zearin@gonk.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Iain Sproat", + "email": "iainsproat@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Trent Mick", + "email": "trentm@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Felix Geisendo\u0308rfer", + "email": "felix@debuggable.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jameson Little", + "email": "t.jameson.little@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Conny Brunnkvist", + "email": "conny@fuchsia.se", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Will Elwood", + "email": "w.elwood08@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Dean Landolt", + "email": "dean@deanlandolt.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Oleg Efimov", + "email": "efimovov@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Martin Cooper", + "email": "mfncooper@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jann Horn", + "email": "jannhorn@googlemail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Andrew Bradley", + "email": "cspotcode@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Maciej Ma\u0142ecki", + "email": "me@mmalecki.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Stephen Sugden", + "email": "glurgle@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Michael Budde", + "email": "mbudde@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jason Smith", + "email": "jhs@iriscouch.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Gautham Pai", + "email": "buzypi@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "David Trejo", + "email": "david.daniel.trejo@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Paul Vorbach", + "email": "paul@vorb.de", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "George Ornbo", + "email": "george@shapeshed.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Tim Oxley", + "email": "secoif@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Tyler Green", + "email": "tyler.green2@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Dave Pacheco", + "email": "dap@joyent.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Danila Gerasimov", + "email": "danila.gerasimov@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Rod Vagg", + "email": "rod@vagg.org", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Christian Howe", + "email": "coderarity@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Andrew Lunny", + "email": "alunny@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Henrik Hodne", + "email": "dvyjones@binaryhex.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Adam Blackburn", + "email": "regality@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kris Windham", + "email": "kriswindham@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jens Grunert", + "email": "jens.grunert@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Joost-Wim Boekesteijn", + "email": "joost-wim@boekesteijn.nl", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Dalmais Maxence", + "email": "root@ip-10-195-202-5.ec2.internal", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Marcus Ekwall", + "email": "marcus.ekwall@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Aaron Stacy", + "email": "aaron.r.stacy@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Phillip Howell", + "email": "phowell@cothm.org", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Domenic Denicola", + "email": "domenic@domenicdenicola.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "James Halliday", + "email": "mail@substack.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jeremy Cantrell", + "email": "jmcantrell@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ribettes", + "email": "patlogan29@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Don Park", + "email": "donpark@docuverse.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Einar Otto Stangvik", + "email": "einaros@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kei Son", + "email": "heyacct@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Nicolas Morel", + "email": "marsup@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mark Dube", + "email": "markisdee@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Nathan Rajlich", + "email": "nathan@tootallnate.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Maxim Bogushevich", + "email": "boga1@mail.ru", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Meaglin", + "email": "Meaglin.wasabi@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ben Evans", + "email": "ben@bensbit.co.uk", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Nathan Zadoks", + "email": "nathan@nathan7.eu", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Brian White", + "email": "mscdex@mscdex.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jed Schmidt", + "email": "tr@nslator.jp", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ian Livingstone", + "email": "ianl@cs.dal.ca", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Patrick Pfeiffer", + "email": "patrick@buzzle.at", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Paul Miller", + "email": "paul@paulmillr.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ryan Emery", + "email": "seebees@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Carl Lange", + "email": "carl@flax.ie", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jan Lehnardt", + "email": "jan@apache.org", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Stuart P. Bentley", + "email": "stuart@testtrack4.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Johan Sk\u00f6ld", + "email": "johan@skold.cc", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Stuart Knightley", + "email": "stuart@stuartk.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Niggler", + "email": "nirk.niggler@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Paolo Fragomeni", + "email": "paolo@async.ly", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jaakko Manninen", + "email": "jaakko@rocketpack.fi", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Luke Arduini", + "email": "luke.arduini@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Larz Conwell", + "email": "larz@larz-laptop.(none)", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Marcel Klehr", + "email": "mklehr@gmx.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Robert Kowalski", + "email": "rok@kowalski.gd", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Forbes Lindesay", + "email": "forbes@lindesay.co.uk", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Vaz Allen", + "email": "vaz@tryptid.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jake Verbaten", + "email": "raynos2@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Schabse Laks", + "email": "Dev@SLaks.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Florian Margaine", + "email": "florian@margaine.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Johan Nordberg", + "email": "its@johan-nordberg.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ian Babrou", + "email": "ibobrik@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Di Wu", + "email": "dwu@palantir.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mathias Bynens", + "email": "mathias@qiwi.be", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Matt McClure", + "email": "matt.mcclure@mapmyfitness.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Matt Lunn", + "email": "matt@mattlunn.me.uk", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Alexey Kreschuk", + "email": "akrsch@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "elisee", + "email": "elisee@sparklin.org", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Robert Gieseke", + "email": "robert.gieseke@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Franc\u0327ois Frisch", + "email": "francoisfrisch@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Trevor Burnham", + "email": "tburnham@hubspot.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Alan Shaw", + "email": "alan@freestyle-developments.co.uk", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "TJ Holowaychuk", + "email": "tj@vision-media.ca", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Nicholas Kinsey", + "email": "pyro@feisty.io", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Paulo Cesar", + "email": "pauloc062@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Elan Shanker", + "email": "elan.shanker@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jon Spencer", + "email": "jon@jonspencer.ca", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jason Diamond", + "email": "jason@diamond.name", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Maximilian Antoni", + "email": "mail@maxantoni.de", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Thom Blake", + "email": "tblake@brightroll.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jess Martin", + "email": "jessmartin@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Spain Train", + "email": "michael.spainhower@opower.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Alex Rodionov", + "email": "p0deje@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Matt Colyer", + "email": "matt@colyer.name", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Evan You", + "email": "yyx990803@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "bitspill", + "email": "bitspill+github@bitspill.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Gabriel Falkenberg", + "email": "gabriel.falkenberg@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Alexej Yaroshevich", + "email": "alex@qfox.ru", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Quim Calpe", + "email": "quim@kalpe.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Steve Mason", + "email": "stevem@brandwatch.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Wil Moore III", + "email": "wil.moore@wilmoore.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Sergey Belov", + "email": "peimei@ya.ru", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Tom Huang", + "email": "hzlhu.dargon@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "CamilleM", + "email": "camille.moulin@alterway.fr", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "S\u00e9bastien Santoro", + "email": "dereckson@espace-win.org", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Evan Lucas", + "email": "evan@btc.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Quinn Slack", + "email": "qslack@qslack.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Alex Kocharin", + "email": "alex@kocharin.ru", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Daniel Santiago", + "email": "daniel.santiago@highlevelwebs.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Denis Gladkikh", + "email": "outcoldman@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Andrew Horton", + "email": "andrew.j.horton@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Zeke Sikelianos", + "email": "zeke@sikelianos.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Dylan Greene", + "email": "dylang@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Franck Cuny", + "email": "franck.cuny@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Yeonghoon Park", + "email": "sola92@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Rafael de Oleza", + "email": "rafa@spotify.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mikola Lysenko", + "email": "mikolalysenko@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Yazhong Liu", + "email": "yorkiefixer@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Neil Gentleman", + "email": "ngentleman@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kris Kowal", + "email": "kris.kowal@cixar.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Alex Gorbatchev", + "email": "alex.gorbatchev@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Shawn Wildermuth", + "email": "shawn@wildermuth.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Wesley de Souza", + "email": "wesleywex@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "yoyoyogi", + "email": "yogesh.k@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "J. Tangelder", + "email": "j.tangelder@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jean Lauliac", + "email": "jean@lauliac.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Andrey Kislyuk", + "email": "kislyuk@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Thorsten Lorenz", + "email": "thlorenz@gmx.de", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Julian Gruber", + "email": "julian@juliangruber.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Benjamin Coe", + "email": "bencoe@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Alex Ford", + "email": "Alex.Ford@CodeTunnel.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Matt Hickford", + "email": "matt.hickford@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Sean McGivern", + "email": "sean.mcgivern@rightscale.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "C J Silverio", + "email": "ceejceej@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Robin Tweedie", + "email": "robin@songkick.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Miroslav Bajto\u0161", + "email": "miroslav@strongloop.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "David Glasser", + "email": "glasser@davidglasser.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Gianluca Casati", + "email": "casati_gianluca@yahoo.it", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Forrest L Norvell", + "email": "ogd@aoaioxxysz.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Karsten Tinnefeld", + "email": "k.tinnefeld@googlemail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Bryan Burgers", + "email": "bryan@burgers.io", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "David Beitey", + "email": "david@davidjb.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Evan You", + "email": "yyou@google.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Zach Pomerantz", + "email": "zmp@umich.edu", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Chris Williams", + "email": "cwilliams88@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "sudodoki", + "email": "smd.deluzion@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mick Thompson", + "email": "dthompson@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Felix Rabe", + "email": "felix@rabe.io", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Michael Hayes", + "email": "michael@hayes.io", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Chris Dickinson", + "email": "christopher.s.dickinson@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Bradley Meck", + "email": "bradley.meck@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "GeJ", + "email": "geraud@gcu.info", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Andrew Terris", + "email": "atterris@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Michael Nisi", + "email": "michael.nisi@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "fengmk2", + "email": "fengmk2@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Adam Meadows", + "email": "adam.meadows@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Chulki Lee", + "email": "chulki.lee@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "\u4e0d\u56db", + "email": "busi.hyy@taobao.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "dead_horse", + "email": "dead_horse@qq.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kenan Yildirim", + "email": "kenan@kenany.me", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Laurie Voss", + "email": "git@seldo.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Rebecca Turner", + "email": "me@re-becca.org", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Hunter Loftis", + "email": "hunter@hunterloftis.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Peter Richardson", + "email": "github@zoomy.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jussi Kalliokoski", + "email": "jussi.kalliokoski@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Filip Weiss", + "email": "me@fiws.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Timo Wei\u00df", + "email": "timoweiss@Timo-MBP.local", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Christopher Hiller", + "email": "chiller@badwing.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "J\u00e9r\u00e9my Lal", + "email": "kapouer@melix.org", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Anders Janmyr", + "email": "anders@janmyr.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Chris Meyers", + "email": "chris.meyers.fsu@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ludwig Magnusson", + "email": "ludwig@mediatool.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Wout Mertens", + "email": "Wout.Mertens@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Nick Santos", + "email": "nick@medium.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Terin Stock", + "email": "terinjokes@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Faiq Raza", + "email": "faiqrazarizvi@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Thomas Torp", + "email": "thomas@erupt.no", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Sam Mikes", + "email": "smikes@cubane.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mat Tyndall", + "email": "mat.tyndall@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Tauren Mills", + "email": "tauren@sportzing.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ron Martinez", + "email": "ramartin.net@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kazuhito Hokamura", + "email": "k.hokamura@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Tristan Davies", + "email": "github@tristan.io", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "David Volm", + "email": "david@volminator.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Lin Clark", + "email": "lin.w.clark@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ben Page", + "email": "bpage@dewalch.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jeff Jo", + "email": "jeffjo@squareup.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "martinvd", + "email": "martinvdpub@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mark J. Titorenko", + "email": "nospam-github.com@titorenko.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Oddur Sigurdsson", + "email": "oddurs@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Eric Mill", + "email": "eric@konklone.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Gabriel Barros", + "email": "descartavel1@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "KevinSheedy", + "email": "kevinsheedy@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Aleksey Smolenchuk", + "email": "aleksey@uber.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ed Morley", + "email": "emorley@mozilla.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Blaine Bublitz", + "email": "blaine@iceddev.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Andrey Fedorov", + "email": "anfedorov@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Daijiro Wachi", + "email": "daijiro.wachi@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Luc Thevenard", + "email": "lucthevenard@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Aria Stewart", + "email": "aredridel@nbtsc.org", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Charlie Rudolph", + "email": "charles.w.rudolph@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Vladimir Rutsky", + "email": "rutsky@users.noreply.github.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Isaac Murchie", + "email": "isaac@saucelabs.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Marcin Wosinek", + "email": "marcin.wosinek@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "David Marr", + "email": "davemarr@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Bryan English", + "email": "bryan@bryanenglish.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Anthony Zotti", + "email": "amZotti@users.noreply.github.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Karl Horky", + "email": "karl.horky@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jordan Harband", + "email": "ljharb@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Gu\u00f0laugur Stef\u00e1n Egilsson", + "email": "gulli@kolibri.is", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Helge Skogly Holm", + "email": "helge.holm@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Peter A. Shevtsov", + "email": "petr.shevtsov@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Alain Kalker", + "email": "a.c.kalker@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Bryant Williams", + "email": "b.n.williams@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jonas Weber", + "email": "github@jonasw.de", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Tim Whidden", + "email": "twhid@twhid.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Andreas", + "email": "functino@users.noreply.github.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Karolis Narkevicius", + "email": "karolis.n@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Adrian Lynch", + "email": "adi_ady_ade@hotmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Richard Littauer", + "email": "richard.littauer@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Oli Evans", + "email": "oli@zilla.org.uk", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Matt Brennan", + "email": "mattyb1000@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jeff Barczewski", + "email": "jeff.barczewski@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Danny Fritz", + "email": "dannyfritz@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Takaya Kobayashi", + "email": "jigsaw@live.jp", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ra'Shaun Stovall", + "email": "rashaunstovall@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Julien Meddah", + "email": "julien.meddah@deveryware.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Michiel Sikma", + "email": "michiel@wedemandhtml.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jakob Krigovsky", + "email": "jakob.krigovsky@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Charmander", + "email": "~@charmander.me", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Erik Wienhold", + "email": "git@ewie.name", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "James Butler", + "email": "james.butler@sandfox.co.uk", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kevin Kragenbrink", + "email": "kevin@gaikai.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Arnaud Rinquin", + "email": "rinquin.arnaud@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mike MacCana", + "email": "mike.maccana@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Antti Mattila", + "email": "anttti@fastmail.fm", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "laiso", + "email": "laiso@lai.so", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Matt Zorn", + "email": "zornme@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kyle Mitchell", + "email": "kyle@kemitchell.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jeremiah Senkpiel", + "email": "fishrock123@rocketmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Michael Klein", + "email": "mischkl@users.noreply.github.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Simen Bekkhus", + "email": "sbekkhus91@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Victor", + "email": "victor.shih@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "thefourtheye", + "email": "thechargingvolcano@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Clay Carpenter", + "email": "claycarpenter@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "bangbang93", + "email": "bangbang93@163.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Nick Malaguti", + "email": "nmalaguti@palantir.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Cedric Nelson", + "email": "cedric.nelson@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kat March\u00e1n", + "email": "kzm@sykosomatic.org", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Andrew", + "email": "talktome@aboutandrew.co.uk", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Eduardo Pinho", + "email": "enet4mikeenet@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Rachel Hutchison", + "email": "rhutchix@intel.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ryan Temple", + "email": "ryantemple145@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Eugene Sharygin", + "email": "eush77@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Nick Heiner", + "email": "nick.heiner@opower.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "James Talmage", + "email": "james@talmage.io", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "jane arc", + "email": "jane@uber.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Joseph Dykstra", + "email": "josephdykstra@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Joshua Egan", + "email": "josh-egan@users.noreply.github.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Thomas Cort", + "email": "thomasc@ssimicro.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Thaddee Tyl", + "email": "thaddee.tyl@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Steve Klabnik", + "email": "steve@steveklabnik.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Andrew Murray", + "email": "radarhere@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Stephan B\u00f6nnemann", + "email": "stephan@excellenteasy.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kyle M. Tarplee", + "email": "kyle.tarplee@numerica.us", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Derek Peterson", + "email": "derekpetey@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Greg Whiteley", + "email": "greg.whiteley@atomos.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "murgatroid99", + "email": "mlumish@google.com", + "url": null + }, + { + "type": "person", + "role": "maintainer", + "name": "isaacs", + "email": "isaacs@npmjs.com", + "url": null + }, + { + "type": "person", + "role": "maintainer", + "name": "othiym23", + "email": "ogd@aoaioxxysz.net", + "url": null + }, + { + "type": "person", + "role": "maintainer", + "name": "iarna", + "email": "me@re-becca.org", + "url": null + }, + { + "type": "person", + "role": "maintainer", + "name": "zkat", + "email": "kat@sykosomatic.org", + "url": null + } + ], + "keywords": [ + "package manager", + "modules", + "install", + "package.json" + ], + "homepage_url": "https://docs.npmjs.com/", + "download_url": "https://registry.npmjs.org/npm/-/npm-2.13.5.tgz", + "size": null, + "sha1": "a124386bce4a90506f28ad4b1d1a804a17baaf32", + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": "http://github.com/npm/npm/issues", + "code_view_url": null, + "vcs_url": "git+https://github.com/npm/npm.git@fc7bbf03e39cc48a8924b90696d28345a6a90f3c", + "copyright": null, + "license_expression": "artistic-2.0", + "declared_license": [ + "Artistic-2.0" + ], + "notice_text": null, + "source_packages": [], + "extra_data": {}, + "package_uid": "pkg:npm/npm@2.13.5", + "package_data_files": [ + "scan/package.json" + ], + "files": [ + "scan/cc0-1.0.LICENSE", + "scan/package.json", + "scan/README", + "scan/arch/adler32.c", + "scan/arch/zlib.h", + "scan/arch/zutil.h", + "scan/JGroups/src/FixedMembershipToken.java", + "scan/JGroups/src/GuardedBy.java", + "scan/JGroups/src/ImmutableReference.java", + "scan/JGroups/src/RATE_LIMITER.java", + "scan/JGroups/src/RouterStub.java", + "scan/JGroups/src/RouterStubManager.java", + "scan/JGroups/src/S3_PING.java", + "scan/zlib/adler32.c", + "scan/zlib/deflate.c", + "scan/zlib/deflate.h", + "scan/zlib/zlib.h", + "scan/zlib/zutil.c", + "scan/zlib/zutil.h", + "scan/zlib/ada/zlib.ads", + "scan/zlib/dotzlib/AssemblyInfo.cs", + "scan/zlib/dotzlib/ChecksumImpl.cs", + "scan/zlib/gcc_gvmat64/gvmat64.S", + "scan/zlib/infback9/infback9.c", + "scan/zlib/infback9/infback9.h", + "scan/zlib/iostream2/zstream.h" + ], + "purl": "pkg:npm/npm@2.13.5", + "repository_homepage_url": "https://www.npmjs.com/package/npm", + "repository_download_url": "https://registry.npmjs.org/npm/-/npm-2.13.5.tgz", + "api_data_url": "https://registry.npmjs.org/npm/2.13.5" + } + ], + "summary": { + "license_expressions": [ + { + "value": "zlib", + "count": 12 + }, + { + "value": "lgpl-2.1-plus", + "count": 3 + }, + { + "value": "artistic-2.0", + "count": 1 + }, + { + "value": "boost-1.0", + "count": 1 + }, + { + "value": "cc-by-2.5", + "count": 1 + }, + { + "value": "cc0-1.0", + "count": 1 + }, + { + "value": "gpl-2.0-plus WITH ada-linking-exception", + "count": 1 + }, + { + "value": "mit-old-style", + "count": 1 + } + ], + "copyrights": [ + { + "value": null, + "count": 6 + }, + { + "value": "Copyright (c) Jean-loup Gailly", + "count": 4 + }, + { + "value": "Copyright (c) Mark Adler", + "count": 4 + }, + { + "value": "Copyright (c) Jean-loup Gailly and Mark Adler", + "count": 3 + }, + { + "value": "Copyright (c) Brian Goetz and Tim Peierls", + "count": 1 + }, + { + "value": "Copyright (c) Christian Michelsen Research AS Advanced Computing", + "count": 1 + }, + { + "value": "Copyright (c) Dmitriy Anisimkov", + "count": 1 + }, + { + "value": "Copyright (c) Jean-loup Gailly, Brian Raiter and Gilles Vollant", + "count": 1 + }, + { + "value": "Copyright (c) by Henrik Ravn", + "count": 1 + }, + { + "value": "Copyright Henrik Ravn", + "count": 1 + }, + { + "value": "Copyright JBoss Inc., and individual contributors", + "count": 1 + }, + { + "value": "Copyright Red Hat Middleware LLC, and individual contributors", + "count": 1 + }, + { + "value": "Copyright Red Hat, Inc. and individual contributors", + "count": 1 + } + ], + "holders": [ + { + "value": null, + "count": 6 + }, + { + "value": "Jean-loup Gailly", + "count": 4 + }, + { + "value": "Mark Adler", + "count": 4 + }, + { + "value": "Jean-loup Gailly and Mark Adler", + "count": 3 + }, + { + "value": "Henrik Ravn", + "count": 2 + }, + { + "value": "Brian Goetz and Tim Peierls", + "count": 1 + }, + { + "value": "Christian Michelsen Research AS Advanced Computing", + "count": 1 + }, + { + "value": "Dmitriy Anisimkov", + "count": 1 + }, + { + "value": "JBoss Inc., and individual contributors", + "count": 1 + }, + { + "value": "Jean-loup Gailly, Brian Raiter and Gilles Vollant", + "count": 1 + }, + { + "value": "Red Hat Middleware LLC, and individual contributors", + "count": 1 + }, + { + "value": "Red Hat, Inc. and individual contributors", + "count": 1 + } + ], + "authors": [ + { + "value": null, + "count": 20 + }, + { + "value": "Bela Ban", + "count": 4 + }, + { + "value": "Gilles Vollant", + "count": 1 + }, + { + "value": "name' Isaac Z.", + "count": 1 + } + ], + "programming_language": [ + { + "value": "C", + "count": 12 + }, + { + "value": "Java", + "count": 7 + }, + { + "value": "C#", + "count": 2 + }, + { + "value": "GAS", + "count": 1 + } + ] + }, + "files": [ + { + "path": "scan", + "type": "directory", + "name": "scan", + "base_name": "scan", + "extension": "", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "licenses": [], + "license_expressions": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "package_data": [], + "for_packages": [], + "files_count": 26, + "dirs_count": 9, + "size_count": 58647, + "scan_errors": [] + }, + { + "path": "scan/JGroups", + "type": "directory", + "name": "JGroups", + "base_name": "JGroups", + "extension": "", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "licenses": [], + "license_expressions": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "package_data": [], + "for_packages": [], + "files_count": 7, + "dirs_count": 1, + "size_count": 4227, + "scan_errors": [] + }, + { + "path": "scan/JGroups/src", + "type": "directory", + "name": "src", + "base_name": "src", + "extension": "", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "licenses": [], + "license_expressions": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "package_data": [], + "for_packages": [], + "files_count": 7, + "dirs_count": 0, + "size_count": 4227, + "scan_errors": [] + }, + { + "path": "scan/JGroups/src/FixedMembershipToken.java", + "type": "file", + "name": "FixedMembershipToken.java", + "base_name": "FixedMembershipToken", + "extension": ".java", + "size": 1016, + "sha1": "d0d55d2ae0842afee96695bcc8be939e763704ec", + "md5": "301dfe021b3b4076b9f8d49577205b44", + "sha256": "ff6dfac01c9b7ad9fcb5e646db83b482f5f720d981f0ca6c68828c5aa4ec784b", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "Java", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [ + { + "key": "lgpl-2.1-plus", + "score": 100.0, + "name": "GNU Lesser General Public License 2.1 or later", + "short_name": "LGPL 2.1 or later", + "category": "Copyleft Limited", + "is_exception": false, + "is_unknown": false, + "owner": "Free Software Foundation (FSF)", + "homepage_url": "http://www.gnu.org/licenses/old-licenses/lgpl-2.1-standalone.html", + "text_url": "http://www.gnu.org/licenses/old-licenses/lgpl-2.1-standalone.html", + "reference_url": "https://scancode-licensedb.aboutcode.org/lgpl-2.1-plus", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/lgpl-2.1-plus.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/lgpl-2.1-plus.yml", + "spdx_license_key": "LGPL-2.1-or-later", + "spdx_url": "https://spdx.org/licenses/LGPL-2.1-or-later", + "start_line": 7, + "end_line": 20, + "matched_rule": { + "identifier": "lgpl-2.1-plus_59.RULE", + "license_expression": "lgpl-2.1-plus", + "licenses": [ + "lgpl-2.1-plus" + ], + "referenced_filenames": [], + "is_license_text": false, + "is_license_notice": true, + "is_license_reference": false, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 125, + "matched_length": 125, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "lgpl-2.1-plus" + ], + "percentage_of_license_text": 79.62, + "copyrights": [ + { + "copyright": "Copyright 2005, JBoss Inc., and individual contributors", + "start_line": 3, + "end_line": 3 + } + ], + "holders": [ + { + "holder": "JBoss Inc., and individual contributors", + "start_line": 3, + "end_line": 3 + } + ], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/JGroups/src/GuardedBy.java", + "type": "file", + "name": "GuardedBy.java", + "base_name": "GuardedBy", + "extension": ".java", + "size": 482, + "sha1": "21ec75514ce72011c4e86c977505c024832c1b63", + "md5": "5165fdeefda7a55c13e44c5e56cac920", + "sha256": "8553411bf58f4ac35fc9e7d6142f11fc2fbef33e50a77f514a253135807afd44", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "Java", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [ + { + "key": "cc-by-2.5", + "score": 100.0, + "name": "Creative Commons Attribution License 2.5", + "short_name": "CC-BY-2.5", + "category": "Permissive", + "is_exception": false, + "is_unknown": false, + "owner": "Creative Commons", + "homepage_url": "http://creativecommons.org/licenses/by/2.5/", + "text_url": "http://creativecommons.org/licenses/by/2.5/legalcode", + "reference_url": "https://scancode-licensedb.aboutcode.org/cc-by-2.5", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/cc-by-2.5.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/cc-by-2.5.yml", + "spdx_license_key": "CC-BY-2.5", + "spdx_url": "https://spdx.org/licenses/CC-BY-2.5", + "start_line": 4, + "end_line": 5, + "matched_rule": { + "identifier": "cc-by-2.5_4.RULE", + "license_expression": "cc-by-2.5", + "licenses": [ + "cc-by-2.5" + ], + "referenced_filenames": [], + "is_license_text": false, + "is_license_notice": true, + "is_license_reference": false, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 14, + "matched_length": 14, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "cc-by-2.5" + ], + "percentage_of_license_text": 19.72, + "copyrights": [ + { + "copyright": "Copyright (c) 2005 Brian Goetz and Tim Peierls", + "start_line": 3, + "end_line": 3 + } + ], + "holders": [ + { + "holder": "Brian Goetz and Tim Peierls", + "start_line": 3, + "end_line": 3 + } + ], + "authors": [ + { + "author": "Bela Ban", + "start_line": 10, + "end_line": 10 + } + ], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/JGroups/src/ImmutableReference.java", + "type": "file", + "name": "ImmutableReference.java", + "base_name": "ImmutableReference", + "extension": ".java", + "size": 1023, + "sha1": "aee1bb33424e7c1264f85c9aad40d43c3738f871", + "md5": "53a91ff66fdc4d812d7656b4e807bfd2", + "sha256": "ec1427fc2f7e322e6a4d5d99f8119310d6586aaaf5b30b2904b4ccd27966e120", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "Java", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [ + { + "key": "lgpl-2.1-plus", + "score": 100.0, + "name": "GNU Lesser General Public License 2.1 or later", + "short_name": "LGPL 2.1 or later", + "category": "Copyleft Limited", + "is_exception": false, + "is_unknown": false, + "owner": "Free Software Foundation (FSF)", + "homepage_url": "http://www.gnu.org/licenses/old-licenses/lgpl-2.1-standalone.html", + "text_url": "http://www.gnu.org/licenses/old-licenses/lgpl-2.1-standalone.html", + "reference_url": "https://scancode-licensedb.aboutcode.org/lgpl-2.1-plus", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/lgpl-2.1-plus.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/lgpl-2.1-plus.yml", + "spdx_license_key": "LGPL-2.1-or-later", + "spdx_url": "https://spdx.org/licenses/LGPL-2.1-or-later", + "start_line": 7, + "end_line": 20, + "matched_rule": { + "identifier": "lgpl-2.1-plus_59.RULE", + "license_expression": "lgpl-2.1-plus", + "licenses": [ + "lgpl-2.1-plus" + ], + "referenced_filenames": [], + "is_license_text": false, + "is_license_notice": true, + "is_license_reference": false, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 125, + "matched_length": 125, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "lgpl-2.1-plus" + ], + "percentage_of_license_text": 78.62, + "copyrights": [ + { + "copyright": "Copyright 2010, Red Hat, Inc. and individual contributors", + "start_line": 3, + "end_line": 3 + } + ], + "holders": [ + { + "holder": "Red Hat, Inc. and individual contributors", + "start_line": 3, + "end_line": 3 + } + ], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/JGroups/src/RATE_LIMITER.java", + "type": "file", + "name": "RATE_LIMITER.java", + "base_name": "RATE_LIMITER", + "extension": ".java", + "size": 269, + "sha1": "8da19aa25da421608fbe9f4f5eeb122ab35fd01e", + "md5": "52540f80f5c22d8d13627c57b76d44f4", + "sha256": "c3bcefbbb2706f65410b4bb91d531e2ec461fa4586135becc8865adeca3385c8", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "Java", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [], + "license_expressions": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [ + { + "author": "Bela Ban", + "start_line": 4, + "end_line": 4 + } + ], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/JGroups/src/RouterStub.java", + "type": "file", + "name": "RouterStub.java", + "base_name": "RouterStub", + "extension": ".java", + "size": 153, + "sha1": "c1baa345449b4b91e61886dadea8f1bbea034eb4", + "md5": "a0b4e3f4d679a98d11d75e7e27e894af", + "sha256": "5c0f94fc518daca08e74fd117fef09d6dd090b0fd623a47edde451be3aed28c7", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "Java", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [], + "license_expressions": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [ + { + "author": "Bela Ban", + "start_line": 3, + "end_line": 3 + } + ], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/JGroups/src/RouterStubManager.java", + "type": "file", + "name": "RouterStubManager.java", + "base_name": "RouterStubManager", + "extension": ".java", + "size": 1032, + "sha1": "a51c5bbb738c1c1cd1f58c79060fa5ea4d0dd753", + "md5": "cae07c80e6f79864de002700bf9ab02f", + "sha256": "fe96061d23b37c98913379d54c5388cffdc99239807c2caf8c96d7d10321d085", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "Java", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [ + { + "key": "lgpl-2.1-plus", + "score": 100.0, + "name": "GNU Lesser General Public License 2.1 or later", + "short_name": "LGPL 2.1 or later", + "category": "Copyleft Limited", + "is_exception": false, + "is_unknown": false, + "owner": "Free Software Foundation (FSF)", + "homepage_url": "http://www.gnu.org/licenses/old-licenses/lgpl-2.1-standalone.html", + "text_url": "http://www.gnu.org/licenses/old-licenses/lgpl-2.1-standalone.html", + "reference_url": "https://scancode-licensedb.aboutcode.org/lgpl-2.1-plus", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/lgpl-2.1-plus.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/lgpl-2.1-plus.yml", + "spdx_license_key": "LGPL-2.1-or-later", + "spdx_url": "https://spdx.org/licenses/LGPL-2.1-or-later", + "start_line": 7, + "end_line": 20, + "matched_rule": { + "identifier": "lgpl-2.1-plus_59.RULE", + "license_expression": "lgpl-2.1-plus", + "licenses": [ + "lgpl-2.1-plus" + ], + "referenced_filenames": [], + "is_license_text": false, + "is_license_notice": true, + "is_license_reference": false, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 125, + "matched_length": 125, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "lgpl-2.1-plus" + ], + "percentage_of_license_text": 78.12, + "copyrights": [ + { + "copyright": "Copyright 2009, Red Hat Middleware LLC, and individual contributors", + "start_line": 3, + "end_line": 3 + } + ], + "holders": [ + { + "holder": "Red Hat Middleware LLC, and individual contributors", + "start_line": 3, + "end_line": 3 + } + ], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/JGroups/src/S3_PING.java", + "type": "file", + "name": "S3_PING.java", + "base_name": "S3_PING", + "extension": ".java", + "size": 252, + "sha1": "a7a9763832eb31e1f7f7927d6288df284b70c6e5", + "md5": "ffb481f2a0c6262d0f7d1e9a4681a6ca", + "sha256": "5470e41b0bfba6adb43649215df756f1a4a5173ceed6127af1b38801651efde2", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "Java", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [], + "license_expressions": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [ + { + "author": "Bela Ban", + "start_line": 3, + "end_line": 3 + } + ], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/README", + "type": "file", + "name": "README", + "base_name": "README", + "extension": "", + "size": 236, + "sha1": "2e07e32c52d607204fad196052d70e3d18fb8636", + "md5": "effc6856ef85a9250fb1a470792b3f38", + "sha256": "165da86bfdf296cd5a0a3e20c1d1ee86d70ecb8a1fa579d6f8cadad8eee85878", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": null, + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "licenses": [], + "license_expressions": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/arch", + "type": "directory", + "name": "arch", + "base_name": "arch", + "extension": "", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "licenses": [], + "license_expressions": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "package_data": [], + "for_packages": [], + "files_count": 3, + "dirs_count": 0, + "size_count": 1896, + "scan_errors": [] + }, + { + "path": "scan/arch/adler32.c", + "type": "file", + "name": "adler32.c", + "base_name": "adler32", + "extension": ".c", + "size": 175, + "sha1": "a7ee5ea54da88a6390e72ff018dd471045d8bbf1", + "md5": "92011414f344e34f711e77bac40e4bc4", + "sha256": "e533accabdc7434f3905ced32c4fba755f707929ad73df6e07172cd5a786e023", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "C", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [ + { + "key": "zlib", + "score": 100.0, + "name": "ZLIB License", + "short_name": "ZLIB License", + "category": "Permissive", + "is_exception": false, + "is_unknown": false, + "owner": "zlib", + "homepage_url": "http://www.zlib.net/", + "text_url": "http://www.gzip.org/zlib/zlib_license.html", + "reference_url": "https://scancode-licensedb.aboutcode.org/zlib", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.yml", + "spdx_license_key": "Zlib", + "spdx_url": "https://spdx.org/licenses/Zlib", + "start_line": 3, + "end_line": 3, + "matched_rule": { + "identifier": "zlib_5.RULE", + "license_expression": "zlib", + "licenses": [ + "zlib" + ], + "referenced_filenames": [ + "zlib.h" + ], + "is_license_text": false, + "is_license_notice": false, + "is_license_reference": true, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 12, + "matched_length": 12, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "zlib" + ], + "percentage_of_license_text": 42.86, + "copyrights": [ + { + "copyright": "Copyright (c) 1995-2011 Mark Adler", + "start_line": 2, + "end_line": 2 + } + ], + "holders": [ + { + "holder": "Mark Adler", + "start_line": 2, + "end_line": 2 + } + ], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/arch/zlib.h", + "type": "file", + "name": "zlib.h", + "base_name": "zlib", + "extension": ".h", + "size": 1326, + "sha1": "26610e5eab2a17e0fa9ef6ac791f25f77af145af", + "md5": "4ed53ac605f16247ab7d571670f2351d", + "sha256": "b09e2a43e9960d3d28d37d24f10dfbc462a4cb376da54ba571ac9a8874911ed5", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "C", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [ + { + "key": "zlib", + "score": 100.0, + "name": "ZLIB License", + "short_name": "ZLIB License", + "category": "Permissive", + "is_exception": false, + "is_unknown": false, + "owner": "zlib", + "homepage_url": "http://www.zlib.net/", + "text_url": "http://www.gzip.org/zlib/zlib_license.html", + "reference_url": "https://scancode-licensedb.aboutcode.org/zlib", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.yml", + "spdx_license_key": "Zlib", + "spdx_url": "https://spdx.org/licenses/Zlib", + "start_line": 6, + "end_line": 23, + "matched_rule": { + "identifier": "zlib_17.RULE", + "license_expression": "zlib", + "licenses": [ + "zlib" + ], + "referenced_filenames": [], + "is_license_text": true, + "is_license_notice": false, + "is_license_reference": false, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 144, + "matched_length": 144, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "zlib" + ], + "percentage_of_license_text": 69.57, + "copyrights": [ + { + "copyright": "Copyright (c) 1995-2013 Jean-loup Gailly and Mark Adler", + "start_line": 4, + "end_line": 4 + } + ], + "holders": [ + { + "holder": "Jean-loup Gailly and Mark Adler", + "start_line": 4, + "end_line": 4 + } + ], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/arch/zutil.h", + "type": "file", + "name": "zutil.h", + "base_name": "zutil", + "extension": ".h", + "size": 395, + "sha1": "830fca8d60bd0d0d91f6354d83ec8bf118a20e64", + "md5": "807b91d2bf5e18de555e56de37e487d1", + "sha256": "3980fa5633b16f944641bf2fba3f49b8b9b9de6ffea7be1e142792393bf1a867", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "C", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [ + { + "key": "zlib", + "score": 100.0, + "name": "ZLIB License", + "short_name": "ZLIB License", + "category": "Permissive", + "is_exception": false, + "is_unknown": false, + "owner": "zlib", + "homepage_url": "http://www.zlib.net/", + "text_url": "http://www.gzip.org/zlib/zlib_license.html", + "reference_url": "https://scancode-licensedb.aboutcode.org/zlib", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.yml", + "spdx_license_key": "Zlib", + "spdx_url": "https://spdx.org/licenses/Zlib", + "start_line": 3, + "end_line": 3, + "matched_rule": { + "identifier": "zlib_5.RULE", + "license_expression": "zlib", + "licenses": [ + "zlib" + ], + "referenced_filenames": [ + "zlib.h" + ], + "is_license_text": false, + "is_license_notice": false, + "is_license_reference": true, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 12, + "matched_length": 12, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "zlib" + ], + "percentage_of_license_text": 20.34, + "copyrights": [ + { + "copyright": "Copyright (c) 1995-2013 Jean-loup Gailly", + "start_line": 2, + "end_line": 2 + } + ], + "holders": [ + { + "holder": "Jean-loup Gailly", + "start_line": 2, + "end_line": 2 + } + ], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/cc0-1.0.LICENSE", + "type": "file", + "name": "cc0-1.0.LICENSE", + "base_name": "cc0-1.0", + "extension": ".LICENSE", + "size": 6433, + "sha1": "172444e7c137eb5cd3cae530aca0879c90f7fada", + "md5": "57f047ea87f405486a94bc5a56ba7fcf", + "sha256": "963aabe87f6a51ca9c237669034a9fdecd71df7350eaf30bdf0718f63c5a94f8", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": null, + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "licenses": [ + { + "key": "cc0-1.0", + "score": 99.69, + "name": "Creative Commons CC0 1.0 Universal", + "short_name": "CC0-1.0", + "category": "Public Domain", + "is_exception": false, + "is_unknown": false, + "owner": "Creative Commons", + "homepage_url": "http://creativecommons.org/publicdomain/zero/1.0/", + "text_url": "http://creativecommons.org/publicdomain/zero/1.0/legalcode", + "reference_url": "https://scancode-licensedb.aboutcode.org/cc0-1.0", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/cc0-1.0.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/cc0-1.0.yml", + "spdx_license_key": "CC0-1.0", + "spdx_url": "https://spdx.org/licenses/CC0-1.0", + "start_line": 1, + "end_line": 98, + "matched_rule": { + "identifier": "cc0-1.0_155.RULE", + "license_expression": "cc0-1.0", + "licenses": [ + "cc0-1.0" + ], + "referenced_filenames": [], + "is_license_text": true, + "is_license_notice": false, + "is_license_reference": false, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "3-seq", + "rule_length": 981, + "matched_length": 978, + "match_coverage": 99.69, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "cc0-1.0" + ], + "percentage_of_license_text": 100.0, + "copyrights": [], + "holders": [], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/package.json", + "type": "file", + "name": "package.json", + "base_name": "package", + "extension": ".json", + "size": 37904, + "sha1": "dfc6c1274bd31b47d5cc482af0c0dad9d30eccaa", + "md5": "62b51527599b11b32361699c75b05683", + "sha256": "8b54b0b90570e4b0d5b8c8520e4b5a8258ae15849ec1919f57da093f5df84f38", + "mime_type": "application/json", + "file_type": "JSON data", + "programming_language": null, + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "licenses": [ + { + "key": "artistic-2.0", + "score": 100.0, + "name": "Artistic License 2.0", + "short_name": "Artistic 2.0", + "category": "Copyleft Limited", + "is_exception": false, + "is_unknown": false, + "owner": "Perl Foundation", + "homepage_url": "http://www.perlfoundation.org/", + "text_url": "https://www.perlfoundation.org/artistic_license_2_0", + "reference_url": "https://scancode-licensedb.aboutcode.org/artistic-2.0", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/artistic-2.0.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/artistic-2.0.yml", + "spdx_license_key": "Artistic-2.0", + "spdx_url": "https://spdx.org/licenses/Artistic-2.0", + "start_line": 198, + "end_line": 198, + "matched_rule": { + "identifier": "artistic-2.0_46.RULE", + "license_expression": "artistic-2.0", + "licenses": [ + "artistic-2.0" + ], + "referenced_filenames": [], + "is_license_text": false, + "is_license_notice": false, + "is_license_reference": false, + "is_license_tag": true, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 4, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "artistic-2.0" + ], + "percentage_of_license_text": 0.1, + "copyrights": [], + "holders": [], + "authors": [ + { + "author": "name' Isaac Z.", + "start_line": 16, + "end_line": 17 + } + ], + "package_data": [ + { + "type": "npm", + "namespace": null, + "name": "npm", + "version": "2.13.5", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": "a package manager for JavaScript", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Isaac Z. Schlueter", + "email": "i@izs.me", + "url": "http://blog.izs.me" + }, + { + "type": "person", + "role": "contributor", + "name": "Isaac Z. Schlueter", + "email": "i@izs.me", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Steve Steiner", + "email": "ssteinerX@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mikeal Rogers", + "email": "mikeal.rogers@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Aaron Blohowiak", + "email": "aaron.blohowiak@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Martyn Smith", + "email": "martyn@dollyfish.net.nz", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Charlie Robbins", + "email": "charlie.robbins@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Francisco Treacy", + "email": "francisco.treacy@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Cliffano Subagio", + "email": "cliffano@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Christian Eager", + "email": "christian.eager@nokia.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Dav Glass", + "email": "davglass@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Alex K. Wolfe", + "email": "alexkwolfe@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "James Sanders", + "email": "jimmyjazz14@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Reid Burke", + "email": "me@reidburke.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Arlo Breault", + "email": "arlolra@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Timo Derstappen", + "email": "teemow@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Bart Teeuwisse", + "email": "bart.teeuwisse@thecodemill.biz", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ben Noordhuis", + "email": "info@bnoordhuis.nl", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Tor Valamo", + "email": "tor.valamo@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Whyme.Lyu", + "email": "5longluna@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Olivier Melcher", + "email": "olivier.melcher@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Toma\u017e Muraus", + "email": "kami@k5-storitve.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Evan Meagher", + "email": "evan.meagher@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Orlando Vazquez", + "email": "ovazquez@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kai Chen", + "email": "kaichenxyz@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "George Miroshnykov", + "email": "gmiroshnykov@lohika.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Geoff Flarity", + "email": "geoff.flarity@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Max Goodman", + "email": "c@chromakode.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Pete Kruckenberg", + "email": "pete@kruckenberg.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Laurie Harper", + "email": "laurie@holoweb.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Chris Wong", + "email": "chris@chriswongstudio.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Scott Bronson", + "email": "brons_github@rinspin.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Federico Romero", + "email": "federomero@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Visnu Pitiyanuvath", + "email": "visnupx@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Irakli Gozalishvili", + "email": "rfobic@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mark Cahill", + "email": "mark@tiemonster.info", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Tony", + "email": "zearin@gonk.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Iain Sproat", + "email": "iainsproat@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Trent Mick", + "email": "trentm@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Felix Geisendo\u0308rfer", + "email": "felix@debuggable.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jameson Little", + "email": "t.jameson.little@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Conny Brunnkvist", + "email": "conny@fuchsia.se", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Will Elwood", + "email": "w.elwood08@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Dean Landolt", + "email": "dean@deanlandolt.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Oleg Efimov", + "email": "efimovov@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Martin Cooper", + "email": "mfncooper@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jann Horn", + "email": "jannhorn@googlemail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Andrew Bradley", + "email": "cspotcode@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Maciej Ma\u0142ecki", + "email": "me@mmalecki.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Stephen Sugden", + "email": "glurgle@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Michael Budde", + "email": "mbudde@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jason Smith", + "email": "jhs@iriscouch.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Gautham Pai", + "email": "buzypi@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "David Trejo", + "email": "david.daniel.trejo@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Paul Vorbach", + "email": "paul@vorb.de", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "George Ornbo", + "email": "george@shapeshed.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Tim Oxley", + "email": "secoif@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Tyler Green", + "email": "tyler.green2@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Dave Pacheco", + "email": "dap@joyent.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Danila Gerasimov", + "email": "danila.gerasimov@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Rod Vagg", + "email": "rod@vagg.org", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Christian Howe", + "email": "coderarity@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Andrew Lunny", + "email": "alunny@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Henrik Hodne", + "email": "dvyjones@binaryhex.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Adam Blackburn", + "email": "regality@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kris Windham", + "email": "kriswindham@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jens Grunert", + "email": "jens.grunert@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Joost-Wim Boekesteijn", + "email": "joost-wim@boekesteijn.nl", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Dalmais Maxence", + "email": "root@ip-10-195-202-5.ec2.internal", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Marcus Ekwall", + "email": "marcus.ekwall@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Aaron Stacy", + "email": "aaron.r.stacy@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Phillip Howell", + "email": "phowell@cothm.org", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Domenic Denicola", + "email": "domenic@domenicdenicola.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "James Halliday", + "email": "mail@substack.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jeremy Cantrell", + "email": "jmcantrell@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ribettes", + "email": "patlogan29@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Don Park", + "email": "donpark@docuverse.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Einar Otto Stangvik", + "email": "einaros@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kei Son", + "email": "heyacct@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Nicolas Morel", + "email": "marsup@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mark Dube", + "email": "markisdee@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Nathan Rajlich", + "email": "nathan@tootallnate.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Maxim Bogushevich", + "email": "boga1@mail.ru", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Meaglin", + "email": "Meaglin.wasabi@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ben Evans", + "email": "ben@bensbit.co.uk", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Nathan Zadoks", + "email": "nathan@nathan7.eu", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Brian White", + "email": "mscdex@mscdex.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jed Schmidt", + "email": "tr@nslator.jp", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ian Livingstone", + "email": "ianl@cs.dal.ca", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Patrick Pfeiffer", + "email": "patrick@buzzle.at", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Paul Miller", + "email": "paul@paulmillr.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ryan Emery", + "email": "seebees@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Carl Lange", + "email": "carl@flax.ie", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jan Lehnardt", + "email": "jan@apache.org", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Stuart P. Bentley", + "email": "stuart@testtrack4.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Johan Sk\u00f6ld", + "email": "johan@skold.cc", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Stuart Knightley", + "email": "stuart@stuartk.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Niggler", + "email": "nirk.niggler@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Paolo Fragomeni", + "email": "paolo@async.ly", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jaakko Manninen", + "email": "jaakko@rocketpack.fi", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Luke Arduini", + "email": "luke.arduini@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Larz Conwell", + "email": "larz@larz-laptop.(none)", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Marcel Klehr", + "email": "mklehr@gmx.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Robert Kowalski", + "email": "rok@kowalski.gd", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Forbes Lindesay", + "email": "forbes@lindesay.co.uk", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Vaz Allen", + "email": "vaz@tryptid.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jake Verbaten", + "email": "raynos2@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Schabse Laks", + "email": "Dev@SLaks.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Florian Margaine", + "email": "florian@margaine.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Johan Nordberg", + "email": "its@johan-nordberg.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ian Babrou", + "email": "ibobrik@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Di Wu", + "email": "dwu@palantir.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mathias Bynens", + "email": "mathias@qiwi.be", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Matt McClure", + "email": "matt.mcclure@mapmyfitness.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Matt Lunn", + "email": "matt@mattlunn.me.uk", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Alexey Kreschuk", + "email": "akrsch@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "elisee", + "email": "elisee@sparklin.org", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Robert Gieseke", + "email": "robert.gieseke@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Franc\u0327ois Frisch", + "email": "francoisfrisch@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Trevor Burnham", + "email": "tburnham@hubspot.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Alan Shaw", + "email": "alan@freestyle-developments.co.uk", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "TJ Holowaychuk", + "email": "tj@vision-media.ca", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Nicholas Kinsey", + "email": "pyro@feisty.io", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Paulo Cesar", + "email": "pauloc062@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Elan Shanker", + "email": "elan.shanker@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jon Spencer", + "email": "jon@jonspencer.ca", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jason Diamond", + "email": "jason@diamond.name", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Maximilian Antoni", + "email": "mail@maxantoni.de", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Thom Blake", + "email": "tblake@brightroll.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jess Martin", + "email": "jessmartin@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Spain Train", + "email": "michael.spainhower@opower.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Alex Rodionov", + "email": "p0deje@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Matt Colyer", + "email": "matt@colyer.name", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Evan You", + "email": "yyx990803@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "bitspill", + "email": "bitspill+github@bitspill.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Gabriel Falkenberg", + "email": "gabriel.falkenberg@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Alexej Yaroshevich", + "email": "alex@qfox.ru", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Quim Calpe", + "email": "quim@kalpe.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Steve Mason", + "email": "stevem@brandwatch.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Wil Moore III", + "email": "wil.moore@wilmoore.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Sergey Belov", + "email": "peimei@ya.ru", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Tom Huang", + "email": "hzlhu.dargon@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "CamilleM", + "email": "camille.moulin@alterway.fr", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "S\u00e9bastien Santoro", + "email": "dereckson@espace-win.org", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Evan Lucas", + "email": "evan@btc.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Quinn Slack", + "email": "qslack@qslack.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Alex Kocharin", + "email": "alex@kocharin.ru", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Daniel Santiago", + "email": "daniel.santiago@highlevelwebs.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Denis Gladkikh", + "email": "outcoldman@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Andrew Horton", + "email": "andrew.j.horton@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Zeke Sikelianos", + "email": "zeke@sikelianos.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Dylan Greene", + "email": "dylang@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Franck Cuny", + "email": "franck.cuny@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Yeonghoon Park", + "email": "sola92@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Rafael de Oleza", + "email": "rafa@spotify.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mikola Lysenko", + "email": "mikolalysenko@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Yazhong Liu", + "email": "yorkiefixer@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Neil Gentleman", + "email": "ngentleman@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kris Kowal", + "email": "kris.kowal@cixar.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Alex Gorbatchev", + "email": "alex.gorbatchev@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Shawn Wildermuth", + "email": "shawn@wildermuth.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Wesley de Souza", + "email": "wesleywex@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "yoyoyogi", + "email": "yogesh.k@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "J. Tangelder", + "email": "j.tangelder@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jean Lauliac", + "email": "jean@lauliac.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Andrey Kislyuk", + "email": "kislyuk@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Thorsten Lorenz", + "email": "thlorenz@gmx.de", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Julian Gruber", + "email": "julian@juliangruber.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Benjamin Coe", + "email": "bencoe@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Alex Ford", + "email": "Alex.Ford@CodeTunnel.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Matt Hickford", + "email": "matt.hickford@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Sean McGivern", + "email": "sean.mcgivern@rightscale.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "C J Silverio", + "email": "ceejceej@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Robin Tweedie", + "email": "robin@songkick.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Miroslav Bajto\u0161", + "email": "miroslav@strongloop.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "David Glasser", + "email": "glasser@davidglasser.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Gianluca Casati", + "email": "casati_gianluca@yahoo.it", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Forrest L Norvell", + "email": "ogd@aoaioxxysz.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Karsten Tinnefeld", + "email": "k.tinnefeld@googlemail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Bryan Burgers", + "email": "bryan@burgers.io", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "David Beitey", + "email": "david@davidjb.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Evan You", + "email": "yyou@google.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Zach Pomerantz", + "email": "zmp@umich.edu", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Chris Williams", + "email": "cwilliams88@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "sudodoki", + "email": "smd.deluzion@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mick Thompson", + "email": "dthompson@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Felix Rabe", + "email": "felix@rabe.io", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Michael Hayes", + "email": "michael@hayes.io", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Chris Dickinson", + "email": "christopher.s.dickinson@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Bradley Meck", + "email": "bradley.meck@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "GeJ", + "email": "geraud@gcu.info", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Andrew Terris", + "email": "atterris@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Michael Nisi", + "email": "michael.nisi@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "fengmk2", + "email": "fengmk2@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Adam Meadows", + "email": "adam.meadows@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Chulki Lee", + "email": "chulki.lee@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "\u4e0d\u56db", + "email": "busi.hyy@taobao.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "dead_horse", + "email": "dead_horse@qq.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kenan Yildirim", + "email": "kenan@kenany.me", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Laurie Voss", + "email": "git@seldo.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Rebecca Turner", + "email": "me@re-becca.org", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Hunter Loftis", + "email": "hunter@hunterloftis.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Peter Richardson", + "email": "github@zoomy.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jussi Kalliokoski", + "email": "jussi.kalliokoski@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Filip Weiss", + "email": "me@fiws.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Timo Wei\u00df", + "email": "timoweiss@Timo-MBP.local", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Christopher Hiller", + "email": "chiller@badwing.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "J\u00e9r\u00e9my Lal", + "email": "kapouer@melix.org", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Anders Janmyr", + "email": "anders@janmyr.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Chris Meyers", + "email": "chris.meyers.fsu@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ludwig Magnusson", + "email": "ludwig@mediatool.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Wout Mertens", + "email": "Wout.Mertens@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Nick Santos", + "email": "nick@medium.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Terin Stock", + "email": "terinjokes@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Faiq Raza", + "email": "faiqrazarizvi@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Thomas Torp", + "email": "thomas@erupt.no", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Sam Mikes", + "email": "smikes@cubane.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mat Tyndall", + "email": "mat.tyndall@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Tauren Mills", + "email": "tauren@sportzing.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ron Martinez", + "email": "ramartin.net@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kazuhito Hokamura", + "email": "k.hokamura@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Tristan Davies", + "email": "github@tristan.io", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "David Volm", + "email": "david@volminator.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Lin Clark", + "email": "lin.w.clark@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ben Page", + "email": "bpage@dewalch.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jeff Jo", + "email": "jeffjo@squareup.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "martinvd", + "email": "martinvdpub@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mark J. Titorenko", + "email": "nospam-github.com@titorenko.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Oddur Sigurdsson", + "email": "oddurs@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Eric Mill", + "email": "eric@konklone.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Gabriel Barros", + "email": "descartavel1@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "KevinSheedy", + "email": "kevinsheedy@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Aleksey Smolenchuk", + "email": "aleksey@uber.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ed Morley", + "email": "emorley@mozilla.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Blaine Bublitz", + "email": "blaine@iceddev.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Andrey Fedorov", + "email": "anfedorov@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Daijiro Wachi", + "email": "daijiro.wachi@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Luc Thevenard", + "email": "lucthevenard@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Aria Stewart", + "email": "aredridel@nbtsc.org", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Charlie Rudolph", + "email": "charles.w.rudolph@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Vladimir Rutsky", + "email": "rutsky@users.noreply.github.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Isaac Murchie", + "email": "isaac@saucelabs.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Marcin Wosinek", + "email": "marcin.wosinek@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "David Marr", + "email": "davemarr@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Bryan English", + "email": "bryan@bryanenglish.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Anthony Zotti", + "email": "amZotti@users.noreply.github.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Karl Horky", + "email": "karl.horky@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jordan Harband", + "email": "ljharb@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Gu\u00f0laugur Stef\u00e1n Egilsson", + "email": "gulli@kolibri.is", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Helge Skogly Holm", + "email": "helge.holm@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Peter A. Shevtsov", + "email": "petr.shevtsov@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Alain Kalker", + "email": "a.c.kalker@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Bryant Williams", + "email": "b.n.williams@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jonas Weber", + "email": "github@jonasw.de", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Tim Whidden", + "email": "twhid@twhid.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Andreas", + "email": "functino@users.noreply.github.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Karolis Narkevicius", + "email": "karolis.n@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Adrian Lynch", + "email": "adi_ady_ade@hotmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Richard Littauer", + "email": "richard.littauer@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Oli Evans", + "email": "oli@zilla.org.uk", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Matt Brennan", + "email": "mattyb1000@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jeff Barczewski", + "email": "jeff.barczewski@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Danny Fritz", + "email": "dannyfritz@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Takaya Kobayashi", + "email": "jigsaw@live.jp", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ra'Shaun Stovall", + "email": "rashaunstovall@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Julien Meddah", + "email": "julien.meddah@deveryware.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Michiel Sikma", + "email": "michiel@wedemandhtml.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jakob Krigovsky", + "email": "jakob.krigovsky@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Charmander", + "email": "~@charmander.me", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Erik Wienhold", + "email": "git@ewie.name", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "James Butler", + "email": "james.butler@sandfox.co.uk", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kevin Kragenbrink", + "email": "kevin@gaikai.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Arnaud Rinquin", + "email": "rinquin.arnaud@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mike MacCana", + "email": "mike.maccana@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Antti Mattila", + "email": "anttti@fastmail.fm", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "laiso", + "email": "laiso@lai.so", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Matt Zorn", + "email": "zornme@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kyle Mitchell", + "email": "kyle@kemitchell.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jeremiah Senkpiel", + "email": "fishrock123@rocketmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Michael Klein", + "email": "mischkl@users.noreply.github.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Simen Bekkhus", + "email": "sbekkhus91@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Victor", + "email": "victor.shih@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "thefourtheye", + "email": "thechargingvolcano@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Clay Carpenter", + "email": "claycarpenter@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "bangbang93", + "email": "bangbang93@163.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Nick Malaguti", + "email": "nmalaguti@palantir.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Cedric Nelson", + "email": "cedric.nelson@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kat March\u00e1n", + "email": "kzm@sykosomatic.org", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Andrew", + "email": "talktome@aboutandrew.co.uk", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Eduardo Pinho", + "email": "enet4mikeenet@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Rachel Hutchison", + "email": "rhutchix@intel.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ryan Temple", + "email": "ryantemple145@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Eugene Sharygin", + "email": "eush77@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Nick Heiner", + "email": "nick.heiner@opower.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "James Talmage", + "email": "james@talmage.io", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "jane arc", + "email": "jane@uber.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Joseph Dykstra", + "email": "josephdykstra@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Joshua Egan", + "email": "josh-egan@users.noreply.github.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Thomas Cort", + "email": "thomasc@ssimicro.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Thaddee Tyl", + "email": "thaddee.tyl@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Steve Klabnik", + "email": "steve@steveklabnik.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Andrew Murray", + "email": "radarhere@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Stephan B\u00f6nnemann", + "email": "stephan@excellenteasy.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kyle M. Tarplee", + "email": "kyle.tarplee@numerica.us", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Derek Peterson", + "email": "derekpetey@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Greg Whiteley", + "email": "greg.whiteley@atomos.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "murgatroid99", + "email": "mlumish@google.com", + "url": null + }, + { + "type": "person", + "role": "maintainer", + "name": "isaacs", + "email": "isaacs@npmjs.com", + "url": null + }, + { + "type": "person", + "role": "maintainer", + "name": "othiym23", + "email": "ogd@aoaioxxysz.net", + "url": null + }, + { + "type": "person", + "role": "maintainer", + "name": "iarna", + "email": "me@re-becca.org", + "url": null + }, + { + "type": "person", + "role": "maintainer", + "name": "zkat", + "email": "kat@sykosomatic.org", + "url": null + } + ], + "keywords": [ + "package manager", + "modules", + "install", + "package.json" + ], + "homepage_url": "https://docs.npmjs.com/", + "download_url": "https://registry.npmjs.org/npm/-/npm-2.13.5.tgz", + "size": null, + "sha1": "a124386bce4a90506f28ad4b1d1a804a17baaf32", + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": "http://github.com/npm/npm/issues", + "code_view_url": null, + "vcs_url": "git+https://github.com/npm/npm.git@fc7bbf03e39cc48a8924b90696d28345a6a90f3c", + "copyright": null, + "license_expression": "artistic-2.0", + "declared_license": [ + "Artistic-2.0" + ], + "notice_text": null, + "source_packages": [], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:npm/abbrev", + "extracted_requirement": "~1.0.7", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/ansi", + "extracted_requirement": "~0.3.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/ansicolors", + "extracted_requirement": "~0.3.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/ansistyles", + "extracted_requirement": "~0.1.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/archy", + "extracted_requirement": "~1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/async-some", + "extracted_requirement": "~1.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/block-stream", + "extracted_requirement": "0.0.8", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/char-spinner", + "extracted_requirement": "~1.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/chmodr", + "extracted_requirement": "~1.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/chownr", + "extracted_requirement": "0.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/cmd-shim", + "extracted_requirement": "~2.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/columnify", + "extracted_requirement": "~1.5.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/config-chain", + "extracted_requirement": "~1.1.9", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/dezalgo", + "extracted_requirement": "~1.0.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/editor", + "extracted_requirement": "~1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/fs-vacuum", + "extracted_requirement": "~1.2.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/fs-write-stream-atomic", + "extracted_requirement": "~1.0.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/fstream", + "extracted_requirement": "~1.0.7", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/fstream-npm", + "extracted_requirement": "~1.0.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/github-url-from-git", + "extracted_requirement": "~1.4.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/github-url-from-username-repo", + "extracted_requirement": "~1.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/glob", + "extracted_requirement": "~5.0.14", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/graceful-fs", + "extracted_requirement": "~4.1.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/hosted-git-info", + "extracted_requirement": "~2.1.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/inflight", + "extracted_requirement": "~1.0.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/inherits", + "extracted_requirement": "~2.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/ini", + "extracted_requirement": "~1.3.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/init-package-json", + "extracted_requirement": "~1.7.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/lockfile", + "extracted_requirement": "~1.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/lru-cache", + "extracted_requirement": "~2.6.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/minimatch", + "extracted_requirement": "~2.0.10", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/mkdirp", + "extracted_requirement": "~0.5.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/node-gyp", + "extracted_requirement": "~2.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/nopt", + "extracted_requirement": "~3.0.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/normalize-git-url", + "extracted_requirement": "~3.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/normalize-package-data", + "extracted_requirement": "~2.3.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/npm-cache-filename", + "extracted_requirement": "~1.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/npm-install-checks", + "extracted_requirement": "~1.0.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/npm-package-arg", + "extracted_requirement": "~4.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/npm-registry-client", + "extracted_requirement": "~6.5.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/npm-user-validate", + "extracted_requirement": "~0.1.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/npmlog", + "extracted_requirement": "~1.2.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/once", + "extracted_requirement": "~1.3.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/opener", + "extracted_requirement": "~1.4.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/osenv", + "extracted_requirement": "~0.1.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/path-is-inside", + "extracted_requirement": "~1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/read", + "extracted_requirement": "~1.0.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/read-installed", + "extracted_requirement": "~4.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/read-package-json", + "extracted_requirement": "~2.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/readable-stream", + "extracted_requirement": "~1.1.13", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/realize-package-specifier", + "extracted_requirement": "~3.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/request", + "extracted_requirement": "~2.60.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/retry", + "extracted_requirement": "~0.6.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/rimraf", + "extracted_requirement": "~2.4.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/semver", + "extracted_requirement": "~5.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/sha", + "extracted_requirement": "~1.3.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/slide", + "extracted_requirement": "~1.1.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/sorted-object", + "extracted_requirement": "~1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/spdx", + "extracted_requirement": "~0.4.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/tar", + "extracted_requirement": "~2.1.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/text-table", + "extracted_requirement": "~0.2.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/uid-number", + "extracted_requirement": "0.0.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/umask", + "extracted_requirement": "~1.1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/validate-npm-package-name", + "extracted_requirement": "~2.2.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/which", + "extracted_requirement": "~1.1.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/wrappy", + "extracted_requirement": "~1.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/write-file-atomic", + "extracted_requirement": "~1.1.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/validate-npm-package-license", + "extracted_requirement": "*", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/deep-equal", + "extracted_requirement": "~1.0.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/marked", + "extracted_requirement": "~0.3.3", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/marked-man", + "extracted_requirement": "~0.1.5", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/nock", + "extracted_requirement": "~2.10.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/npm-registry-couchapp", + "extracted_requirement": "~2.6.7", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/npm-registry-mock", + "extracted_requirement": "~1.0.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/require-inject", + "extracted_requirement": "~1.2.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/sprintf-js", + "extracted_requirement": "~1.0.2", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/tap", + "extracted_requirement": "~1.3.1", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + } + ], + "purl": "pkg:npm/npm@2.13.5", + "repository_homepage_url": "https://www.npmjs.com/package/npm", + "repository_download_url": "https://registry.npmjs.org/npm/-/npm-2.13.5.tgz", + "api_data_url": "https://registry.npmjs.org/npm/2.13.5" + } + ], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/zlib", + "type": "directory", + "name": "zlib", + "base_name": "zlib", + "extension": "", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "licenses": [], + "license_expressions": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "package_data": [], + "for_packages": [], + "files_count": 13, + "dirs_count": 5, + "size_count": 7951, + "scan_errors": [] + }, + { + "path": "scan/zlib/ada", + "type": "directory", + "name": "ada", + "base_name": "ada", + "extension": "", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "licenses": [], + "license_expressions": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "package_data": [], + "for_packages": [], + "files_count": 1, + "dirs_count": 0, + "size_count": 2054, + "scan_errors": [] + }, + { + "path": "scan/zlib/ada/zlib.ads", + "type": "file", + "name": "zlib.ads", + "base_name": "zlib", + "extension": ".ads", + "size": 2054, + "sha1": "93b3e6e5822c350a9c12e69a2848e29767777002", + "md5": "4e58eb393ad904c1de81a9ca5b9e392c", + "sha256": "8e6da5a880c0547bac5b71f0f123164511ae17e3c7d7f424e4ec5b44e1cae731", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": null, + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "licenses": [ + { + "key": "gpl-2.0-plus", + "score": 100.0, + "name": "GNU General Public License 2.0 or later", + "short_name": "GPL 2.0 or later", + "category": "Copyleft", + "is_exception": false, + "is_unknown": false, + "owner": "Free Software Foundation (FSF)", + "homepage_url": "http://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html", + "text_url": "http://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html", + "reference_url": "https://scancode-licensedb.aboutcode.org/gpl-2.0-plus", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/gpl-2.0-plus.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/gpl-2.0-plus.yml", + "spdx_license_key": "GPL-2.0-or-later", + "spdx_url": "https://spdx.org/licenses/GPL-2.0-or-later", + "start_line": 6, + "end_line": 25, + "matched_rule": { + "identifier": "gpl-2.0-plus_with_ada-linking-exception_1.RULE", + "license_expression": "gpl-2.0-plus WITH ada-linking-exception", + "licenses": [ + "gpl-2.0-plus", + "ada-linking-exception" + ], + "referenced_filenames": [], + "is_license_text": false, + "is_license_notice": true, + "is_license_reference": false, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 176, + "matched_length": 176, + "match_coverage": 100.0, + "rule_relevance": 100 + } + }, + { + "key": "ada-linking-exception", + "score": 100.0, + "name": "Ada linking exception to GPL 2.0 or later", + "short_name": "Ada linking exception to GPL 2.0 or later", + "category": "Copyleft Limited", + "is_exception": true, + "is_unknown": false, + "owner": "Dmitriy Anisimkov", + "homepage_url": null, + "text_url": "", + "reference_url": "https://scancode-licensedb.aboutcode.org/ada-linking-exception", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/ada-linking-exception.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/ada-linking-exception.yml", + "spdx_license_key": "LicenseRef-scancode-ada-linking-exception", + "spdx_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/ada-linking-exception.LICENSE", + "start_line": 6, + "end_line": 25, + "matched_rule": { + "identifier": "gpl-2.0-plus_with_ada-linking-exception_1.RULE", + "license_expression": "gpl-2.0-plus WITH ada-linking-exception", + "licenses": [ + "gpl-2.0-plus", + "ada-linking-exception" + ], + "referenced_filenames": [], + "is_license_text": false, + "is_license_notice": true, + "is_license_reference": false, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 176, + "matched_length": 176, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "gpl-2.0-plus WITH ada-linking-exception" + ], + "percentage_of_license_text": 94.12, + "copyrights": [ + { + "copyright": "Copyright (c) 2002-2004 Dmitriy Anisimkov", + "start_line": 4, + "end_line": 4 + } + ], + "holders": [ + { + "holder": "Dmitriy Anisimkov", + "start_line": 4, + "end_line": 4 + } + ], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/zlib/adler32.c", + "type": "file", + "name": "adler32.c", + "base_name": "adler32", + "extension": ".c", + "size": 179, + "sha1": "f98c6c82a570ac852801b46157c1540070d55358", + "md5": "48c4037f16b4670795fdf72e88cc278c", + "sha256": "fc1682e787ccc8d9eb83eb0b1f5acb59d22aa6ce1bff7c749a9dc315237b2240", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "C", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [ + { + "key": "zlib", + "score": 100.0, + "name": "ZLIB License", + "short_name": "ZLIB License", + "category": "Permissive", + "is_exception": false, + "is_unknown": false, + "owner": "zlib", + "homepage_url": "http://www.zlib.net/", + "text_url": "http://www.gzip.org/zlib/zlib_license.html", + "reference_url": "https://scancode-licensedb.aboutcode.org/zlib", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.yml", + "spdx_license_key": "Zlib", + "spdx_url": "https://spdx.org/licenses/Zlib", + "start_line": 3, + "end_line": 3, + "matched_rule": { + "identifier": "zlib_5.RULE", + "license_expression": "zlib", + "licenses": [ + "zlib" + ], + "referenced_filenames": [ + "zlib.h" + ], + "is_license_text": false, + "is_license_notice": false, + "is_license_reference": true, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 12, + "matched_length": 12, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "zlib" + ], + "percentage_of_license_text": 42.86, + "copyrights": [ + { + "copyright": "Copyright (c) 1995-2011 Mark Adler", + "start_line": 2, + "end_line": 2 + } + ], + "holders": [ + { + "holder": "Mark Adler", + "start_line": 2, + "end_line": 2 + } + ], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/zlib/deflate.c", + "type": "file", + "name": "deflate.c", + "base_name": "deflate", + "extension": ".c", + "size": 198, + "sha1": "4b4696c59e245cef0bad7334fdb63725ccfa218c", + "md5": "f11ed826baf25f2bfa9c610313460036", + "sha256": "ef7bf500e1accf7e91352788c92b5c6663bab52e2cd6c42284496518e4a5f054", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "C", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [ + { + "key": "zlib", + "score": 100.0, + "name": "ZLIB License", + "short_name": "ZLIB License", + "category": "Permissive", + "is_exception": false, + "is_unknown": false, + "owner": "zlib", + "homepage_url": "http://www.zlib.net/", + "text_url": "http://www.gzip.org/zlib/zlib_license.html", + "reference_url": "https://scancode-licensedb.aboutcode.org/zlib", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.yml", + "spdx_license_key": "Zlib", + "spdx_url": "https://spdx.org/licenses/Zlib", + "start_line": 3, + "end_line": 3, + "matched_rule": { + "identifier": "zlib_5.RULE", + "license_expression": "zlib", + "licenses": [ + "zlib" + ], + "referenced_filenames": [ + "zlib.h" + ], + "is_license_text": false, + "is_license_notice": false, + "is_license_reference": true, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 12, + "matched_length": 12, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "zlib" + ], + "percentage_of_license_text": 40.0, + "copyrights": [ + { + "copyright": "Copyright (c) 1995-2013 Jean-loup Gailly and Mark Adler", + "start_line": 2, + "end_line": 2 + } + ], + "holders": [ + { + "holder": "Jean-loup Gailly and Mark Adler", + "start_line": 2, + "end_line": 2 + } + ], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/zlib/deflate.h", + "type": "file", + "name": "deflate.h", + "base_name": "deflate", + "extension": ".h", + "size": 165, + "sha1": "a99a71ff971faf49a52ed6f7d3075fdffae8054b", + "md5": "d8821cd288e2be7fd83cdcac22a427ce", + "sha256": "a3c2fa63c7e730bdd008bc07b7d3865dc76781082b77a03d52a918ce1c7d3459", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "C", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [ + { + "key": "zlib", + "score": 100.0, + "name": "ZLIB License", + "short_name": "ZLIB License", + "category": "Permissive", + "is_exception": false, + "is_unknown": false, + "owner": "zlib", + "homepage_url": "http://www.zlib.net/", + "text_url": "http://www.gzip.org/zlib/zlib_license.html", + "reference_url": "https://scancode-licensedb.aboutcode.org/zlib", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.yml", + "spdx_license_key": "Zlib", + "spdx_url": "https://spdx.org/licenses/Zlib", + "start_line": 3, + "end_line": 3, + "matched_rule": { + "identifier": "zlib_5.RULE", + "license_expression": "zlib", + "licenses": [ + "zlib" + ], + "referenced_filenames": [ + "zlib.h" + ], + "is_license_text": false, + "is_license_notice": false, + "is_license_reference": true, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 12, + "matched_length": 12, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "zlib" + ], + "percentage_of_license_text": 50.0, + "copyrights": [ + { + "copyright": "Copyright (c) 1995-2012 Jean-loup Gailly", + "start_line": 2, + "end_line": 2 + } + ], + "holders": [ + { + "holder": "Jean-loup Gailly", + "start_line": 2, + "end_line": 2 + } + ], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/zlib/dotzlib", + "type": "directory", + "name": "dotzlib", + "base_name": "dotzlib", + "extension": "", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "licenses": [], + "license_expressions": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "package_data": [], + "for_packages": [], + "files_count": 2, + "dirs_count": 0, + "size_count": 863, + "scan_errors": [] + }, + { + "path": "scan/zlib/dotzlib/AssemblyInfo.cs", + "type": "file", + "name": "AssemblyInfo.cs", + "base_name": "AssemblyInfo", + "extension": ".cs", + "size": 627, + "sha1": "cc7fcb4d721a7efe9eefa6bd2d9d0105d33203a8", + "md5": "dbd621f76cb27e2fd8b8e2d9d985ffcf", + "sha256": "8b257a625c537736ee3ac2321b4ef56ba8a6fa4f922a35b1a0e992f9327d39e9", + "mime_type": "text/plain", + "file_type": "ASCII text, with CRLF line terminators", + "programming_language": "C#", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [], + "license_expressions": [], + "percentage_of_license_text": 0, + "copyrights": [ + { + "copyright": "Copyright (c) 2004 by Henrik Ravn", + "start_line": 14, + "end_line": 14 + } + ], + "holders": [ + { + "holder": "Henrik Ravn", + "start_line": 14, + "end_line": 14 + } + ], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/zlib/dotzlib/ChecksumImpl.cs", + "type": "file", + "name": "ChecksumImpl.cs", + "base_name": "ChecksumImpl", + "extension": ".cs", + "size": 236, + "sha1": "3043848212232cdde81eb3e20fca7f2447d944be", + "md5": "661652a0568e25d12fc9bfad2fdabfb2", + "sha256": "f3144ba734429b825e22c2f9048412e78c907e0142f2cdc629879b3a0fa63c89", + "mime_type": "text/plain", + "file_type": "UTF-8 Unicode text, with CRLF line terminators", + "programming_language": "C#", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [ + { + "key": "boost-1.0", + "score": 100.0, + "name": "Boost Software License 1.0", + "short_name": "Boost 1.0", + "category": "Permissive", + "is_exception": false, + "is_unknown": false, + "owner": "Boost", + "homepage_url": "http://www.boost.org/users/license.html", + "text_url": "http://www.boost.org/LICENSE_1_0.txt", + "reference_url": "https://scancode-licensedb.aboutcode.org/boost-1.0", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/boost-1.0.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/boost-1.0.yml", + "spdx_license_key": "BSL-1.0", + "spdx_url": "https://spdx.org/licenses/BSL-1.0", + "start_line": 4, + "end_line": 5, + "matched_rule": { + "identifier": "boost-1.0_21.RULE", + "license_expression": "boost-1.0", + "licenses": [ + "boost-1.0" + ], + "referenced_filenames": [ + "LICENSE_1_0.txt" + ], + "is_license_text": false, + "is_license_notice": true, + "is_license_reference": false, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 32, + "matched_length": 32, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "boost-1.0" + ], + "percentage_of_license_text": 88.89, + "copyrights": [ + { + "copyright": "Copyright Henrik Ravn 2004", + "start_line": 2, + "end_line": 2 + } + ], + "holders": [ + { + "holder": "Henrik Ravn", + "start_line": 2, + "end_line": 2 + } + ], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/zlib/gcc_gvmat64", + "type": "directory", + "name": "gcc_gvmat64", + "base_name": "gcc_gvmat64", + "extension": "", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "licenses": [], + "license_expressions": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "package_data": [], + "for_packages": [], + "files_count": 1, + "dirs_count": 0, + "size_count": 1774, + "scan_errors": [] + }, + { + "path": "scan/zlib/gcc_gvmat64/gvmat64.S", + "type": "file", + "name": "gvmat64.S", + "base_name": "gvmat64", + "extension": ".S", + "size": 1774, + "sha1": "8dff93e95ccef023a871fb438784635b5df1d541", + "md5": "4f0d2f55d43d9466750350f8b27f0302", + "sha256": "1551b8fb1c2f1f3cc92c8e4f31730ebdde0c766caeca6d670a7758b55e3804f3", + "mime_type": "text/plain", + "file_type": "ASCII text, with CRLF line terminators", + "programming_language": "GAS", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [ + { + "key": "zlib", + "score": 100.0, + "name": "ZLIB License", + "short_name": "ZLIB License", + "category": "Permissive", + "is_exception": false, + "is_unknown": false, + "owner": "zlib", + "homepage_url": "http://www.zlib.net/", + "text_url": "http://www.gzip.org/zlib/zlib_license.html", + "reference_url": "https://scancode-licensedb.aboutcode.org/zlib", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.yml", + "spdx_license_key": "Zlib", + "spdx_url": "https://spdx.org/licenses/Zlib", + "start_line": 17, + "end_line": 31, + "matched_rule": { + "identifier": "zlib.LICENSE", + "license_expression": "zlib", + "licenses": [ + "zlib" + ], + "referenced_filenames": [], + "is_license_text": true, + "is_license_notice": false, + "is_license_reference": false, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 132, + "matched_length": 132, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "zlib" + ], + "percentage_of_license_text": 50.0, + "copyrights": [ + { + "copyright": "Copyright (c) 1995-2010 Jean-loup Gailly, Brian Raiter and Gilles Vollant", + "start_line": 10, + "end_line": 10 + } + ], + "holders": [ + { + "holder": "Jean-loup Gailly, Brian Raiter and Gilles Vollant", + "start_line": 10, + "end_line": 10 + } + ], + "authors": [ + { + "author": "Gilles Vollant", + "start_line": 12, + "end_line": 12 + } + ], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/zlib/infback9", + "type": "directory", + "name": "infback9", + "base_name": "infback9", + "extension": "", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "licenses": [], + "license_expressions": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "package_data": [], + "for_packages": [], + "files_count": 2, + "dirs_count": 0, + "size_count": 353, + "scan_errors": [] + }, + { + "path": "scan/zlib/infback9/infback9.c", + "type": "file", + "name": "infback9.c", + "base_name": "infback9", + "extension": ".c", + "size": 185, + "sha1": "299f7a056cf0e0ed7d5bd687c53f3247d809cab2", + "md5": "d570bd029ee2362f2a0927c87999773b", + "sha256": "03fb435669b57aa90fe00c4dbc12d8492ef87b6243427d1e1831006994ee1f80", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "C", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [ + { + "key": "zlib", + "score": 100.0, + "name": "ZLIB License", + "short_name": "ZLIB License", + "category": "Permissive", + "is_exception": false, + "is_unknown": false, + "owner": "zlib", + "homepage_url": "http://www.zlib.net/", + "text_url": "http://www.gzip.org/zlib/zlib_license.html", + "reference_url": "https://scancode-licensedb.aboutcode.org/zlib", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.yml", + "spdx_license_key": "Zlib", + "spdx_url": "https://spdx.org/licenses/Zlib", + "start_line": 3, + "end_line": 3, + "matched_rule": { + "identifier": "zlib_5.RULE", + "license_expression": "zlib", + "licenses": [ + "zlib" + ], + "referenced_filenames": [ + "zlib.h" + ], + "is_license_text": false, + "is_license_notice": false, + "is_license_reference": true, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 12, + "matched_length": 12, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "zlib" + ], + "percentage_of_license_text": 44.44, + "copyrights": [ + { + "copyright": "Copyright (c) 1995-2008 Mark Adler", + "start_line": 2, + "end_line": 2 + } + ], + "holders": [ + { + "holder": "Mark Adler", + "start_line": 2, + "end_line": 2 + } + ], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/zlib/infback9/infback9.h", + "type": "file", + "name": "infback9.h", + "base_name": "infback9", + "extension": ".h", + "size": 168, + "sha1": "c849edb4691d23e0db97d3f5da1cc5b396929449", + "md5": "2913c8ea7fb43a0f469bb2797c820a95", + "sha256": "4f8db049a7156b8a4616a6c9df0b5ee09571f0ac2eb253e111f2fb727fb033ea", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "C", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [ + { + "key": "zlib", + "score": 100.0, + "name": "ZLIB License", + "short_name": "ZLIB License", + "category": "Permissive", + "is_exception": false, + "is_unknown": false, + "owner": "zlib", + "homepage_url": "http://www.zlib.net/", + "text_url": "http://www.gzip.org/zlib/zlib_license.html", + "reference_url": "https://scancode-licensedb.aboutcode.org/zlib", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.yml", + "spdx_license_key": "Zlib", + "spdx_url": "https://spdx.org/licenses/Zlib", + "start_line": 3, + "end_line": 3, + "matched_rule": { + "identifier": "zlib_5.RULE", + "license_expression": "zlib", + "licenses": [ + "zlib" + ], + "referenced_filenames": [ + "zlib.h" + ], + "is_license_text": false, + "is_license_notice": false, + "is_license_reference": true, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 12, + "matched_length": 12, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "zlib" + ], + "percentage_of_license_text": 50.0, + "copyrights": [ + { + "copyright": "Copyright (c) 2003 Mark Adler", + "start_line": 2, + "end_line": 2 + } + ], + "holders": [ + { + "holder": "Mark Adler", + "start_line": 2, + "end_line": 2 + } + ], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/zlib/iostream2", + "type": "directory", + "name": "iostream2", + "base_name": "iostream2", + "extension": "", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "licenses": [], + "license_expressions": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "package_data": [], + "for_packages": [], + "files_count": 1, + "dirs_count": 0, + "size_count": 649, + "scan_errors": [] + }, + { + "path": "scan/zlib/iostream2/zstream.h", + "type": "file", + "name": "zstream.h", + "base_name": "zstream", + "extension": ".h", + "size": 649, + "sha1": "b7fe15df27e601b88cde6b6a63dad184ccbce572", + "md5": "8b897171ea0767232e586086bc94518c", + "sha256": "ee2eef602cba7c4ba350617f4154de50cb4cbf274c7dd773130aca0775d5d9cd", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "C", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [ + { + "key": "mit-old-style", + "score": 100.0, + "name": "MIT Old Style", + "short_name": "MIT Old Style", + "category": "Permissive", + "is_exception": false, + "is_unknown": false, + "owner": "MIT", + "homepage_url": "http://fedoraproject.org/wiki/Licensing:MIT#Old_Style", + "text_url": "http://fedoraproject.org/wiki/Licensing:MIT#Old_Style", + "reference_url": "https://scancode-licensedb.aboutcode.org/mit-old-style", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit-old-style.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit-old-style.yml", + "spdx_license_key": "LicenseRef-scancode-mit-old-style", + "spdx_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit-old-style.LICENSE", + "start_line": 9, + "end_line": 15, + "matched_rule": { + "identifier": "mit-old-style_cmr-no_1.RULE", + "license_expression": "mit-old-style", + "licenses": [ + "mit-old-style" + ], + "referenced_filenames": [], + "is_license_text": true, + "is_license_notice": false, + "is_license_reference": false, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 71, + "matched_length": 71, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "mit-old-style" + ], + "percentage_of_license_text": 79.78, + "copyrights": [ + { + "copyright": "Copyright (c) 1997 Christian Michelsen Research AS Advanced Computing", + "start_line": 3, + "end_line": 5 + } + ], + "holders": [ + { + "holder": "Christian Michelsen Research AS Advanced Computing", + "start_line": 4, + "end_line": 5 + } + ], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/zlib/zlib.h", + "type": "file", + "name": "zlib.h", + "base_name": "zlib", + "extension": ".h", + "size": 1103, + "sha1": "85c65180242c560a4df66e9882119bf70eaefd02", + "md5": "07497e2688dad9406386f0534a0bbfca", + "sha256": "64fef1f0a7cd69eae744ad2fa754ee8568a5715588e38b7a3fa6e11eaeaec97e", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "C", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [ + { + "key": "zlib", + "score": 100.0, + "name": "ZLIB License", + "short_name": "ZLIB License", + "category": "Permissive", + "is_exception": false, + "is_unknown": false, + "owner": "zlib", + "homepage_url": "http://www.zlib.net/", + "text_url": "http://www.gzip.org/zlib/zlib_license.html", + "reference_url": "https://scancode-licensedb.aboutcode.org/zlib", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.yml", + "spdx_license_key": "Zlib", + "spdx_url": "https://spdx.org/licenses/Zlib", + "start_line": 6, + "end_line": 23, + "matched_rule": { + "identifier": "zlib_17.RULE", + "license_expression": "zlib", + "licenses": [ + "zlib" + ], + "referenced_filenames": [], + "is_license_text": true, + "is_license_notice": false, + "is_license_reference": false, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 144, + "matched_length": 144, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "zlib" + ], + "percentage_of_license_text": 84.21, + "copyrights": [ + { + "copyright": "Copyright (c) 1995-2013 Jean-loup Gailly and Mark Adler", + "start_line": 4, + "end_line": 4 + } + ], + "holders": [ + { + "holder": "Jean-loup Gailly and Mark Adler", + "start_line": 4, + "end_line": 4 + } + ], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/zlib/zutil.c", + "type": "file", + "name": "zutil.c", + "base_name": "zutil", + "extension": ".c", + "size": 218, + "sha1": "2e846ef84cfb16e0e8b92c62a850a607a709d7b2", + "md5": "2a0ea6a99e31fb0989209a027476038d", + "sha256": "dc7224c7f079d237acf510ff40282cf6d50352c851d4e2957d227e2a3b57eb4d", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "C", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [ + { + "key": "zlib", + "score": 100.0, + "name": "ZLIB License", + "short_name": "ZLIB License", + "category": "Permissive", + "is_exception": false, + "is_unknown": false, + "owner": "zlib", + "homepage_url": "http://www.zlib.net/", + "text_url": "http://www.gzip.org/zlib/zlib_license.html", + "reference_url": "https://scancode-licensedb.aboutcode.org/zlib", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.yml", + "spdx_license_key": "Zlib", + "spdx_url": "https://spdx.org/licenses/Zlib", + "start_line": 3, + "end_line": 3, + "matched_rule": { + "identifier": "zlib_5.RULE", + "license_expression": "zlib", + "licenses": [ + "zlib" + ], + "referenced_filenames": [ + "zlib.h" + ], + "is_license_text": false, + "is_license_notice": false, + "is_license_reference": true, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 12, + "matched_length": 12, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "zlib" + ], + "percentage_of_license_text": 37.5, + "copyrights": [ + { + "copyright": "Copyright (c) 1995-2005, 2010, 2011, 2012 Jean-loup Gailly", + "start_line": 2, + "end_line": 2 + } + ], + "holders": [ + { + "holder": "Jean-loup Gailly", + "start_line": 2, + "end_line": 2 + } + ], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/zlib/zutil.h", + "type": "file", + "name": "zutil.h", + "base_name": "zutil", + "extension": ".h", + "size": 395, + "sha1": "830fca8d60bd0d0d91f6354d83ec8bf118a20e64", + "md5": "807b91d2bf5e18de555e56de37e487d1", + "sha256": "3980fa5633b16f944641bf2fba3f49b8b9b9de6ffea7be1e142792393bf1a867", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "C", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [ + { + "key": "zlib", + "score": 100.0, + "name": "ZLIB License", + "short_name": "ZLIB License", + "category": "Permissive", + "is_exception": false, + "is_unknown": false, + "owner": "zlib", + "homepage_url": "http://www.zlib.net/", + "text_url": "http://www.gzip.org/zlib/zlib_license.html", + "reference_url": "https://scancode-licensedb.aboutcode.org/zlib", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.yml", + "spdx_license_key": "Zlib", + "spdx_url": "https://spdx.org/licenses/Zlib", + "start_line": 3, + "end_line": 3, + "matched_rule": { + "identifier": "zlib_5.RULE", + "license_expression": "zlib", + "licenses": [ + "zlib" + ], + "referenced_filenames": [ + "zlib.h" + ], + "is_license_text": false, + "is_license_notice": false, + "is_license_reference": true, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 12, + "matched_length": 12, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "zlib" + ], + "percentage_of_license_text": 20.34, + "copyrights": [ + { + "copyright": "Copyright (c) 1995-2013 Jean-loup Gailly", + "start_line": 2, + "end_line": 2 + } + ], + "holders": [ + { + "holder": "Jean-loup Gailly", + "start_line": 2, + "end_line": 2 + } + ], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + } + ] +} \ No newline at end of file diff --git a/tests/summarycode/data/full_summary/summary_by_facet.expected.json b/tests/summarycode/data/full_summary/summary_by_facet.expected.json new file mode 100644 index 00000000000..d20b89202f0 --- /dev/null +++ b/tests/summarycode/data/full_summary/summary_by_facet.expected.json @@ -0,0 +1,9497 @@ +{ + "headers": [ + { + "tool_name": "scancode-toolkit", + "options": { + "input": "", + "--copyright": true, + "--email": true, + "--facet": [ + "dev=*.java", + "dev=*.cs", + "dev=*ada*", + "data=*.S", + "tests=*infback9*", + "docs=*README" + ], + "--info": true, + "--json-pp": "", + "--license": true, + "--package": true, + "--summary": true, + "--summary-by-facet": true, + "--url": true + }, + "notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.", + "output_format_version": "3.0.0", + "message": null, + "errors": [], + "extra_data": { + "spdx_license_list_version": "3.16", + "files_count": 26 + } + } + ], + "dependencies": [ + { + "purl": "pkg:npm/abbrev", + "extracted_requirement": "~1.0.7", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/abbrev", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/ansi", + "extracted_requirement": "~0.3.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/ansi", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/ansicolors", + "extracted_requirement": "~0.3.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/ansicolors", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/ansistyles", + "extracted_requirement": "~0.1.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/ansistyles", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/archy", + "extracted_requirement": "~1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/archy", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/async-some", + "extracted_requirement": "~1.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/async-some", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/block-stream", + "extracted_requirement": "0.0.8", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/block-stream", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/char-spinner", + "extracted_requirement": "~1.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/char-spinner", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/chmodr", + "extracted_requirement": "~1.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/chmodr", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/chownr", + "extracted_requirement": "0.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/chownr", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/cmd-shim", + "extracted_requirement": "~2.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/cmd-shim", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/columnify", + "extracted_requirement": "~1.5.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/columnify", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/config-chain", + "extracted_requirement": "~1.1.9", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/config-chain", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/dezalgo", + "extracted_requirement": "~1.0.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/dezalgo", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/editor", + "extracted_requirement": "~1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/editor", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/fs-vacuum", + "extracted_requirement": "~1.2.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/fs-vacuum", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/fs-write-stream-atomic", + "extracted_requirement": "~1.0.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/fs-write-stream-atomic", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/fstream", + "extracted_requirement": "~1.0.7", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/fstream", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/fstream-npm", + "extracted_requirement": "~1.0.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/fstream-npm", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/github-url-from-git", + "extracted_requirement": "~1.4.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/github-url-from-git", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/github-url-from-username-repo", + "extracted_requirement": "~1.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/github-url-from-username-repo", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/glob", + "extracted_requirement": "~5.0.14", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/glob", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/graceful-fs", + "extracted_requirement": "~4.1.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/graceful-fs", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/hosted-git-info", + "extracted_requirement": "~2.1.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/hosted-git-info", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/inflight", + "extracted_requirement": "~1.0.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/inflight", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/inherits", + "extracted_requirement": "~2.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/inherits", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/ini", + "extracted_requirement": "~1.3.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/ini", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/init-package-json", + "extracted_requirement": "~1.7.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/init-package-json", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/lockfile", + "extracted_requirement": "~1.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/lockfile", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/lru-cache", + "extracted_requirement": "~2.6.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/lru-cache", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/minimatch", + "extracted_requirement": "~2.0.10", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/minimatch", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/mkdirp", + "extracted_requirement": "~0.5.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/mkdirp", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/node-gyp", + "extracted_requirement": "~2.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/node-gyp", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/nopt", + "extracted_requirement": "~3.0.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/nopt", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/normalize-git-url", + "extracted_requirement": "~3.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/normalize-git-url", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/normalize-package-data", + "extracted_requirement": "~2.3.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/normalize-package-data", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/npm-cache-filename", + "extracted_requirement": "~1.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/npm-cache-filename", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/npm-install-checks", + "extracted_requirement": "~1.0.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/npm-install-checks", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/npm-package-arg", + "extracted_requirement": "~4.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/npm-package-arg", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/npm-registry-client", + "extracted_requirement": "~6.5.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/npm-registry-client", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/npm-user-validate", + "extracted_requirement": "~0.1.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/npm-user-validate", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/npmlog", + "extracted_requirement": "~1.2.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/npmlog", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/once", + "extracted_requirement": "~1.3.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/once", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/opener", + "extracted_requirement": "~1.4.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/opener", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/osenv", + "extracted_requirement": "~0.1.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/osenv", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/path-is-inside", + "extracted_requirement": "~1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/path-is-inside", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/read", + "extracted_requirement": "~1.0.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/read", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/read-installed", + "extracted_requirement": "~4.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/read-installed", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/read-package-json", + "extracted_requirement": "~2.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/read-package-json", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/readable-stream", + "extracted_requirement": "~1.1.13", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/readable-stream", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/realize-package-specifier", + "extracted_requirement": "~3.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/realize-package-specifier", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/request", + "extracted_requirement": "~2.60.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/request", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/retry", + "extracted_requirement": "~0.6.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/retry", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/rimraf", + "extracted_requirement": "~2.4.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/rimraf", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/semver", + "extracted_requirement": "~5.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/semver", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/sha", + "extracted_requirement": "~1.3.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/sha", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/slide", + "extracted_requirement": "~1.1.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/slide", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/sorted-object", + "extracted_requirement": "~1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/sorted-object", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/spdx", + "extracted_requirement": "~0.4.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/spdx", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/tar", + "extracted_requirement": "~2.1.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/tar", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/text-table", + "extracted_requirement": "~0.2.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/text-table", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/uid-number", + "extracted_requirement": "0.0.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/uid-number", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/umask", + "extracted_requirement": "~1.1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/umask", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/validate-npm-package-name", + "extracted_requirement": "~2.2.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/validate-npm-package-name", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/which", + "extracted_requirement": "~1.1.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/which", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/wrappy", + "extracted_requirement": "~1.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/wrappy", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/write-file-atomic", + "extracted_requirement": "~1.1.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/write-file-atomic", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/validate-npm-package-license", + "extracted_requirement": "*", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/validate-npm-package-license", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/deep-equal", + "extracted_requirement": "~1.0.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/deep-equal", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/marked", + "extracted_requirement": "~0.3.3", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/marked", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/marked-man", + "extracted_requirement": "~0.1.5", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/marked-man", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/nock", + "extracted_requirement": "~2.10.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/nock", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/npm-registry-couchapp", + "extracted_requirement": "~2.6.7", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/npm-registry-couchapp", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/npm-registry-mock", + "extracted_requirement": "~1.0.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/npm-registry-mock", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/require-inject", + "extracted_requirement": "~1.2.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/require-inject", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/sprintf-js", + "extracted_requirement": "~1.0.2", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/sprintf-js", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/tap", + "extracted_requirement": "~1.3.1", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/tap", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + } + ], + "packages": [ + { + "type": "npm", + "namespace": null, + "name": "npm", + "version": "2.13.5", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": "a package manager for JavaScript", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Isaac Z. Schlueter", + "email": "i@izs.me", + "url": "http://blog.izs.me" + }, + { + "type": "person", + "role": "contributor", + "name": "Isaac Z. Schlueter", + "email": "i@izs.me", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Steve Steiner", + "email": "ssteinerX@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mikeal Rogers", + "email": "mikeal.rogers@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Aaron Blohowiak", + "email": "aaron.blohowiak@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Martyn Smith", + "email": "martyn@dollyfish.net.nz", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Charlie Robbins", + "email": "charlie.robbins@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Francisco Treacy", + "email": "francisco.treacy@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Cliffano Subagio", + "email": "cliffano@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Christian Eager", + "email": "christian.eager@nokia.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Dav Glass", + "email": "davglass@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Alex K. Wolfe", + "email": "alexkwolfe@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "James Sanders", + "email": "jimmyjazz14@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Reid Burke", + "email": "me@reidburke.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Arlo Breault", + "email": "arlolra@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Timo Derstappen", + "email": "teemow@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Bart Teeuwisse", + "email": "bart.teeuwisse@thecodemill.biz", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ben Noordhuis", + "email": "info@bnoordhuis.nl", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Tor Valamo", + "email": "tor.valamo@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Whyme.Lyu", + "email": "5longluna@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Olivier Melcher", + "email": "olivier.melcher@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Toma\u017e Muraus", + "email": "kami@k5-storitve.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Evan Meagher", + "email": "evan.meagher@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Orlando Vazquez", + "email": "ovazquez@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kai Chen", + "email": "kaichenxyz@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "George Miroshnykov", + "email": "gmiroshnykov@lohika.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Geoff Flarity", + "email": "geoff.flarity@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Max Goodman", + "email": "c@chromakode.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Pete Kruckenberg", + "email": "pete@kruckenberg.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Laurie Harper", + "email": "laurie@holoweb.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Chris Wong", + "email": "chris@chriswongstudio.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Scott Bronson", + "email": "brons_github@rinspin.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Federico Romero", + "email": "federomero@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Visnu Pitiyanuvath", + "email": "visnupx@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Irakli Gozalishvili", + "email": "rfobic@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mark Cahill", + "email": "mark@tiemonster.info", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Tony", + "email": "zearin@gonk.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Iain Sproat", + "email": "iainsproat@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Trent Mick", + "email": "trentm@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Felix Geisendo\u0308rfer", + "email": "felix@debuggable.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jameson Little", + "email": "t.jameson.little@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Conny Brunnkvist", + "email": "conny@fuchsia.se", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Will Elwood", + "email": "w.elwood08@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Dean Landolt", + "email": "dean@deanlandolt.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Oleg Efimov", + "email": "efimovov@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Martin Cooper", + "email": "mfncooper@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jann Horn", + "email": "jannhorn@googlemail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Andrew Bradley", + "email": "cspotcode@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Maciej Ma\u0142ecki", + "email": "me@mmalecki.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Stephen Sugden", + "email": "glurgle@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Michael Budde", + "email": "mbudde@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jason Smith", + "email": "jhs@iriscouch.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Gautham Pai", + "email": "buzypi@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "David Trejo", + "email": "david.daniel.trejo@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Paul Vorbach", + "email": "paul@vorb.de", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "George Ornbo", + "email": "george@shapeshed.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Tim Oxley", + "email": "secoif@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Tyler Green", + "email": "tyler.green2@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Dave Pacheco", + "email": "dap@joyent.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Danila Gerasimov", + "email": "danila.gerasimov@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Rod Vagg", + "email": "rod@vagg.org", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Christian Howe", + "email": "coderarity@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Andrew Lunny", + "email": "alunny@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Henrik Hodne", + "email": "dvyjones@binaryhex.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Adam Blackburn", + "email": "regality@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kris Windham", + "email": "kriswindham@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jens Grunert", + "email": "jens.grunert@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Joost-Wim Boekesteijn", + "email": "joost-wim@boekesteijn.nl", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Dalmais Maxence", + "email": "root@ip-10-195-202-5.ec2.internal", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Marcus Ekwall", + "email": "marcus.ekwall@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Aaron Stacy", + "email": "aaron.r.stacy@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Phillip Howell", + "email": "phowell@cothm.org", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Domenic Denicola", + "email": "domenic@domenicdenicola.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "James Halliday", + "email": "mail@substack.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jeremy Cantrell", + "email": "jmcantrell@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ribettes", + "email": "patlogan29@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Don Park", + "email": "donpark@docuverse.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Einar Otto Stangvik", + "email": "einaros@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kei Son", + "email": "heyacct@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Nicolas Morel", + "email": "marsup@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mark Dube", + "email": "markisdee@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Nathan Rajlich", + "email": "nathan@tootallnate.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Maxim Bogushevich", + "email": "boga1@mail.ru", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Meaglin", + "email": "Meaglin.wasabi@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ben Evans", + "email": "ben@bensbit.co.uk", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Nathan Zadoks", + "email": "nathan@nathan7.eu", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Brian White", + "email": "mscdex@mscdex.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jed Schmidt", + "email": "tr@nslator.jp", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ian Livingstone", + "email": "ianl@cs.dal.ca", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Patrick Pfeiffer", + "email": "patrick@buzzle.at", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Paul Miller", + "email": "paul@paulmillr.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ryan Emery", + "email": "seebees@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Carl Lange", + "email": "carl@flax.ie", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jan Lehnardt", + "email": "jan@apache.org", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Stuart P. Bentley", + "email": "stuart@testtrack4.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Johan Sk\u00f6ld", + "email": "johan@skold.cc", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Stuart Knightley", + "email": "stuart@stuartk.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Niggler", + "email": "nirk.niggler@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Paolo Fragomeni", + "email": "paolo@async.ly", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jaakko Manninen", + "email": "jaakko@rocketpack.fi", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Luke Arduini", + "email": "luke.arduini@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Larz Conwell", + "email": "larz@larz-laptop.(none)", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Marcel Klehr", + "email": "mklehr@gmx.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Robert Kowalski", + "email": "rok@kowalski.gd", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Forbes Lindesay", + "email": "forbes@lindesay.co.uk", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Vaz Allen", + "email": "vaz@tryptid.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jake Verbaten", + "email": "raynos2@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Schabse Laks", + "email": "Dev@SLaks.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Florian Margaine", + "email": "florian@margaine.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Johan Nordberg", + "email": "its@johan-nordberg.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ian Babrou", + "email": "ibobrik@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Di Wu", + "email": "dwu@palantir.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mathias Bynens", + "email": "mathias@qiwi.be", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Matt McClure", + "email": "matt.mcclure@mapmyfitness.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Matt Lunn", + "email": "matt@mattlunn.me.uk", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Alexey Kreschuk", + "email": "akrsch@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "elisee", + "email": "elisee@sparklin.org", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Robert Gieseke", + "email": "robert.gieseke@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Franc\u0327ois Frisch", + "email": "francoisfrisch@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Trevor Burnham", + "email": "tburnham@hubspot.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Alan Shaw", + "email": "alan@freestyle-developments.co.uk", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "TJ Holowaychuk", + "email": "tj@vision-media.ca", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Nicholas Kinsey", + "email": "pyro@feisty.io", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Paulo Cesar", + "email": "pauloc062@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Elan Shanker", + "email": "elan.shanker@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jon Spencer", + "email": "jon@jonspencer.ca", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jason Diamond", + "email": "jason@diamond.name", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Maximilian Antoni", + "email": "mail@maxantoni.de", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Thom Blake", + "email": "tblake@brightroll.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jess Martin", + "email": "jessmartin@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Spain Train", + "email": "michael.spainhower@opower.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Alex Rodionov", + "email": "p0deje@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Matt Colyer", + "email": "matt@colyer.name", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Evan You", + "email": "yyx990803@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "bitspill", + "email": "bitspill+github@bitspill.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Gabriel Falkenberg", + "email": "gabriel.falkenberg@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Alexej Yaroshevich", + "email": "alex@qfox.ru", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Quim Calpe", + "email": "quim@kalpe.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Steve Mason", + "email": "stevem@brandwatch.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Wil Moore III", + "email": "wil.moore@wilmoore.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Sergey Belov", + "email": "peimei@ya.ru", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Tom Huang", + "email": "hzlhu.dargon@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "CamilleM", + "email": "camille.moulin@alterway.fr", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "S\u00e9bastien Santoro", + "email": "dereckson@espace-win.org", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Evan Lucas", + "email": "evan@btc.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Quinn Slack", + "email": "qslack@qslack.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Alex Kocharin", + "email": "alex@kocharin.ru", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Daniel Santiago", + "email": "daniel.santiago@highlevelwebs.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Denis Gladkikh", + "email": "outcoldman@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Andrew Horton", + "email": "andrew.j.horton@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Zeke Sikelianos", + "email": "zeke@sikelianos.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Dylan Greene", + "email": "dylang@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Franck Cuny", + "email": "franck.cuny@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Yeonghoon Park", + "email": "sola92@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Rafael de Oleza", + "email": "rafa@spotify.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mikola Lysenko", + "email": "mikolalysenko@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Yazhong Liu", + "email": "yorkiefixer@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Neil Gentleman", + "email": "ngentleman@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kris Kowal", + "email": "kris.kowal@cixar.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Alex Gorbatchev", + "email": "alex.gorbatchev@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Shawn Wildermuth", + "email": "shawn@wildermuth.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Wesley de Souza", + "email": "wesleywex@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "yoyoyogi", + "email": "yogesh.k@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "J. Tangelder", + "email": "j.tangelder@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jean Lauliac", + "email": "jean@lauliac.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Andrey Kislyuk", + "email": "kislyuk@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Thorsten Lorenz", + "email": "thlorenz@gmx.de", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Julian Gruber", + "email": "julian@juliangruber.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Benjamin Coe", + "email": "bencoe@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Alex Ford", + "email": "Alex.Ford@CodeTunnel.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Matt Hickford", + "email": "matt.hickford@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Sean McGivern", + "email": "sean.mcgivern@rightscale.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "C J Silverio", + "email": "ceejceej@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Robin Tweedie", + "email": "robin@songkick.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Miroslav Bajto\u0161", + "email": "miroslav@strongloop.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "David Glasser", + "email": "glasser@davidglasser.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Gianluca Casati", + "email": "casati_gianluca@yahoo.it", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Forrest L Norvell", + "email": "ogd@aoaioxxysz.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Karsten Tinnefeld", + "email": "k.tinnefeld@googlemail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Bryan Burgers", + "email": "bryan@burgers.io", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "David Beitey", + "email": "david@davidjb.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Evan You", + "email": "yyou@google.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Zach Pomerantz", + "email": "zmp@umich.edu", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Chris Williams", + "email": "cwilliams88@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "sudodoki", + "email": "smd.deluzion@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mick Thompson", + "email": "dthompson@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Felix Rabe", + "email": "felix@rabe.io", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Michael Hayes", + "email": "michael@hayes.io", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Chris Dickinson", + "email": "christopher.s.dickinson@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Bradley Meck", + "email": "bradley.meck@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "GeJ", + "email": "geraud@gcu.info", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Andrew Terris", + "email": "atterris@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Michael Nisi", + "email": "michael.nisi@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "fengmk2", + "email": "fengmk2@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Adam Meadows", + "email": "adam.meadows@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Chulki Lee", + "email": "chulki.lee@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "\u4e0d\u56db", + "email": "busi.hyy@taobao.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "dead_horse", + "email": "dead_horse@qq.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kenan Yildirim", + "email": "kenan@kenany.me", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Laurie Voss", + "email": "git@seldo.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Rebecca Turner", + "email": "me@re-becca.org", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Hunter Loftis", + "email": "hunter@hunterloftis.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Peter Richardson", + "email": "github@zoomy.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jussi Kalliokoski", + "email": "jussi.kalliokoski@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Filip Weiss", + "email": "me@fiws.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Timo Wei\u00df", + "email": "timoweiss@Timo-MBP.local", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Christopher Hiller", + "email": "chiller@badwing.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "J\u00e9r\u00e9my Lal", + "email": "kapouer@melix.org", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Anders Janmyr", + "email": "anders@janmyr.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Chris Meyers", + "email": "chris.meyers.fsu@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ludwig Magnusson", + "email": "ludwig@mediatool.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Wout Mertens", + "email": "Wout.Mertens@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Nick Santos", + "email": "nick@medium.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Terin Stock", + "email": "terinjokes@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Faiq Raza", + "email": "faiqrazarizvi@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Thomas Torp", + "email": "thomas@erupt.no", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Sam Mikes", + "email": "smikes@cubane.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mat Tyndall", + "email": "mat.tyndall@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Tauren Mills", + "email": "tauren@sportzing.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ron Martinez", + "email": "ramartin.net@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kazuhito Hokamura", + "email": "k.hokamura@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Tristan Davies", + "email": "github@tristan.io", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "David Volm", + "email": "david@volminator.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Lin Clark", + "email": "lin.w.clark@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ben Page", + "email": "bpage@dewalch.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jeff Jo", + "email": "jeffjo@squareup.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "martinvd", + "email": "martinvdpub@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mark J. Titorenko", + "email": "nospam-github.com@titorenko.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Oddur Sigurdsson", + "email": "oddurs@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Eric Mill", + "email": "eric@konklone.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Gabriel Barros", + "email": "descartavel1@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "KevinSheedy", + "email": "kevinsheedy@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Aleksey Smolenchuk", + "email": "aleksey@uber.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ed Morley", + "email": "emorley@mozilla.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Blaine Bublitz", + "email": "blaine@iceddev.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Andrey Fedorov", + "email": "anfedorov@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Daijiro Wachi", + "email": "daijiro.wachi@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Luc Thevenard", + "email": "lucthevenard@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Aria Stewart", + "email": "aredridel@nbtsc.org", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Charlie Rudolph", + "email": "charles.w.rudolph@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Vladimir Rutsky", + "email": "rutsky@users.noreply.github.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Isaac Murchie", + "email": "isaac@saucelabs.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Marcin Wosinek", + "email": "marcin.wosinek@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "David Marr", + "email": "davemarr@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Bryan English", + "email": "bryan@bryanenglish.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Anthony Zotti", + "email": "amZotti@users.noreply.github.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Karl Horky", + "email": "karl.horky@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jordan Harband", + "email": "ljharb@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Gu\u00f0laugur Stef\u00e1n Egilsson", + "email": "gulli@kolibri.is", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Helge Skogly Holm", + "email": "helge.holm@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Peter A. Shevtsov", + "email": "petr.shevtsov@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Alain Kalker", + "email": "a.c.kalker@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Bryant Williams", + "email": "b.n.williams@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jonas Weber", + "email": "github@jonasw.de", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Tim Whidden", + "email": "twhid@twhid.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Andreas", + "email": "functino@users.noreply.github.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Karolis Narkevicius", + "email": "karolis.n@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Adrian Lynch", + "email": "adi_ady_ade@hotmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Richard Littauer", + "email": "richard.littauer@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Oli Evans", + "email": "oli@zilla.org.uk", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Matt Brennan", + "email": "mattyb1000@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jeff Barczewski", + "email": "jeff.barczewski@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Danny Fritz", + "email": "dannyfritz@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Takaya Kobayashi", + "email": "jigsaw@live.jp", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ra'Shaun Stovall", + "email": "rashaunstovall@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Julien Meddah", + "email": "julien.meddah@deveryware.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Michiel Sikma", + "email": "michiel@wedemandhtml.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jakob Krigovsky", + "email": "jakob.krigovsky@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Charmander", + "email": "~@charmander.me", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Erik Wienhold", + "email": "git@ewie.name", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "James Butler", + "email": "james.butler@sandfox.co.uk", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kevin Kragenbrink", + "email": "kevin@gaikai.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Arnaud Rinquin", + "email": "rinquin.arnaud@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mike MacCana", + "email": "mike.maccana@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Antti Mattila", + "email": "anttti@fastmail.fm", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "laiso", + "email": "laiso@lai.so", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Matt Zorn", + "email": "zornme@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kyle Mitchell", + "email": "kyle@kemitchell.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jeremiah Senkpiel", + "email": "fishrock123@rocketmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Michael Klein", + "email": "mischkl@users.noreply.github.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Simen Bekkhus", + "email": "sbekkhus91@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Victor", + "email": "victor.shih@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "thefourtheye", + "email": "thechargingvolcano@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Clay Carpenter", + "email": "claycarpenter@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "bangbang93", + "email": "bangbang93@163.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Nick Malaguti", + "email": "nmalaguti@palantir.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Cedric Nelson", + "email": "cedric.nelson@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kat March\u00e1n", + "email": "kzm@sykosomatic.org", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Andrew", + "email": "talktome@aboutandrew.co.uk", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Eduardo Pinho", + "email": "enet4mikeenet@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Rachel Hutchison", + "email": "rhutchix@intel.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ryan Temple", + "email": "ryantemple145@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Eugene Sharygin", + "email": "eush77@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Nick Heiner", + "email": "nick.heiner@opower.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "James Talmage", + "email": "james@talmage.io", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "jane arc", + "email": "jane@uber.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Joseph Dykstra", + "email": "josephdykstra@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Joshua Egan", + "email": "josh-egan@users.noreply.github.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Thomas Cort", + "email": "thomasc@ssimicro.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Thaddee Tyl", + "email": "thaddee.tyl@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Steve Klabnik", + "email": "steve@steveklabnik.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Andrew Murray", + "email": "radarhere@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Stephan B\u00f6nnemann", + "email": "stephan@excellenteasy.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kyle M. Tarplee", + "email": "kyle.tarplee@numerica.us", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Derek Peterson", + "email": "derekpetey@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Greg Whiteley", + "email": "greg.whiteley@atomos.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "murgatroid99", + "email": "mlumish@google.com", + "url": null + }, + { + "type": "person", + "role": "maintainer", + "name": "isaacs", + "email": "isaacs@npmjs.com", + "url": null + }, + { + "type": "person", + "role": "maintainer", + "name": "othiym23", + "email": "ogd@aoaioxxysz.net", + "url": null + }, + { + "type": "person", + "role": "maintainer", + "name": "iarna", + "email": "me@re-becca.org", + "url": null + }, + { + "type": "person", + "role": "maintainer", + "name": "zkat", + "email": "kat@sykosomatic.org", + "url": null + } + ], + "keywords": [ + "package manager", + "modules", + "install", + "package.json" + ], + "homepage_url": "https://docs.npmjs.com/", + "download_url": "https://registry.npmjs.org/npm/-/npm-2.13.5.tgz", + "size": null, + "sha1": "a124386bce4a90506f28ad4b1d1a804a17baaf32", + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": "http://github.com/npm/npm/issues", + "code_view_url": null, + "vcs_url": "git+https://github.com/npm/npm.git@fc7bbf03e39cc48a8924b90696d28345a6a90f3c", + "copyright": null, + "license_expression": "artistic-2.0", + "declared_license": [ + "Artistic-2.0" + ], + "notice_text": null, + "source_packages": [], + "extra_data": {}, + "package_uid": "pkg:npm/npm@2.13.5", + "package_data_files": [ + "scan/package.json" + ], + "files": [ + "scan/cc0-1.0.LICENSE", + "scan/package.json", + "scan/README", + "scan/arch/adler32.c", + "scan/arch/zlib.h", + "scan/arch/zutil.h", + "scan/JGroups/src/FixedMembershipToken.java", + "scan/JGroups/src/GuardedBy.java", + "scan/JGroups/src/ImmutableReference.java", + "scan/JGroups/src/RATE_LIMITER.java", + "scan/JGroups/src/RouterStub.java", + "scan/JGroups/src/RouterStubManager.java", + "scan/JGroups/src/S3_PING.java", + "scan/zlib/adler32.c", + "scan/zlib/deflate.c", + "scan/zlib/deflate.h", + "scan/zlib/zlib.h", + "scan/zlib/zutil.c", + "scan/zlib/zutil.h", + "scan/zlib/ada/zlib.ads", + "scan/zlib/dotzlib/AssemblyInfo.cs", + "scan/zlib/dotzlib/ChecksumImpl.cs", + "scan/zlib/gcc_gvmat64/gvmat64.S", + "scan/zlib/infback9/infback9.c", + "scan/zlib/infback9/infback9.h", + "scan/zlib/iostream2/zstream.h" + ], + "purl": "pkg:npm/npm@2.13.5", + "repository_homepage_url": "https://www.npmjs.com/package/npm", + "repository_download_url": "https://registry.npmjs.org/npm/-/npm-2.13.5.tgz", + "api_data_url": "https://registry.npmjs.org/npm/2.13.5" + } + ], + "summary": { + "license_expressions": [ + { + "value": "zlib", + "count": 12 + }, + { + "value": "lgpl-2.1-plus", + "count": 3 + }, + { + "value": "artistic-2.0", + "count": 1 + }, + { + "value": "boost-1.0", + "count": 1 + }, + { + "value": "cc-by-2.5", + "count": 1 + }, + { + "value": "cc0-1.0", + "count": 1 + }, + { + "value": "gpl-2.0-plus WITH ada-linking-exception", + "count": 1 + }, + { + "value": "mit-old-style", + "count": 1 + } + ], + "copyrights": [ + { + "value": null, + "count": 6 + }, + { + "value": "Copyright (c) Jean-loup Gailly", + "count": 4 + }, + { + "value": "Copyright (c) Mark Adler", + "count": 4 + }, + { + "value": "Copyright (c) Jean-loup Gailly and Mark Adler", + "count": 3 + }, + { + "value": "Copyright (c) Brian Goetz and Tim Peierls", + "count": 1 + }, + { + "value": "Copyright (c) Christian Michelsen Research AS Advanced Computing", + "count": 1 + }, + { + "value": "Copyright (c) Dmitriy Anisimkov", + "count": 1 + }, + { + "value": "Copyright (c) Jean-loup Gailly, Brian Raiter and Gilles Vollant", + "count": 1 + }, + { + "value": "Copyright (c) by Henrik Ravn", + "count": 1 + }, + { + "value": "Copyright Henrik Ravn", + "count": 1 + }, + { + "value": "Copyright JBoss Inc., and individual contributors", + "count": 1 + }, + { + "value": "Copyright Red Hat Middleware LLC, and individual contributors", + "count": 1 + }, + { + "value": "Copyright Red Hat, Inc. and individual contributors", + "count": 1 + } + ], + "holders": [ + { + "value": null, + "count": 6 + }, + { + "value": "Jean-loup Gailly", + "count": 4 + }, + { + "value": "Mark Adler", + "count": 4 + }, + { + "value": "Jean-loup Gailly and Mark Adler", + "count": 3 + }, + { + "value": "Henrik Ravn", + "count": 2 + }, + { + "value": "Brian Goetz and Tim Peierls", + "count": 1 + }, + { + "value": "Christian Michelsen Research AS Advanced Computing", + "count": 1 + }, + { + "value": "Dmitriy Anisimkov", + "count": 1 + }, + { + "value": "JBoss Inc., and individual contributors", + "count": 1 + }, + { + "value": "Jean-loup Gailly, Brian Raiter and Gilles Vollant", + "count": 1 + }, + { + "value": "Red Hat Middleware LLC, and individual contributors", + "count": 1 + }, + { + "value": "Red Hat, Inc. and individual contributors", + "count": 1 + } + ], + "authors": [ + { + "value": null, + "count": 20 + }, + { + "value": "Bela Ban", + "count": 4 + }, + { + "value": "Gilles Vollant", + "count": 1 + }, + { + "value": "name' Isaac Z.", + "count": 1 + } + ], + "programming_language": [ + { + "value": "C", + "count": 12 + }, + { + "value": "Java", + "count": 7 + }, + { + "value": "C#", + "count": 2 + }, + { + "value": "GAS", + "count": 1 + } + ] + }, + "summary_by_facet": [ + { + "facet": "core", + "summary": { + "license_expressions": [ + { + "value": "zlib", + "count": 9 + }, + { + "value": "artistic-2.0", + "count": 1 + }, + { + "value": "cc0-1.0", + "count": 1 + }, + { + "value": "mit-old-style", + "count": 1 + } + ], + "copyrights": [ + { + "value": "Copyright (c) Jean-loup Gailly", + "count": 4 + }, + { + "value": "Copyright (c) Jean-loup Gailly and Mark Adler", + "count": 3 + }, + { + "value": "Copyright (c) Mark Adler", + "count": 2 + }, + { + "value": "Copyright (c) Christian Michelsen Research AS Advanced Computing", + "count": 1 + } + ], + "holders": [ + { + "value": "Jean-loup Gailly", + "count": 4 + }, + { + "value": "Jean-loup Gailly and Mark Adler", + "count": 3 + }, + { + "value": "Mark Adler", + "count": 2 + }, + { + "value": "Christian Michelsen Research AS Advanced Computing", + "count": 1 + } + ], + "authors": [ + { + "value": "name' Isaac Z.", + "count": 1 + } + ], + "programming_language": [ + { + "value": "C", + "count": 10 + } + ] + } + }, + { + "facet": "dev", + "summary": { + "license_expressions": [ + { + "value": "lgpl-2.1-plus", + "count": 3 + }, + { + "value": "boost-1.0", + "count": 1 + }, + { + "value": "cc-by-2.5", + "count": 1 + }, + { + "value": "gpl-2.0-plus WITH ada-linking-exception", + "count": 1 + } + ], + "copyrights": [ + { + "value": "Copyright (c) Brian Goetz and Tim Peierls", + "count": 1 + }, + { + "value": "Copyright (c) Dmitriy Anisimkov", + "count": 1 + }, + { + "value": "Copyright (c) by Henrik Ravn", + "count": 1 + }, + { + "value": "Copyright Henrik Ravn", + "count": 1 + }, + { + "value": "Copyright JBoss Inc., and individual contributors", + "count": 1 + }, + { + "value": "Copyright Red Hat Middleware LLC, and individual contributors", + "count": 1 + }, + { + "value": "Copyright Red Hat, Inc. and individual contributors", + "count": 1 + } + ], + "holders": [ + { + "value": "Henrik Ravn", + "count": 2 + }, + { + "value": "Brian Goetz and Tim Peierls", + "count": 1 + }, + { + "value": "Dmitriy Anisimkov", + "count": 1 + }, + { + "value": "JBoss Inc., and individual contributors", + "count": 1 + }, + { + "value": "Red Hat Middleware LLC, and individual contributors", + "count": 1 + }, + { + "value": "Red Hat, Inc. and individual contributors", + "count": 1 + } + ], + "authors": [ + { + "value": "Bela Ban", + "count": 4 + } + ], + "programming_language": [ + { + "value": "Java", + "count": 7 + }, + { + "value": "C#", + "count": 2 + } + ] + } + }, + { + "facet": "tests", + "summary": { + "license_expressions": [ + { + "value": "zlib", + "count": 2 + } + ], + "copyrights": [ + { + "value": "Copyright (c) Mark Adler", + "count": 2 + } + ], + "holders": [ + { + "value": "Mark Adler", + "count": 2 + } + ], + "authors": [], + "programming_language": [ + { + "value": "C", + "count": 2 + } + ] + } + }, + { + "facet": "docs", + "summary": { + "license_expressions": [], + "copyrights": [], + "holders": [], + "authors": [], + "programming_language": [] + } + }, + { + "facet": "data", + "summary": { + "license_expressions": [ + { + "value": "zlib", + "count": 1 + } + ], + "copyrights": [ + { + "value": "Copyright (c) Jean-loup Gailly, Brian Raiter and Gilles Vollant", + "count": 1 + } + ], + "holders": [ + { + "value": "Jean-loup Gailly, Brian Raiter and Gilles Vollant", + "count": 1 + } + ], + "authors": [ + { + "value": "Gilles Vollant", + "count": 1 + } + ], + "programming_language": [ + { + "value": "GAS", + "count": 1 + } + ] + } + }, + { + "facet": "examples", + "summary": { + "license_expressions": [], + "copyrights": [], + "holders": [], + "authors": [], + "programming_language": [] + } + } + ], + "files": [ + { + "path": "scan", + "type": "directory", + "name": "scan", + "base_name": "scan", + "extension": "", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "licenses": [], + "license_expressions": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "package_data": [], + "for_packages": [], + "emails": [], + "urls": [], + "facets": [], + "files_count": 26, + "dirs_count": 9, + "size_count": 58647, + "scan_errors": [] + }, + { + "path": "scan/JGroups", + "type": "directory", + "name": "JGroups", + "base_name": "JGroups", + "extension": "", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "licenses": [], + "license_expressions": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "package_data": [], + "for_packages": [], + "emails": [], + "urls": [], + "facets": [], + "files_count": 7, + "dirs_count": 1, + "size_count": 4227, + "scan_errors": [] + }, + { + "path": "scan/JGroups/src", + "type": "directory", + "name": "src", + "base_name": "src", + "extension": "", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "licenses": [], + "license_expressions": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "package_data": [], + "for_packages": [], + "emails": [], + "urls": [], + "facets": [], + "files_count": 7, + "dirs_count": 0, + "size_count": 4227, + "scan_errors": [] + }, + { + "path": "scan/JGroups/src/FixedMembershipToken.java", + "type": "file", + "name": "FixedMembershipToken.java", + "base_name": "FixedMembershipToken", + "extension": ".java", + "size": 1016, + "sha1": "d0d55d2ae0842afee96695bcc8be939e763704ec", + "md5": "301dfe021b3b4076b9f8d49577205b44", + "sha256": "ff6dfac01c9b7ad9fcb5e646db83b482f5f720d981f0ca6c68828c5aa4ec784b", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "Java", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [ + { + "key": "lgpl-2.1-plus", + "score": 100.0, + "name": "GNU Lesser General Public License 2.1 or later", + "short_name": "LGPL 2.1 or later", + "category": "Copyleft Limited", + "is_exception": false, + "is_unknown": false, + "owner": "Free Software Foundation (FSF)", + "homepage_url": "http://www.gnu.org/licenses/old-licenses/lgpl-2.1-standalone.html", + "text_url": "http://www.gnu.org/licenses/old-licenses/lgpl-2.1-standalone.html", + "reference_url": "https://scancode-licensedb.aboutcode.org/lgpl-2.1-plus", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/lgpl-2.1-plus.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/lgpl-2.1-plus.yml", + "spdx_license_key": "LGPL-2.1-or-later", + "spdx_url": "https://spdx.org/licenses/LGPL-2.1-or-later", + "start_line": 7, + "end_line": 20, + "matched_rule": { + "identifier": "lgpl-2.1-plus_59.RULE", + "license_expression": "lgpl-2.1-plus", + "licenses": [ + "lgpl-2.1-plus" + ], + "referenced_filenames": [], + "is_license_text": false, + "is_license_notice": true, + "is_license_reference": false, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 125, + "matched_length": 125, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "lgpl-2.1-plus" + ], + "percentage_of_license_text": 79.62, + "copyrights": [ + { + "copyright": "Copyright 2005, JBoss Inc., and individual contributors", + "start_line": 3, + "end_line": 3 + } + ], + "holders": [ + { + "holder": "JBoss Inc., and individual contributors", + "start_line": 3, + "end_line": 3 + } + ], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "emails": [], + "urls": [ + { + "url": "http://www.fsf.org/", + "start_line": 20, + "end_line": 20 + } + ], + "facets": [ + "dev" + ], + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/JGroups/src/GuardedBy.java", + "type": "file", + "name": "GuardedBy.java", + "base_name": "GuardedBy", + "extension": ".java", + "size": 482, + "sha1": "21ec75514ce72011c4e86c977505c024832c1b63", + "md5": "5165fdeefda7a55c13e44c5e56cac920", + "sha256": "8553411bf58f4ac35fc9e7d6142f11fc2fbef33e50a77f514a253135807afd44", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "Java", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [ + { + "key": "cc-by-2.5", + "score": 100.0, + "name": "Creative Commons Attribution License 2.5", + "short_name": "CC-BY-2.5", + "category": "Permissive", + "is_exception": false, + "is_unknown": false, + "owner": "Creative Commons", + "homepage_url": "http://creativecommons.org/licenses/by/2.5/", + "text_url": "http://creativecommons.org/licenses/by/2.5/legalcode", + "reference_url": "https://scancode-licensedb.aboutcode.org/cc-by-2.5", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/cc-by-2.5.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/cc-by-2.5.yml", + "spdx_license_key": "CC-BY-2.5", + "spdx_url": "https://spdx.org/licenses/CC-BY-2.5", + "start_line": 4, + "end_line": 5, + "matched_rule": { + "identifier": "cc-by-2.5_4.RULE", + "license_expression": "cc-by-2.5", + "licenses": [ + "cc-by-2.5" + ], + "referenced_filenames": [], + "is_license_text": false, + "is_license_notice": true, + "is_license_reference": false, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 14, + "matched_length": 14, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "cc-by-2.5" + ], + "percentage_of_license_text": 19.72, + "copyrights": [ + { + "copyright": "Copyright (c) 2005 Brian Goetz and Tim Peierls", + "start_line": 3, + "end_line": 3 + } + ], + "holders": [ + { + "holder": "Brian Goetz and Tim Peierls", + "start_line": 3, + "end_line": 3 + } + ], + "authors": [ + { + "author": "Bela Ban", + "start_line": 10, + "end_line": 10 + } + ], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "emails": [], + "urls": [ + { + "url": "http://creativecommons.org/licenses/by/2.5", + "start_line": 5, + "end_line": 5 + }, + { + "url": "http://www.jcip.net/", + "start_line": 6, + "end_line": 6 + } + ], + "facets": [ + "dev" + ], + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/JGroups/src/ImmutableReference.java", + "type": "file", + "name": "ImmutableReference.java", + "base_name": "ImmutableReference", + "extension": ".java", + "size": 1023, + "sha1": "aee1bb33424e7c1264f85c9aad40d43c3738f871", + "md5": "53a91ff66fdc4d812d7656b4e807bfd2", + "sha256": "ec1427fc2f7e322e6a4d5d99f8119310d6586aaaf5b30b2904b4ccd27966e120", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "Java", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [ + { + "key": "lgpl-2.1-plus", + "score": 100.0, + "name": "GNU Lesser General Public License 2.1 or later", + "short_name": "LGPL 2.1 or later", + "category": "Copyleft Limited", + "is_exception": false, + "is_unknown": false, + "owner": "Free Software Foundation (FSF)", + "homepage_url": "http://www.gnu.org/licenses/old-licenses/lgpl-2.1-standalone.html", + "text_url": "http://www.gnu.org/licenses/old-licenses/lgpl-2.1-standalone.html", + "reference_url": "https://scancode-licensedb.aboutcode.org/lgpl-2.1-plus", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/lgpl-2.1-plus.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/lgpl-2.1-plus.yml", + "spdx_license_key": "LGPL-2.1-or-later", + "spdx_url": "https://spdx.org/licenses/LGPL-2.1-or-later", + "start_line": 7, + "end_line": 20, + "matched_rule": { + "identifier": "lgpl-2.1-plus_59.RULE", + "license_expression": "lgpl-2.1-plus", + "licenses": [ + "lgpl-2.1-plus" + ], + "referenced_filenames": [], + "is_license_text": false, + "is_license_notice": true, + "is_license_reference": false, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 125, + "matched_length": 125, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "lgpl-2.1-plus" + ], + "percentage_of_license_text": 78.62, + "copyrights": [ + { + "copyright": "Copyright 2010, Red Hat, Inc. and individual contributors", + "start_line": 3, + "end_line": 3 + } + ], + "holders": [ + { + "holder": "Red Hat, Inc. and individual contributors", + "start_line": 3, + "end_line": 3 + } + ], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "emails": [], + "urls": [ + { + "url": "http://www.fsf.org/", + "start_line": 20, + "end_line": 20 + } + ], + "facets": [ + "dev" + ], + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/JGroups/src/RATE_LIMITER.java", + "type": "file", + "name": "RATE_LIMITER.java", + "base_name": "RATE_LIMITER", + "extension": ".java", + "size": 269, + "sha1": "8da19aa25da421608fbe9f4f5eeb122ab35fd01e", + "md5": "52540f80f5c22d8d13627c57b76d44f4", + "sha256": "c3bcefbbb2706f65410b4bb91d531e2ec461fa4586135becc8865adeca3385c8", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "Java", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [], + "license_expressions": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [ + { + "author": "Bela Ban", + "start_line": 4, + "end_line": 4 + } + ], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "emails": [], + "urls": [], + "facets": [ + "dev" + ], + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/JGroups/src/RouterStub.java", + "type": "file", + "name": "RouterStub.java", + "base_name": "RouterStub", + "extension": ".java", + "size": 153, + "sha1": "c1baa345449b4b91e61886dadea8f1bbea034eb4", + "md5": "a0b4e3f4d679a98d11d75e7e27e894af", + "sha256": "5c0f94fc518daca08e74fd117fef09d6dd090b0fd623a47edde451be3aed28c7", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "Java", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [], + "license_expressions": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [ + { + "author": "Bela Ban", + "start_line": 3, + "end_line": 3 + } + ], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "emails": [], + "urls": [], + "facets": [ + "dev" + ], + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/JGroups/src/RouterStubManager.java", + "type": "file", + "name": "RouterStubManager.java", + "base_name": "RouterStubManager", + "extension": ".java", + "size": 1032, + "sha1": "a51c5bbb738c1c1cd1f58c79060fa5ea4d0dd753", + "md5": "cae07c80e6f79864de002700bf9ab02f", + "sha256": "fe96061d23b37c98913379d54c5388cffdc99239807c2caf8c96d7d10321d085", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "Java", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [ + { + "key": "lgpl-2.1-plus", + "score": 100.0, + "name": "GNU Lesser General Public License 2.1 or later", + "short_name": "LGPL 2.1 or later", + "category": "Copyleft Limited", + "is_exception": false, + "is_unknown": false, + "owner": "Free Software Foundation (FSF)", + "homepage_url": "http://www.gnu.org/licenses/old-licenses/lgpl-2.1-standalone.html", + "text_url": "http://www.gnu.org/licenses/old-licenses/lgpl-2.1-standalone.html", + "reference_url": "https://scancode-licensedb.aboutcode.org/lgpl-2.1-plus", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/lgpl-2.1-plus.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/lgpl-2.1-plus.yml", + "spdx_license_key": "LGPL-2.1-or-later", + "spdx_url": "https://spdx.org/licenses/LGPL-2.1-or-later", + "start_line": 7, + "end_line": 20, + "matched_rule": { + "identifier": "lgpl-2.1-plus_59.RULE", + "license_expression": "lgpl-2.1-plus", + "licenses": [ + "lgpl-2.1-plus" + ], + "referenced_filenames": [], + "is_license_text": false, + "is_license_notice": true, + "is_license_reference": false, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 125, + "matched_length": 125, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "lgpl-2.1-plus" + ], + "percentage_of_license_text": 78.12, + "copyrights": [ + { + "copyright": "Copyright 2009, Red Hat Middleware LLC, and individual contributors", + "start_line": 3, + "end_line": 3 + } + ], + "holders": [ + { + "holder": "Red Hat Middleware LLC, and individual contributors", + "start_line": 3, + "end_line": 3 + } + ], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "emails": [], + "urls": [ + { + "url": "http://www.fsf.org/", + "start_line": 20, + "end_line": 20 + } + ], + "facets": [ + "dev" + ], + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/JGroups/src/S3_PING.java", + "type": "file", + "name": "S3_PING.java", + "base_name": "S3_PING", + "extension": ".java", + "size": 252, + "sha1": "a7a9763832eb31e1f7f7927d6288df284b70c6e5", + "md5": "ffb481f2a0c6262d0f7d1e9a4681a6ca", + "sha256": "5470e41b0bfba6adb43649215df756f1a4a5173ceed6127af1b38801651efde2", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "Java", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [], + "license_expressions": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [ + { + "author": "Bela Ban", + "start_line": 3, + "end_line": 3 + } + ], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "emails": [], + "urls": [], + "facets": [ + "dev" + ], + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/README", + "type": "file", + "name": "README", + "base_name": "README", + "extension": "", + "size": 236, + "sha1": "2e07e32c52d607204fad196052d70e3d18fb8636", + "md5": "effc6856ef85a9250fb1a470792b3f38", + "sha256": "165da86bfdf296cd5a0a3e20c1d1ee86d70ecb8a1fa579d6f8cadad8eee85878", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": null, + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "licenses": [], + "license_expressions": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "emails": [], + "urls": [ + { + "url": "http://zlib.net/zlib-1.2.8.tar.gz", + "start_line": 3, + "end_line": 3 + }, + { + "url": "http://master.dl.sourceforge.net/project/javagroups/JGroups/2.10.0.GA/JGroups-2.10.0.GA.src.zip", + "start_line": 4, + "end_line": 4 + } + ], + "facets": [ + "docs" + ], + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/arch", + "type": "directory", + "name": "arch", + "base_name": "arch", + "extension": "", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "licenses": [], + "license_expressions": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "package_data": [], + "for_packages": [], + "emails": [], + "urls": [], + "facets": [], + "files_count": 3, + "dirs_count": 0, + "size_count": 1896, + "scan_errors": [] + }, + { + "path": "scan/arch/adler32.c", + "type": "file", + "name": "adler32.c", + "base_name": "adler32", + "extension": ".c", + "size": 175, + "sha1": "a7ee5ea54da88a6390e72ff018dd471045d8bbf1", + "md5": "92011414f344e34f711e77bac40e4bc4", + "sha256": "e533accabdc7434f3905ced32c4fba755f707929ad73df6e07172cd5a786e023", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "C", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [ + { + "key": "zlib", + "score": 100.0, + "name": "ZLIB License", + "short_name": "ZLIB License", + "category": "Permissive", + "is_exception": false, + "is_unknown": false, + "owner": "zlib", + "homepage_url": "http://www.zlib.net/", + "text_url": "http://www.gzip.org/zlib/zlib_license.html", + "reference_url": "https://scancode-licensedb.aboutcode.org/zlib", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.yml", + "spdx_license_key": "Zlib", + "spdx_url": "https://spdx.org/licenses/Zlib", + "start_line": 3, + "end_line": 3, + "matched_rule": { + "identifier": "zlib_5.RULE", + "license_expression": "zlib", + "licenses": [ + "zlib" + ], + "referenced_filenames": [ + "zlib.h" + ], + "is_license_text": false, + "is_license_notice": false, + "is_license_reference": true, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 12, + "matched_length": 12, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "zlib" + ], + "percentage_of_license_text": 42.86, + "copyrights": [ + { + "copyright": "Copyright (c) 1995-2011 Mark Adler", + "start_line": 2, + "end_line": 2 + } + ], + "holders": [ + { + "holder": "Mark Adler", + "start_line": 2, + "end_line": 2 + } + ], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "emails": [], + "urls": [], + "facets": [ + "core" + ], + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/arch/zlib.h", + "type": "file", + "name": "zlib.h", + "base_name": "zlib", + "extension": ".h", + "size": 1326, + "sha1": "26610e5eab2a17e0fa9ef6ac791f25f77af145af", + "md5": "4ed53ac605f16247ab7d571670f2351d", + "sha256": "b09e2a43e9960d3d28d37d24f10dfbc462a4cb376da54ba571ac9a8874911ed5", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "C", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [ + { + "key": "zlib", + "score": 100.0, + "name": "ZLIB License", + "short_name": "ZLIB License", + "category": "Permissive", + "is_exception": false, + "is_unknown": false, + "owner": "zlib", + "homepage_url": "http://www.zlib.net/", + "text_url": "http://www.gzip.org/zlib/zlib_license.html", + "reference_url": "https://scancode-licensedb.aboutcode.org/zlib", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.yml", + "spdx_license_key": "Zlib", + "spdx_url": "https://spdx.org/licenses/Zlib", + "start_line": 6, + "end_line": 23, + "matched_rule": { + "identifier": "zlib_17.RULE", + "license_expression": "zlib", + "licenses": [ + "zlib" + ], + "referenced_filenames": [], + "is_license_text": true, + "is_license_notice": false, + "is_license_reference": false, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 144, + "matched_length": 144, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "zlib" + ], + "percentage_of_license_text": 69.57, + "copyrights": [ + { + "copyright": "Copyright (c) 1995-2013 Jean-loup Gailly and Mark Adler", + "start_line": 4, + "end_line": 4 + } + ], + "holders": [ + { + "holder": "Jean-loup Gailly and Mark Adler", + "start_line": 4, + "end_line": 4 + } + ], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "emails": [ + { + "email": "jloup@gzip.org", + "start_line": 23, + "end_line": 23 + }, + { + "email": "madler@alumni.caltech.edu", + "start_line": 23, + "end_line": 23 + } + ], + "urls": [ + { + "url": "http://tools.ietf.org/html/rfc1950", + "start_line": 27, + "end_line": 27 + } + ], + "facets": [ + "core" + ], + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/arch/zutil.h", + "type": "file", + "name": "zutil.h", + "base_name": "zutil", + "extension": ".h", + "size": 395, + "sha1": "830fca8d60bd0d0d91f6354d83ec8bf118a20e64", + "md5": "807b91d2bf5e18de555e56de37e487d1", + "sha256": "3980fa5633b16f944641bf2fba3f49b8b9b9de6ffea7be1e142792393bf1a867", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "C", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [ + { + "key": "zlib", + "score": 100.0, + "name": "ZLIB License", + "short_name": "ZLIB License", + "category": "Permissive", + "is_exception": false, + "is_unknown": false, + "owner": "zlib", + "homepage_url": "http://www.zlib.net/", + "text_url": "http://www.gzip.org/zlib/zlib_license.html", + "reference_url": "https://scancode-licensedb.aboutcode.org/zlib", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.yml", + "spdx_license_key": "Zlib", + "spdx_url": "https://spdx.org/licenses/Zlib", + "start_line": 3, + "end_line": 3, + "matched_rule": { + "identifier": "zlib_5.RULE", + "license_expression": "zlib", + "licenses": [ + "zlib" + ], + "referenced_filenames": [ + "zlib.h" + ], + "is_license_text": false, + "is_license_notice": false, + "is_license_reference": true, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 12, + "matched_length": 12, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "zlib" + ], + "percentage_of_license_text": 20.34, + "copyrights": [ + { + "copyright": "Copyright (c) 1995-2013 Jean-loup Gailly", + "start_line": 2, + "end_line": 2 + } + ], + "holders": [ + { + "holder": "Jean-loup Gailly", + "start_line": 2, + "end_line": 2 + } + ], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "emails": [], + "urls": [], + "facets": [ + "core" + ], + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/cc0-1.0.LICENSE", + "type": "file", + "name": "cc0-1.0.LICENSE", + "base_name": "cc0-1.0", + "extension": ".LICENSE", + "size": 6433, + "sha1": "172444e7c137eb5cd3cae530aca0879c90f7fada", + "md5": "57f047ea87f405486a94bc5a56ba7fcf", + "sha256": "963aabe87f6a51ca9c237669034a9fdecd71df7350eaf30bdf0718f63c5a94f8", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": null, + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "licenses": [ + { + "key": "cc0-1.0", + "score": 99.69, + "name": "Creative Commons CC0 1.0 Universal", + "short_name": "CC0-1.0", + "category": "Public Domain", + "is_exception": false, + "is_unknown": false, + "owner": "Creative Commons", + "homepage_url": "http://creativecommons.org/publicdomain/zero/1.0/", + "text_url": "http://creativecommons.org/publicdomain/zero/1.0/legalcode", + "reference_url": "https://scancode-licensedb.aboutcode.org/cc0-1.0", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/cc0-1.0.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/cc0-1.0.yml", + "spdx_license_key": "CC0-1.0", + "spdx_url": "https://spdx.org/licenses/CC0-1.0", + "start_line": 1, + "end_line": 98, + "matched_rule": { + "identifier": "cc0-1.0_155.RULE", + "license_expression": "cc0-1.0", + "licenses": [ + "cc0-1.0" + ], + "referenced_filenames": [], + "is_license_text": true, + "is_license_notice": false, + "is_license_reference": false, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "3-seq", + "rule_length": 981, + "matched_length": 978, + "match_coverage": 99.69, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "cc0-1.0" + ], + "percentage_of_license_text": 100.0, + "copyrights": [], + "holders": [], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "emails": [], + "urls": [], + "facets": [ + "core" + ], + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/package.json", + "type": "file", + "name": "package.json", + "base_name": "package", + "extension": ".json", + "size": 37904, + "sha1": "dfc6c1274bd31b47d5cc482af0c0dad9d30eccaa", + "md5": "62b51527599b11b32361699c75b05683", + "sha256": "8b54b0b90570e4b0d5b8c8520e4b5a8258ae15849ec1919f57da093f5df84f38", + "mime_type": "application/json", + "file_type": "JSON data", + "programming_language": null, + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "licenses": [ + { + "key": "artistic-2.0", + "score": 100.0, + "name": "Artistic License 2.0", + "short_name": "Artistic 2.0", + "category": "Copyleft Limited", + "is_exception": false, + "is_unknown": false, + "owner": "Perl Foundation", + "homepage_url": "http://www.perlfoundation.org/", + "text_url": "https://www.perlfoundation.org/artistic_license_2_0", + "reference_url": "https://scancode-licensedb.aboutcode.org/artistic-2.0", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/artistic-2.0.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/artistic-2.0.yml", + "spdx_license_key": "Artistic-2.0", + "spdx_url": "https://spdx.org/licenses/Artistic-2.0", + "start_line": 198, + "end_line": 198, + "matched_rule": { + "identifier": "artistic-2.0_46.RULE", + "license_expression": "artistic-2.0", + "licenses": [ + "artistic-2.0" + ], + "referenced_filenames": [], + "is_license_text": false, + "is_license_notice": false, + "is_license_reference": false, + "is_license_tag": true, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 4, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "artistic-2.0" + ], + "percentage_of_license_text": 0.1, + "copyrights": [], + "holders": [], + "authors": [ + { + "author": "name' Isaac Z.", + "start_line": 16, + "end_line": 17 + } + ], + "package_data": [ + { + "type": "npm", + "namespace": null, + "name": "npm", + "version": "2.13.5", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": "a package manager for JavaScript", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Isaac Z. Schlueter", + "email": "i@izs.me", + "url": "http://blog.izs.me" + }, + { + "type": "person", + "role": "contributor", + "name": "Isaac Z. Schlueter", + "email": "i@izs.me", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Steve Steiner", + "email": "ssteinerX@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mikeal Rogers", + "email": "mikeal.rogers@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Aaron Blohowiak", + "email": "aaron.blohowiak@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Martyn Smith", + "email": "martyn@dollyfish.net.nz", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Charlie Robbins", + "email": "charlie.robbins@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Francisco Treacy", + "email": "francisco.treacy@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Cliffano Subagio", + "email": "cliffano@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Christian Eager", + "email": "christian.eager@nokia.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Dav Glass", + "email": "davglass@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Alex K. Wolfe", + "email": "alexkwolfe@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "James Sanders", + "email": "jimmyjazz14@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Reid Burke", + "email": "me@reidburke.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Arlo Breault", + "email": "arlolra@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Timo Derstappen", + "email": "teemow@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Bart Teeuwisse", + "email": "bart.teeuwisse@thecodemill.biz", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ben Noordhuis", + "email": "info@bnoordhuis.nl", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Tor Valamo", + "email": "tor.valamo@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Whyme.Lyu", + "email": "5longluna@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Olivier Melcher", + "email": "olivier.melcher@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Toma\u017e Muraus", + "email": "kami@k5-storitve.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Evan Meagher", + "email": "evan.meagher@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Orlando Vazquez", + "email": "ovazquez@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kai Chen", + "email": "kaichenxyz@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "George Miroshnykov", + "email": "gmiroshnykov@lohika.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Geoff Flarity", + "email": "geoff.flarity@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Max Goodman", + "email": "c@chromakode.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Pete Kruckenberg", + "email": "pete@kruckenberg.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Laurie Harper", + "email": "laurie@holoweb.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Chris Wong", + "email": "chris@chriswongstudio.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Scott Bronson", + "email": "brons_github@rinspin.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Federico Romero", + "email": "federomero@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Visnu Pitiyanuvath", + "email": "visnupx@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Irakli Gozalishvili", + "email": "rfobic@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mark Cahill", + "email": "mark@tiemonster.info", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Tony", + "email": "zearin@gonk.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Iain Sproat", + "email": "iainsproat@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Trent Mick", + "email": "trentm@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Felix Geisendo\u0308rfer", + "email": "felix@debuggable.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jameson Little", + "email": "t.jameson.little@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Conny Brunnkvist", + "email": "conny@fuchsia.se", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Will Elwood", + "email": "w.elwood08@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Dean Landolt", + "email": "dean@deanlandolt.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Oleg Efimov", + "email": "efimovov@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Martin Cooper", + "email": "mfncooper@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jann Horn", + "email": "jannhorn@googlemail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Andrew Bradley", + "email": "cspotcode@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Maciej Ma\u0142ecki", + "email": "me@mmalecki.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Stephen Sugden", + "email": "glurgle@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Michael Budde", + "email": "mbudde@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jason Smith", + "email": "jhs@iriscouch.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Gautham Pai", + "email": "buzypi@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "David Trejo", + "email": "david.daniel.trejo@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Paul Vorbach", + "email": "paul@vorb.de", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "George Ornbo", + "email": "george@shapeshed.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Tim Oxley", + "email": "secoif@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Tyler Green", + "email": "tyler.green2@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Dave Pacheco", + "email": "dap@joyent.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Danila Gerasimov", + "email": "danila.gerasimov@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Rod Vagg", + "email": "rod@vagg.org", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Christian Howe", + "email": "coderarity@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Andrew Lunny", + "email": "alunny@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Henrik Hodne", + "email": "dvyjones@binaryhex.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Adam Blackburn", + "email": "regality@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kris Windham", + "email": "kriswindham@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jens Grunert", + "email": "jens.grunert@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Joost-Wim Boekesteijn", + "email": "joost-wim@boekesteijn.nl", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Dalmais Maxence", + "email": "root@ip-10-195-202-5.ec2.internal", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Marcus Ekwall", + "email": "marcus.ekwall@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Aaron Stacy", + "email": "aaron.r.stacy@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Phillip Howell", + "email": "phowell@cothm.org", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Domenic Denicola", + "email": "domenic@domenicdenicola.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "James Halliday", + "email": "mail@substack.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jeremy Cantrell", + "email": "jmcantrell@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ribettes", + "email": "patlogan29@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Don Park", + "email": "donpark@docuverse.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Einar Otto Stangvik", + "email": "einaros@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kei Son", + "email": "heyacct@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Nicolas Morel", + "email": "marsup@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mark Dube", + "email": "markisdee@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Nathan Rajlich", + "email": "nathan@tootallnate.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Maxim Bogushevich", + "email": "boga1@mail.ru", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Meaglin", + "email": "Meaglin.wasabi@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ben Evans", + "email": "ben@bensbit.co.uk", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Nathan Zadoks", + "email": "nathan@nathan7.eu", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Brian White", + "email": "mscdex@mscdex.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jed Schmidt", + "email": "tr@nslator.jp", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ian Livingstone", + "email": "ianl@cs.dal.ca", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Patrick Pfeiffer", + "email": "patrick@buzzle.at", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Paul Miller", + "email": "paul@paulmillr.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ryan Emery", + "email": "seebees@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Carl Lange", + "email": "carl@flax.ie", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jan Lehnardt", + "email": "jan@apache.org", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Stuart P. Bentley", + "email": "stuart@testtrack4.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Johan Sk\u00f6ld", + "email": "johan@skold.cc", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Stuart Knightley", + "email": "stuart@stuartk.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Niggler", + "email": "nirk.niggler@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Paolo Fragomeni", + "email": "paolo@async.ly", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jaakko Manninen", + "email": "jaakko@rocketpack.fi", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Luke Arduini", + "email": "luke.arduini@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Larz Conwell", + "email": "larz@larz-laptop.(none)", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Marcel Klehr", + "email": "mklehr@gmx.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Robert Kowalski", + "email": "rok@kowalski.gd", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Forbes Lindesay", + "email": "forbes@lindesay.co.uk", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Vaz Allen", + "email": "vaz@tryptid.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jake Verbaten", + "email": "raynos2@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Schabse Laks", + "email": "Dev@SLaks.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Florian Margaine", + "email": "florian@margaine.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Johan Nordberg", + "email": "its@johan-nordberg.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ian Babrou", + "email": "ibobrik@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Di Wu", + "email": "dwu@palantir.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mathias Bynens", + "email": "mathias@qiwi.be", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Matt McClure", + "email": "matt.mcclure@mapmyfitness.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Matt Lunn", + "email": "matt@mattlunn.me.uk", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Alexey Kreschuk", + "email": "akrsch@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "elisee", + "email": "elisee@sparklin.org", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Robert Gieseke", + "email": "robert.gieseke@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Franc\u0327ois Frisch", + "email": "francoisfrisch@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Trevor Burnham", + "email": "tburnham@hubspot.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Alan Shaw", + "email": "alan@freestyle-developments.co.uk", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "TJ Holowaychuk", + "email": "tj@vision-media.ca", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Nicholas Kinsey", + "email": "pyro@feisty.io", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Paulo Cesar", + "email": "pauloc062@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Elan Shanker", + "email": "elan.shanker@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jon Spencer", + "email": "jon@jonspencer.ca", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jason Diamond", + "email": "jason@diamond.name", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Maximilian Antoni", + "email": "mail@maxantoni.de", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Thom Blake", + "email": "tblake@brightroll.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jess Martin", + "email": "jessmartin@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Spain Train", + "email": "michael.spainhower@opower.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Alex Rodionov", + "email": "p0deje@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Matt Colyer", + "email": "matt@colyer.name", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Evan You", + "email": "yyx990803@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "bitspill", + "email": "bitspill+github@bitspill.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Gabriel Falkenberg", + "email": "gabriel.falkenberg@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Alexej Yaroshevich", + "email": "alex@qfox.ru", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Quim Calpe", + "email": "quim@kalpe.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Steve Mason", + "email": "stevem@brandwatch.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Wil Moore III", + "email": "wil.moore@wilmoore.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Sergey Belov", + "email": "peimei@ya.ru", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Tom Huang", + "email": "hzlhu.dargon@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "CamilleM", + "email": "camille.moulin@alterway.fr", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "S\u00e9bastien Santoro", + "email": "dereckson@espace-win.org", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Evan Lucas", + "email": "evan@btc.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Quinn Slack", + "email": "qslack@qslack.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Alex Kocharin", + "email": "alex@kocharin.ru", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Daniel Santiago", + "email": "daniel.santiago@highlevelwebs.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Denis Gladkikh", + "email": "outcoldman@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Andrew Horton", + "email": "andrew.j.horton@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Zeke Sikelianos", + "email": "zeke@sikelianos.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Dylan Greene", + "email": "dylang@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Franck Cuny", + "email": "franck.cuny@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Yeonghoon Park", + "email": "sola92@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Rafael de Oleza", + "email": "rafa@spotify.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mikola Lysenko", + "email": "mikolalysenko@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Yazhong Liu", + "email": "yorkiefixer@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Neil Gentleman", + "email": "ngentleman@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kris Kowal", + "email": "kris.kowal@cixar.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Alex Gorbatchev", + "email": "alex.gorbatchev@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Shawn Wildermuth", + "email": "shawn@wildermuth.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Wesley de Souza", + "email": "wesleywex@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "yoyoyogi", + "email": "yogesh.k@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "J. Tangelder", + "email": "j.tangelder@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jean Lauliac", + "email": "jean@lauliac.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Andrey Kislyuk", + "email": "kislyuk@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Thorsten Lorenz", + "email": "thlorenz@gmx.de", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Julian Gruber", + "email": "julian@juliangruber.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Benjamin Coe", + "email": "bencoe@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Alex Ford", + "email": "Alex.Ford@CodeTunnel.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Matt Hickford", + "email": "matt.hickford@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Sean McGivern", + "email": "sean.mcgivern@rightscale.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "C J Silverio", + "email": "ceejceej@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Robin Tweedie", + "email": "robin@songkick.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Miroslav Bajto\u0161", + "email": "miroslav@strongloop.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "David Glasser", + "email": "glasser@davidglasser.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Gianluca Casati", + "email": "casati_gianluca@yahoo.it", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Forrest L Norvell", + "email": "ogd@aoaioxxysz.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Karsten Tinnefeld", + "email": "k.tinnefeld@googlemail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Bryan Burgers", + "email": "bryan@burgers.io", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "David Beitey", + "email": "david@davidjb.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Evan You", + "email": "yyou@google.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Zach Pomerantz", + "email": "zmp@umich.edu", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Chris Williams", + "email": "cwilliams88@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "sudodoki", + "email": "smd.deluzion@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mick Thompson", + "email": "dthompson@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Felix Rabe", + "email": "felix@rabe.io", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Michael Hayes", + "email": "michael@hayes.io", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Chris Dickinson", + "email": "christopher.s.dickinson@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Bradley Meck", + "email": "bradley.meck@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "GeJ", + "email": "geraud@gcu.info", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Andrew Terris", + "email": "atterris@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Michael Nisi", + "email": "michael.nisi@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "fengmk2", + "email": "fengmk2@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Adam Meadows", + "email": "adam.meadows@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Chulki Lee", + "email": "chulki.lee@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "\u4e0d\u56db", + "email": "busi.hyy@taobao.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "dead_horse", + "email": "dead_horse@qq.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kenan Yildirim", + "email": "kenan@kenany.me", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Laurie Voss", + "email": "git@seldo.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Rebecca Turner", + "email": "me@re-becca.org", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Hunter Loftis", + "email": "hunter@hunterloftis.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Peter Richardson", + "email": "github@zoomy.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jussi Kalliokoski", + "email": "jussi.kalliokoski@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Filip Weiss", + "email": "me@fiws.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Timo Wei\u00df", + "email": "timoweiss@Timo-MBP.local", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Christopher Hiller", + "email": "chiller@badwing.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "J\u00e9r\u00e9my Lal", + "email": "kapouer@melix.org", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Anders Janmyr", + "email": "anders@janmyr.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Chris Meyers", + "email": "chris.meyers.fsu@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ludwig Magnusson", + "email": "ludwig@mediatool.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Wout Mertens", + "email": "Wout.Mertens@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Nick Santos", + "email": "nick@medium.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Terin Stock", + "email": "terinjokes@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Faiq Raza", + "email": "faiqrazarizvi@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Thomas Torp", + "email": "thomas@erupt.no", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Sam Mikes", + "email": "smikes@cubane.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mat Tyndall", + "email": "mat.tyndall@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Tauren Mills", + "email": "tauren@sportzing.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ron Martinez", + "email": "ramartin.net@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kazuhito Hokamura", + "email": "k.hokamura@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Tristan Davies", + "email": "github@tristan.io", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "David Volm", + "email": "david@volminator.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Lin Clark", + "email": "lin.w.clark@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ben Page", + "email": "bpage@dewalch.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jeff Jo", + "email": "jeffjo@squareup.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "martinvd", + "email": "martinvdpub@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mark J. Titorenko", + "email": "nospam-github.com@titorenko.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Oddur Sigurdsson", + "email": "oddurs@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Eric Mill", + "email": "eric@konklone.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Gabriel Barros", + "email": "descartavel1@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "KevinSheedy", + "email": "kevinsheedy@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Aleksey Smolenchuk", + "email": "aleksey@uber.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ed Morley", + "email": "emorley@mozilla.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Blaine Bublitz", + "email": "blaine@iceddev.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Andrey Fedorov", + "email": "anfedorov@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Daijiro Wachi", + "email": "daijiro.wachi@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Luc Thevenard", + "email": "lucthevenard@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Aria Stewart", + "email": "aredridel@nbtsc.org", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Charlie Rudolph", + "email": "charles.w.rudolph@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Vladimir Rutsky", + "email": "rutsky@users.noreply.github.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Isaac Murchie", + "email": "isaac@saucelabs.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Marcin Wosinek", + "email": "marcin.wosinek@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "David Marr", + "email": "davemarr@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Bryan English", + "email": "bryan@bryanenglish.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Anthony Zotti", + "email": "amZotti@users.noreply.github.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Karl Horky", + "email": "karl.horky@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jordan Harband", + "email": "ljharb@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Gu\u00f0laugur Stef\u00e1n Egilsson", + "email": "gulli@kolibri.is", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Helge Skogly Holm", + "email": "helge.holm@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Peter A. Shevtsov", + "email": "petr.shevtsov@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Alain Kalker", + "email": "a.c.kalker@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Bryant Williams", + "email": "b.n.williams@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jonas Weber", + "email": "github@jonasw.de", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Tim Whidden", + "email": "twhid@twhid.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Andreas", + "email": "functino@users.noreply.github.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Karolis Narkevicius", + "email": "karolis.n@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Adrian Lynch", + "email": "adi_ady_ade@hotmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Richard Littauer", + "email": "richard.littauer@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Oli Evans", + "email": "oli@zilla.org.uk", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Matt Brennan", + "email": "mattyb1000@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jeff Barczewski", + "email": "jeff.barczewski@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Danny Fritz", + "email": "dannyfritz@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Takaya Kobayashi", + "email": "jigsaw@live.jp", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ra'Shaun Stovall", + "email": "rashaunstovall@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Julien Meddah", + "email": "julien.meddah@deveryware.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Michiel Sikma", + "email": "michiel@wedemandhtml.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jakob Krigovsky", + "email": "jakob.krigovsky@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Charmander", + "email": "~@charmander.me", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Erik Wienhold", + "email": "git@ewie.name", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "James Butler", + "email": "james.butler@sandfox.co.uk", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kevin Kragenbrink", + "email": "kevin@gaikai.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Arnaud Rinquin", + "email": "rinquin.arnaud@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mike MacCana", + "email": "mike.maccana@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Antti Mattila", + "email": "anttti@fastmail.fm", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "laiso", + "email": "laiso@lai.so", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Matt Zorn", + "email": "zornme@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kyle Mitchell", + "email": "kyle@kemitchell.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jeremiah Senkpiel", + "email": "fishrock123@rocketmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Michael Klein", + "email": "mischkl@users.noreply.github.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Simen Bekkhus", + "email": "sbekkhus91@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Victor", + "email": "victor.shih@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "thefourtheye", + "email": "thechargingvolcano@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Clay Carpenter", + "email": "claycarpenter@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "bangbang93", + "email": "bangbang93@163.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Nick Malaguti", + "email": "nmalaguti@palantir.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Cedric Nelson", + "email": "cedric.nelson@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kat March\u00e1n", + "email": "kzm@sykosomatic.org", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Andrew", + "email": "talktome@aboutandrew.co.uk", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Eduardo Pinho", + "email": "enet4mikeenet@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Rachel Hutchison", + "email": "rhutchix@intel.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ryan Temple", + "email": "ryantemple145@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Eugene Sharygin", + "email": "eush77@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Nick Heiner", + "email": "nick.heiner@opower.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "James Talmage", + "email": "james@talmage.io", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "jane arc", + "email": "jane@uber.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Joseph Dykstra", + "email": "josephdykstra@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Joshua Egan", + "email": "josh-egan@users.noreply.github.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Thomas Cort", + "email": "thomasc@ssimicro.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Thaddee Tyl", + "email": "thaddee.tyl@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Steve Klabnik", + "email": "steve@steveklabnik.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Andrew Murray", + "email": "radarhere@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Stephan B\u00f6nnemann", + "email": "stephan@excellenteasy.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kyle M. Tarplee", + "email": "kyle.tarplee@numerica.us", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Derek Peterson", + "email": "derekpetey@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Greg Whiteley", + "email": "greg.whiteley@atomos.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "murgatroid99", + "email": "mlumish@google.com", + "url": null + }, + { + "type": "person", + "role": "maintainer", + "name": "isaacs", + "email": "isaacs@npmjs.com", + "url": null + }, + { + "type": "person", + "role": "maintainer", + "name": "othiym23", + "email": "ogd@aoaioxxysz.net", + "url": null + }, + { + "type": "person", + "role": "maintainer", + "name": "iarna", + "email": "me@re-becca.org", + "url": null + }, + { + "type": "person", + "role": "maintainer", + "name": "zkat", + "email": "kat@sykosomatic.org", + "url": null + } + ], + "keywords": [ + "package manager", + "modules", + "install", + "package.json" + ], + "homepage_url": "https://docs.npmjs.com/", + "download_url": "https://registry.npmjs.org/npm/-/npm-2.13.5.tgz", + "size": null, + "sha1": "a124386bce4a90506f28ad4b1d1a804a17baaf32", + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": "http://github.com/npm/npm/issues", + "code_view_url": null, + "vcs_url": "git+https://github.com/npm/npm.git@fc7bbf03e39cc48a8924b90696d28345a6a90f3c", + "copyright": null, + "license_expression": "artistic-2.0", + "declared_license": [ + "Artistic-2.0" + ], + "notice_text": null, + "source_packages": [], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:npm/abbrev", + "extracted_requirement": "~1.0.7", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/ansi", + "extracted_requirement": "~0.3.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/ansicolors", + "extracted_requirement": "~0.3.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/ansistyles", + "extracted_requirement": "~0.1.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/archy", + "extracted_requirement": "~1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/async-some", + "extracted_requirement": "~1.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/block-stream", + "extracted_requirement": "0.0.8", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/char-spinner", + "extracted_requirement": "~1.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/chmodr", + "extracted_requirement": "~1.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/chownr", + "extracted_requirement": "0.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/cmd-shim", + "extracted_requirement": "~2.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/columnify", + "extracted_requirement": "~1.5.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/config-chain", + "extracted_requirement": "~1.1.9", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/dezalgo", + "extracted_requirement": "~1.0.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/editor", + "extracted_requirement": "~1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/fs-vacuum", + "extracted_requirement": "~1.2.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/fs-write-stream-atomic", + "extracted_requirement": "~1.0.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/fstream", + "extracted_requirement": "~1.0.7", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/fstream-npm", + "extracted_requirement": "~1.0.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/github-url-from-git", + "extracted_requirement": "~1.4.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/github-url-from-username-repo", + "extracted_requirement": "~1.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/glob", + "extracted_requirement": "~5.0.14", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/graceful-fs", + "extracted_requirement": "~4.1.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/hosted-git-info", + "extracted_requirement": "~2.1.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/inflight", + "extracted_requirement": "~1.0.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/inherits", + "extracted_requirement": "~2.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/ini", + "extracted_requirement": "~1.3.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/init-package-json", + "extracted_requirement": "~1.7.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/lockfile", + "extracted_requirement": "~1.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/lru-cache", + "extracted_requirement": "~2.6.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/minimatch", + "extracted_requirement": "~2.0.10", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/mkdirp", + "extracted_requirement": "~0.5.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/node-gyp", + "extracted_requirement": "~2.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/nopt", + "extracted_requirement": "~3.0.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/normalize-git-url", + "extracted_requirement": "~3.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/normalize-package-data", + "extracted_requirement": "~2.3.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/npm-cache-filename", + "extracted_requirement": "~1.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/npm-install-checks", + "extracted_requirement": "~1.0.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/npm-package-arg", + "extracted_requirement": "~4.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/npm-registry-client", + "extracted_requirement": "~6.5.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/npm-user-validate", + "extracted_requirement": "~0.1.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/npmlog", + "extracted_requirement": "~1.2.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/once", + "extracted_requirement": "~1.3.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/opener", + "extracted_requirement": "~1.4.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/osenv", + "extracted_requirement": "~0.1.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/path-is-inside", + "extracted_requirement": "~1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/read", + "extracted_requirement": "~1.0.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/read-installed", + "extracted_requirement": "~4.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/read-package-json", + "extracted_requirement": "~2.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/readable-stream", + "extracted_requirement": "~1.1.13", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/realize-package-specifier", + "extracted_requirement": "~3.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/request", + "extracted_requirement": "~2.60.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/retry", + "extracted_requirement": "~0.6.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/rimraf", + "extracted_requirement": "~2.4.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/semver", + "extracted_requirement": "~5.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/sha", + "extracted_requirement": "~1.3.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/slide", + "extracted_requirement": "~1.1.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/sorted-object", + "extracted_requirement": "~1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/spdx", + "extracted_requirement": "~0.4.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/tar", + "extracted_requirement": "~2.1.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/text-table", + "extracted_requirement": "~0.2.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/uid-number", + "extracted_requirement": "0.0.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/umask", + "extracted_requirement": "~1.1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/validate-npm-package-name", + "extracted_requirement": "~2.2.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/which", + "extracted_requirement": "~1.1.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/wrappy", + "extracted_requirement": "~1.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/write-file-atomic", + "extracted_requirement": "~1.1.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/validate-npm-package-license", + "extracted_requirement": "*", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/deep-equal", + "extracted_requirement": "~1.0.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/marked", + "extracted_requirement": "~0.3.3", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/marked-man", + "extracted_requirement": "~0.1.5", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/nock", + "extracted_requirement": "~2.10.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/npm-registry-couchapp", + "extracted_requirement": "~2.6.7", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/npm-registry-mock", + "extracted_requirement": "~1.0.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/require-inject", + "extracted_requirement": "~1.2.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/sprintf-js", + "extracted_requirement": "~1.0.2", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/tap", + "extracted_requirement": "~1.3.1", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + } + ], + "purl": "pkg:npm/npm@2.13.5", + "repository_homepage_url": "https://www.npmjs.com/package/npm", + "repository_download_url": "https://registry.npmjs.org/npm/-/npm-2.13.5.tgz", + "api_data_url": "https://registry.npmjs.org/npm/2.13.5" + } + ], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "emails": [ + { + "email": "i@izs.me", + "start_line": 18, + "end_line": 18 + }, + { + "email": "ssteinerX@gmail.com", + "start_line": 206, + "end_line": 206 + }, + { + "email": "mikeal.rogers@gmail.com", + "start_line": 210, + "end_line": 210 + }, + { + "email": "aaron.blohowiak@gmail.com", + "start_line": 214, + "end_line": 214 + }, + { + "email": "martyn@dollyfish.net.nz", + "start_line": 218, + "end_line": 218 + }, + { + "email": "charlie.robbins@gmail.com", + "start_line": 222, + "end_line": 222 + }, + { + "email": "francisco.treacy@gmail.com", + "start_line": 226, + "end_line": 226 + }, + { + "email": "cliffano@gmail.com", + "start_line": 230, + "end_line": 230 + }, + { + "email": "christian.eager@nokia.com", + "start_line": 234, + "end_line": 234 + }, + { + "email": "davglass@gmail.com", + "start_line": 238, + "end_line": 238 + }, + { + "email": "alexkwolfe@gmail.com", + "start_line": 242, + "end_line": 242 + }, + { + "email": "jimmyjazz14@gmail.com", + "start_line": 246, + "end_line": 246 + }, + { + "email": "me@reidburke.com", + "start_line": 250, + "end_line": 250 + }, + { + "email": "arlolra@gmail.com", + "start_line": 254, + "end_line": 254 + }, + { + "email": "teemow@gmail.com", + "start_line": 258, + "end_line": 258 + }, + { + "email": "bart.teeuwisse@thecodemill.biz", + "start_line": 262, + "end_line": 262 + }, + { + "email": "info@bnoordhuis.nl", + "start_line": 266, + "end_line": 266 + }, + { + "email": "tor.valamo@gmail.com", + "start_line": 270, + "end_line": 270 + }, + { + "email": "5longluna@gmail.com", + "start_line": 274, + "end_line": 274 + }, + { + "email": "olivier.melcher@gmail.com", + "start_line": 278, + "end_line": 278 + }, + { + "email": "kami@k5-storitve.net", + "start_line": 282, + "end_line": 282 + }, + { + "email": "evan.meagher@gmail.com", + "start_line": 286, + "end_line": 286 + }, + { + "email": "ovazquez@gmail.com", + "start_line": 290, + "end_line": 290 + }, + { + "email": "kaichenxyz@gmail.com", + "start_line": 294, + "end_line": 294 + }, + { + "email": "gmiroshnykov@lohika.com", + "start_line": 298, + "end_line": 298 + }, + { + "email": "geoff.flarity@gmail.com", + "start_line": 302, + "end_line": 302 + }, + { + "email": "c@chromakode.com", + "start_line": 306, + "end_line": 306 + }, + { + "email": "pete@kruckenberg.com", + "start_line": 310, + "end_line": 310 + }, + { + "email": "laurie@holoweb.net", + "start_line": 314, + "end_line": 314 + }, + { + "email": "chris@chriswongstudio.com", + "start_line": 318, + "end_line": 318 + }, + { + "email": "brons_github@rinspin.com", + "start_line": 322, + "end_line": 322 + }, + { + "email": "federomero@gmail.com", + "start_line": 326, + "end_line": 326 + }, + { + "email": "visnupx@gmail.com", + "start_line": 330, + "end_line": 330 + }, + { + "email": "rfobic@gmail.com", + "start_line": 334, + "end_line": 334 + }, + { + "email": "mark@tiemonster.info", + "start_line": 338, + "end_line": 338 + }, + { + "email": "zearin@gonk.net", + "start_line": 342, + "end_line": 342 + }, + { + "email": "iainsproat@gmail.com", + "start_line": 346, + "end_line": 346 + }, + { + "email": "trentm@gmail.com", + "start_line": 350, + "end_line": 350 + }, + { + "email": "felix@debuggable.com", + "start_line": 354, + "end_line": 354 + }, + { + "email": "t.jameson.little@gmail.com", + "start_line": 358, + "end_line": 358 + }, + { + "email": "conny@fuchsia.se", + "start_line": 362, + "end_line": 362 + }, + { + "email": "w.elwood08@gmail.com", + "start_line": 366, + "end_line": 366 + }, + { + "email": "dean@deanlandolt.com", + "start_line": 370, + "end_line": 370 + }, + { + "email": "efimovov@gmail.com", + "start_line": 374, + "end_line": 374 + }, + { + "email": "mfncooper@gmail.com", + "start_line": 378, + "end_line": 378 + }, + { + "email": "jannhorn@googlemail.com", + "start_line": 382, + "end_line": 382 + }, + { + "email": "cspotcode@gmail.com", + "start_line": 386, + "end_line": 386 + }, + { + "email": "me@mmalecki.com", + "start_line": 390, + "end_line": 390 + }, + { + "email": "glurgle@gmail.com", + "start_line": 394, + "end_line": 394 + }, + { + "email": "mbudde@gmail.com", + "start_line": 398, + "end_line": 398 + } + ], + "urls": [ + { + "url": "https://docs.npmjs.com/", + "start_line": 15, + "end_line": 15 + }, + { + "url": "http://blog.izs.me/", + "start_line": 19, + "end_line": 19 + }, + { + "url": "https://github.com/npm/npm.git", + "start_line": 23, + "end_line": 23 + }, + { + "url": "http://github.com/npm/npm/issues", + "start_line": 26, + "end_line": 26 + }, + { + "url": "http://registry.npmjs.org/npm/-/npm-2.13.5.tgz", + "start_line": 1549, + "end_line": 1549 + }, + { + "url": "https://registry.npmjs.org/npm/-/npm-2.13.5.tgz", + "start_line": 1569, + "end_line": 1569 + } + ], + "facets": [ + "core" + ], + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/zlib", + "type": "directory", + "name": "zlib", + "base_name": "zlib", + "extension": "", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "licenses": [], + "license_expressions": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "package_data": [], + "for_packages": [], + "emails": [], + "urls": [], + "facets": [], + "files_count": 13, + "dirs_count": 5, + "size_count": 7951, + "scan_errors": [] + }, + { + "path": "scan/zlib/ada", + "type": "directory", + "name": "ada", + "base_name": "ada", + "extension": "", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "licenses": [], + "license_expressions": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "package_data": [], + "for_packages": [], + "emails": [], + "urls": [], + "facets": [], + "files_count": 1, + "dirs_count": 0, + "size_count": 2054, + "scan_errors": [] + }, + { + "path": "scan/zlib/ada/zlib.ads", + "type": "file", + "name": "zlib.ads", + "base_name": "zlib", + "extension": ".ads", + "size": 2054, + "sha1": "93b3e6e5822c350a9c12e69a2848e29767777002", + "md5": "4e58eb393ad904c1de81a9ca5b9e392c", + "sha256": "8e6da5a880c0547bac5b71f0f123164511ae17e3c7d7f424e4ec5b44e1cae731", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": null, + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "licenses": [ + { + "key": "gpl-2.0-plus", + "score": 100.0, + "name": "GNU General Public License 2.0 or later", + "short_name": "GPL 2.0 or later", + "category": "Copyleft", + "is_exception": false, + "is_unknown": false, + "owner": "Free Software Foundation (FSF)", + "homepage_url": "http://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html", + "text_url": "http://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html", + "reference_url": "https://scancode-licensedb.aboutcode.org/gpl-2.0-plus", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/gpl-2.0-plus.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/gpl-2.0-plus.yml", + "spdx_license_key": "GPL-2.0-or-later", + "spdx_url": "https://spdx.org/licenses/GPL-2.0-or-later", + "start_line": 6, + "end_line": 25, + "matched_rule": { + "identifier": "gpl-2.0-plus_with_ada-linking-exception_1.RULE", + "license_expression": "gpl-2.0-plus WITH ada-linking-exception", + "licenses": [ + "gpl-2.0-plus", + "ada-linking-exception" + ], + "referenced_filenames": [], + "is_license_text": false, + "is_license_notice": true, + "is_license_reference": false, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 176, + "matched_length": 176, + "match_coverage": 100.0, + "rule_relevance": 100 + } + }, + { + "key": "ada-linking-exception", + "score": 100.0, + "name": "Ada linking exception to GPL 2.0 or later", + "short_name": "Ada linking exception to GPL 2.0 or later", + "category": "Copyleft Limited", + "is_exception": true, + "is_unknown": false, + "owner": "Dmitriy Anisimkov", + "homepage_url": null, + "text_url": "", + "reference_url": "https://scancode-licensedb.aboutcode.org/ada-linking-exception", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/ada-linking-exception.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/ada-linking-exception.yml", + "spdx_license_key": "LicenseRef-scancode-ada-linking-exception", + "spdx_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/ada-linking-exception.LICENSE", + "start_line": 6, + "end_line": 25, + "matched_rule": { + "identifier": "gpl-2.0-plus_with_ada-linking-exception_1.RULE", + "license_expression": "gpl-2.0-plus WITH ada-linking-exception", + "licenses": [ + "gpl-2.0-plus", + "ada-linking-exception" + ], + "referenced_filenames": [], + "is_license_text": false, + "is_license_notice": true, + "is_license_reference": false, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 176, + "matched_length": 176, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "gpl-2.0-plus WITH ada-linking-exception" + ], + "percentage_of_license_text": 94.12, + "copyrights": [ + { + "copyright": "Copyright (c) 2002-2004 Dmitriy Anisimkov", + "start_line": 4, + "end_line": 4 + } + ], + "holders": [ + { + "holder": "Dmitriy Anisimkov", + "start_line": 4, + "end_line": 4 + } + ], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "emails": [], + "urls": [], + "facets": [ + "dev" + ], + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/zlib/adler32.c", + "type": "file", + "name": "adler32.c", + "base_name": "adler32", + "extension": ".c", + "size": 179, + "sha1": "f98c6c82a570ac852801b46157c1540070d55358", + "md5": "48c4037f16b4670795fdf72e88cc278c", + "sha256": "fc1682e787ccc8d9eb83eb0b1f5acb59d22aa6ce1bff7c749a9dc315237b2240", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "C", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [ + { + "key": "zlib", + "score": 100.0, + "name": "ZLIB License", + "short_name": "ZLIB License", + "category": "Permissive", + "is_exception": false, + "is_unknown": false, + "owner": "zlib", + "homepage_url": "http://www.zlib.net/", + "text_url": "http://www.gzip.org/zlib/zlib_license.html", + "reference_url": "https://scancode-licensedb.aboutcode.org/zlib", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.yml", + "spdx_license_key": "Zlib", + "spdx_url": "https://spdx.org/licenses/Zlib", + "start_line": 3, + "end_line": 3, + "matched_rule": { + "identifier": "zlib_5.RULE", + "license_expression": "zlib", + "licenses": [ + "zlib" + ], + "referenced_filenames": [ + "zlib.h" + ], + "is_license_text": false, + "is_license_notice": false, + "is_license_reference": true, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 12, + "matched_length": 12, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "zlib" + ], + "percentage_of_license_text": 42.86, + "copyrights": [ + { + "copyright": "Copyright (c) 1995-2011 Mark Adler", + "start_line": 2, + "end_line": 2 + } + ], + "holders": [ + { + "holder": "Mark Adler", + "start_line": 2, + "end_line": 2 + } + ], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "emails": [], + "urls": [], + "facets": [ + "core" + ], + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/zlib/deflate.c", + "type": "file", + "name": "deflate.c", + "base_name": "deflate", + "extension": ".c", + "size": 198, + "sha1": "4b4696c59e245cef0bad7334fdb63725ccfa218c", + "md5": "f11ed826baf25f2bfa9c610313460036", + "sha256": "ef7bf500e1accf7e91352788c92b5c6663bab52e2cd6c42284496518e4a5f054", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "C", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [ + { + "key": "zlib", + "score": 100.0, + "name": "ZLIB License", + "short_name": "ZLIB License", + "category": "Permissive", + "is_exception": false, + "is_unknown": false, + "owner": "zlib", + "homepage_url": "http://www.zlib.net/", + "text_url": "http://www.gzip.org/zlib/zlib_license.html", + "reference_url": "https://scancode-licensedb.aboutcode.org/zlib", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.yml", + "spdx_license_key": "Zlib", + "spdx_url": "https://spdx.org/licenses/Zlib", + "start_line": 3, + "end_line": 3, + "matched_rule": { + "identifier": "zlib_5.RULE", + "license_expression": "zlib", + "licenses": [ + "zlib" + ], + "referenced_filenames": [ + "zlib.h" + ], + "is_license_text": false, + "is_license_notice": false, + "is_license_reference": true, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 12, + "matched_length": 12, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "zlib" + ], + "percentage_of_license_text": 40.0, + "copyrights": [ + { + "copyright": "Copyright (c) 1995-2013 Jean-loup Gailly and Mark Adler", + "start_line": 2, + "end_line": 2 + } + ], + "holders": [ + { + "holder": "Jean-loup Gailly and Mark Adler", + "start_line": 2, + "end_line": 2 + } + ], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "emails": [], + "urls": [], + "facets": [ + "core" + ], + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/zlib/deflate.h", + "type": "file", + "name": "deflate.h", + "base_name": "deflate", + "extension": ".h", + "size": 165, + "sha1": "a99a71ff971faf49a52ed6f7d3075fdffae8054b", + "md5": "d8821cd288e2be7fd83cdcac22a427ce", + "sha256": "a3c2fa63c7e730bdd008bc07b7d3865dc76781082b77a03d52a918ce1c7d3459", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "C", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [ + { + "key": "zlib", + "score": 100.0, + "name": "ZLIB License", + "short_name": "ZLIB License", + "category": "Permissive", + "is_exception": false, + "is_unknown": false, + "owner": "zlib", + "homepage_url": "http://www.zlib.net/", + "text_url": "http://www.gzip.org/zlib/zlib_license.html", + "reference_url": "https://scancode-licensedb.aboutcode.org/zlib", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.yml", + "spdx_license_key": "Zlib", + "spdx_url": "https://spdx.org/licenses/Zlib", + "start_line": 3, + "end_line": 3, + "matched_rule": { + "identifier": "zlib_5.RULE", + "license_expression": "zlib", + "licenses": [ + "zlib" + ], + "referenced_filenames": [ + "zlib.h" + ], + "is_license_text": false, + "is_license_notice": false, + "is_license_reference": true, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 12, + "matched_length": 12, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "zlib" + ], + "percentage_of_license_text": 50.0, + "copyrights": [ + { + "copyright": "Copyright (c) 1995-2012 Jean-loup Gailly", + "start_line": 2, + "end_line": 2 + } + ], + "holders": [ + { + "holder": "Jean-loup Gailly", + "start_line": 2, + "end_line": 2 + } + ], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "emails": [], + "urls": [], + "facets": [ + "core" + ], + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/zlib/dotzlib", + "type": "directory", + "name": "dotzlib", + "base_name": "dotzlib", + "extension": "", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "licenses": [], + "license_expressions": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "package_data": [], + "for_packages": [], + "emails": [], + "urls": [], + "facets": [], + "files_count": 2, + "dirs_count": 0, + "size_count": 863, + "scan_errors": [] + }, + { + "path": "scan/zlib/dotzlib/AssemblyInfo.cs", + "type": "file", + "name": "AssemblyInfo.cs", + "base_name": "AssemblyInfo", + "extension": ".cs", + "size": 627, + "sha1": "cc7fcb4d721a7efe9eefa6bd2d9d0105d33203a8", + "md5": "dbd621f76cb27e2fd8b8e2d9d985ffcf", + "sha256": "8b257a625c537736ee3ac2321b4ef56ba8a6fa4f922a35b1a0e992f9327d39e9", + "mime_type": "text/plain", + "file_type": "ASCII text, with CRLF line terminators", + "programming_language": "C#", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [], + "license_expressions": [], + "percentage_of_license_text": 0, + "copyrights": [ + { + "copyright": "Copyright (c) 2004 by Henrik Ravn", + "start_line": 14, + "end_line": 14 + } + ], + "holders": [ + { + "holder": "Henrik Ravn", + "start_line": 14, + "end_line": 14 + } + ], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "emails": [], + "urls": [], + "facets": [ + "dev" + ], + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/zlib/dotzlib/ChecksumImpl.cs", + "type": "file", + "name": "ChecksumImpl.cs", + "base_name": "ChecksumImpl", + "extension": ".cs", + "size": 236, + "sha1": "3043848212232cdde81eb3e20fca7f2447d944be", + "md5": "661652a0568e25d12fc9bfad2fdabfb2", + "sha256": "f3144ba734429b825e22c2f9048412e78c907e0142f2cdc629879b3a0fa63c89", + "mime_type": "text/plain", + "file_type": "UTF-8 Unicode text, with CRLF line terminators", + "programming_language": "C#", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [ + { + "key": "boost-1.0", + "score": 100.0, + "name": "Boost Software License 1.0", + "short_name": "Boost 1.0", + "category": "Permissive", + "is_exception": false, + "is_unknown": false, + "owner": "Boost", + "homepage_url": "http://www.boost.org/users/license.html", + "text_url": "http://www.boost.org/LICENSE_1_0.txt", + "reference_url": "https://scancode-licensedb.aboutcode.org/boost-1.0", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/boost-1.0.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/boost-1.0.yml", + "spdx_license_key": "BSL-1.0", + "spdx_url": "https://spdx.org/licenses/BSL-1.0", + "start_line": 4, + "end_line": 5, + "matched_rule": { + "identifier": "boost-1.0_21.RULE", + "license_expression": "boost-1.0", + "licenses": [ + "boost-1.0" + ], + "referenced_filenames": [ + "LICENSE_1_0.txt" + ], + "is_license_text": false, + "is_license_notice": true, + "is_license_reference": false, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 32, + "matched_length": 32, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "boost-1.0" + ], + "percentage_of_license_text": 88.89, + "copyrights": [ + { + "copyright": "Copyright Henrik Ravn 2004", + "start_line": 2, + "end_line": 2 + } + ], + "holders": [ + { + "holder": "Henrik Ravn", + "start_line": 2, + "end_line": 2 + } + ], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "emails": [], + "urls": [ + { + "url": "http://www.boost.org/LICENSE_1_0.txt", + "start_line": 5, + "end_line": 5 + } + ], + "facets": [ + "dev" + ], + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/zlib/gcc_gvmat64", + "type": "directory", + "name": "gcc_gvmat64", + "base_name": "gcc_gvmat64", + "extension": "", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "licenses": [], + "license_expressions": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "package_data": [], + "for_packages": [], + "emails": [], + "urls": [], + "facets": [], + "files_count": 1, + "dirs_count": 0, + "size_count": 1774, + "scan_errors": [] + }, + { + "path": "scan/zlib/gcc_gvmat64/gvmat64.S", + "type": "file", + "name": "gvmat64.S", + "base_name": "gvmat64", + "extension": ".S", + "size": 1774, + "sha1": "8dff93e95ccef023a871fb438784635b5df1d541", + "md5": "4f0d2f55d43d9466750350f8b27f0302", + "sha256": "1551b8fb1c2f1f3cc92c8e4f31730ebdde0c766caeca6d670a7758b55e3804f3", + "mime_type": "text/plain", + "file_type": "ASCII text, with CRLF line terminators", + "programming_language": "GAS", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [ + { + "key": "zlib", + "score": 100.0, + "name": "ZLIB License", + "short_name": "ZLIB License", + "category": "Permissive", + "is_exception": false, + "is_unknown": false, + "owner": "zlib", + "homepage_url": "http://www.zlib.net/", + "text_url": "http://www.gzip.org/zlib/zlib_license.html", + "reference_url": "https://scancode-licensedb.aboutcode.org/zlib", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.yml", + "spdx_license_key": "Zlib", + "spdx_url": "https://spdx.org/licenses/Zlib", + "start_line": 17, + "end_line": 31, + "matched_rule": { + "identifier": "zlib.LICENSE", + "license_expression": "zlib", + "licenses": [ + "zlib" + ], + "referenced_filenames": [], + "is_license_text": true, + "is_license_notice": false, + "is_license_reference": false, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 132, + "matched_length": 132, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "zlib" + ], + "percentage_of_license_text": 50.0, + "copyrights": [ + { + "copyright": "Copyright (c) 1995-2010 Jean-loup Gailly, Brian Raiter and Gilles Vollant", + "start_line": 10, + "end_line": 10 + } + ], + "holders": [ + { + "holder": "Jean-loup Gailly, Brian Raiter and Gilles Vollant", + "start_line": 10, + "end_line": 10 + } + ], + "authors": [ + { + "author": "Gilles Vollant", + "start_line": 12, + "end_line": 12 + } + ], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "emails": [], + "urls": [ + { + "url": "http://www.zlib.net/", + "start_line": 33, + "end_line": 33 + }, + { + "url": "http://www.winimage.com/zLibDll", + "start_line": 34, + "end_line": 34 + }, + { + "url": "http://www.muppetlabs.com/~breadbox/software/assembly.html", + "start_line": 35, + "end_line": 35 + } + ], + "facets": [ + "data" + ], + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/zlib/infback9", + "type": "directory", + "name": "infback9", + "base_name": "infback9", + "extension": "", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "licenses": [], + "license_expressions": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "package_data": [], + "for_packages": [], + "emails": [], + "urls": [], + "facets": [], + "files_count": 2, + "dirs_count": 0, + "size_count": 353, + "scan_errors": [] + }, + { + "path": "scan/zlib/infback9/infback9.c", + "type": "file", + "name": "infback9.c", + "base_name": "infback9", + "extension": ".c", + "size": 185, + "sha1": "299f7a056cf0e0ed7d5bd687c53f3247d809cab2", + "md5": "d570bd029ee2362f2a0927c87999773b", + "sha256": "03fb435669b57aa90fe00c4dbc12d8492ef87b6243427d1e1831006994ee1f80", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "C", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [ + { + "key": "zlib", + "score": 100.0, + "name": "ZLIB License", + "short_name": "ZLIB License", + "category": "Permissive", + "is_exception": false, + "is_unknown": false, + "owner": "zlib", + "homepage_url": "http://www.zlib.net/", + "text_url": "http://www.gzip.org/zlib/zlib_license.html", + "reference_url": "https://scancode-licensedb.aboutcode.org/zlib", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.yml", + "spdx_license_key": "Zlib", + "spdx_url": "https://spdx.org/licenses/Zlib", + "start_line": 3, + "end_line": 3, + "matched_rule": { + "identifier": "zlib_5.RULE", + "license_expression": "zlib", + "licenses": [ + "zlib" + ], + "referenced_filenames": [ + "zlib.h" + ], + "is_license_text": false, + "is_license_notice": false, + "is_license_reference": true, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 12, + "matched_length": 12, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "zlib" + ], + "percentage_of_license_text": 44.44, + "copyrights": [ + { + "copyright": "Copyright (c) 1995-2008 Mark Adler", + "start_line": 2, + "end_line": 2 + } + ], + "holders": [ + { + "holder": "Mark Adler", + "start_line": 2, + "end_line": 2 + } + ], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "emails": [], + "urls": [], + "facets": [ + "tests" + ], + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/zlib/infback9/infback9.h", + "type": "file", + "name": "infback9.h", + "base_name": "infback9", + "extension": ".h", + "size": 168, + "sha1": "c849edb4691d23e0db97d3f5da1cc5b396929449", + "md5": "2913c8ea7fb43a0f469bb2797c820a95", + "sha256": "4f8db049a7156b8a4616a6c9df0b5ee09571f0ac2eb253e111f2fb727fb033ea", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "C", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [ + { + "key": "zlib", + "score": 100.0, + "name": "ZLIB License", + "short_name": "ZLIB License", + "category": "Permissive", + "is_exception": false, + "is_unknown": false, + "owner": "zlib", + "homepage_url": "http://www.zlib.net/", + "text_url": "http://www.gzip.org/zlib/zlib_license.html", + "reference_url": "https://scancode-licensedb.aboutcode.org/zlib", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.yml", + "spdx_license_key": "Zlib", + "spdx_url": "https://spdx.org/licenses/Zlib", + "start_line": 3, + "end_line": 3, + "matched_rule": { + "identifier": "zlib_5.RULE", + "license_expression": "zlib", + "licenses": [ + "zlib" + ], + "referenced_filenames": [ + "zlib.h" + ], + "is_license_text": false, + "is_license_notice": false, + "is_license_reference": true, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 12, + "matched_length": 12, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "zlib" + ], + "percentage_of_license_text": 50.0, + "copyrights": [ + { + "copyright": "Copyright (c) 2003 Mark Adler", + "start_line": 2, + "end_line": 2 + } + ], + "holders": [ + { + "holder": "Mark Adler", + "start_line": 2, + "end_line": 2 + } + ], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "emails": [], + "urls": [], + "facets": [ + "tests" + ], + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/zlib/iostream2", + "type": "directory", + "name": "iostream2", + "base_name": "iostream2", + "extension": "", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "licenses": [], + "license_expressions": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "package_data": [], + "for_packages": [], + "emails": [], + "urls": [], + "facets": [], + "files_count": 1, + "dirs_count": 0, + "size_count": 649, + "scan_errors": [] + }, + { + "path": "scan/zlib/iostream2/zstream.h", + "type": "file", + "name": "zstream.h", + "base_name": "zstream", + "extension": ".h", + "size": 649, + "sha1": "b7fe15df27e601b88cde6b6a63dad184ccbce572", + "md5": "8b897171ea0767232e586086bc94518c", + "sha256": "ee2eef602cba7c4ba350617f4154de50cb4cbf274c7dd773130aca0775d5d9cd", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "C", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [ + { + "key": "mit-old-style", + "score": 100.0, + "name": "MIT Old Style", + "short_name": "MIT Old Style", + "category": "Permissive", + "is_exception": false, + "is_unknown": false, + "owner": "MIT", + "homepage_url": "http://fedoraproject.org/wiki/Licensing:MIT#Old_Style", + "text_url": "http://fedoraproject.org/wiki/Licensing:MIT#Old_Style", + "reference_url": "https://scancode-licensedb.aboutcode.org/mit-old-style", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit-old-style.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit-old-style.yml", + "spdx_license_key": "LicenseRef-scancode-mit-old-style", + "spdx_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit-old-style.LICENSE", + "start_line": 9, + "end_line": 15, + "matched_rule": { + "identifier": "mit-old-style_cmr-no_1.RULE", + "license_expression": "mit-old-style", + "licenses": [ + "mit-old-style" + ], + "referenced_filenames": [], + "is_license_text": true, + "is_license_notice": false, + "is_license_reference": false, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 71, + "matched_length": 71, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "mit-old-style" + ], + "percentage_of_license_text": 79.78, + "copyrights": [ + { + "copyright": "Copyright (c) 1997 Christian Michelsen Research AS Advanced Computing", + "start_line": 3, + "end_line": 5 + } + ], + "holders": [ + { + "holder": "Christian Michelsen Research AS Advanced Computing", + "start_line": 4, + "end_line": 5 + } + ], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "emails": [], + "urls": [ + { + "url": "http://www.cmr.no/", + "start_line": 7, + "end_line": 7 + } + ], + "facets": [ + "core" + ], + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/zlib/zlib.h", + "type": "file", + "name": "zlib.h", + "base_name": "zlib", + "extension": ".h", + "size": 1103, + "sha1": "85c65180242c560a4df66e9882119bf70eaefd02", + "md5": "07497e2688dad9406386f0534a0bbfca", + "sha256": "64fef1f0a7cd69eae744ad2fa754ee8568a5715588e38b7a3fa6e11eaeaec97e", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "C", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [ + { + "key": "zlib", + "score": 100.0, + "name": "ZLIB License", + "short_name": "ZLIB License", + "category": "Permissive", + "is_exception": false, + "is_unknown": false, + "owner": "zlib", + "homepage_url": "http://www.zlib.net/", + "text_url": "http://www.gzip.org/zlib/zlib_license.html", + "reference_url": "https://scancode-licensedb.aboutcode.org/zlib", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.yml", + "spdx_license_key": "Zlib", + "spdx_url": "https://spdx.org/licenses/Zlib", + "start_line": 6, + "end_line": 23, + "matched_rule": { + "identifier": "zlib_17.RULE", + "license_expression": "zlib", + "licenses": [ + "zlib" + ], + "referenced_filenames": [], + "is_license_text": true, + "is_license_notice": false, + "is_license_reference": false, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 144, + "matched_length": 144, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "zlib" + ], + "percentage_of_license_text": 84.21, + "copyrights": [ + { + "copyright": "Copyright (c) 1995-2013 Jean-loup Gailly and Mark Adler", + "start_line": 4, + "end_line": 4 + } + ], + "holders": [ + { + "holder": "Jean-loup Gailly and Mark Adler", + "start_line": 4, + "end_line": 4 + } + ], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "emails": [ + { + "email": "jloup@gzip.org", + "start_line": 23, + "end_line": 23 + }, + { + "email": "madler@alumni.caltech.edu", + "start_line": 23, + "end_line": 23 + } + ], + "urls": [], + "facets": [ + "core" + ], + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/zlib/zutil.c", + "type": "file", + "name": "zutil.c", + "base_name": "zutil", + "extension": ".c", + "size": 218, + "sha1": "2e846ef84cfb16e0e8b92c62a850a607a709d7b2", + "md5": "2a0ea6a99e31fb0989209a027476038d", + "sha256": "dc7224c7f079d237acf510ff40282cf6d50352c851d4e2957d227e2a3b57eb4d", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "C", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [ + { + "key": "zlib", + "score": 100.0, + "name": "ZLIB License", + "short_name": "ZLIB License", + "category": "Permissive", + "is_exception": false, + "is_unknown": false, + "owner": "zlib", + "homepage_url": "http://www.zlib.net/", + "text_url": "http://www.gzip.org/zlib/zlib_license.html", + "reference_url": "https://scancode-licensedb.aboutcode.org/zlib", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.yml", + "spdx_license_key": "Zlib", + "spdx_url": "https://spdx.org/licenses/Zlib", + "start_line": 3, + "end_line": 3, + "matched_rule": { + "identifier": "zlib_5.RULE", + "license_expression": "zlib", + "licenses": [ + "zlib" + ], + "referenced_filenames": [ + "zlib.h" + ], + "is_license_text": false, + "is_license_notice": false, + "is_license_reference": true, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 12, + "matched_length": 12, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "zlib" + ], + "percentage_of_license_text": 37.5, + "copyrights": [ + { + "copyright": "Copyright (c) 1995-2005, 2010, 2011, 2012 Jean-loup Gailly", + "start_line": 2, + "end_line": 2 + } + ], + "holders": [ + { + "holder": "Jean-loup Gailly", + "start_line": 2, + "end_line": 2 + } + ], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "emails": [], + "urls": [], + "facets": [ + "core" + ], + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/zlib/zutil.h", + "type": "file", + "name": "zutil.h", + "base_name": "zutil", + "extension": ".h", + "size": 395, + "sha1": "830fca8d60bd0d0d91f6354d83ec8bf118a20e64", + "md5": "807b91d2bf5e18de555e56de37e487d1", + "sha256": "3980fa5633b16f944641bf2fba3f49b8b9b9de6ffea7be1e142792393bf1a867", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "C", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [ + { + "key": "zlib", + "score": 100.0, + "name": "ZLIB License", + "short_name": "ZLIB License", + "category": "Permissive", + "is_exception": false, + "is_unknown": false, + "owner": "zlib", + "homepage_url": "http://www.zlib.net/", + "text_url": "http://www.gzip.org/zlib/zlib_license.html", + "reference_url": "https://scancode-licensedb.aboutcode.org/zlib", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.yml", + "spdx_license_key": "Zlib", + "spdx_url": "https://spdx.org/licenses/Zlib", + "start_line": 3, + "end_line": 3, + "matched_rule": { + "identifier": "zlib_5.RULE", + "license_expression": "zlib", + "licenses": [ + "zlib" + ], + "referenced_filenames": [ + "zlib.h" + ], + "is_license_text": false, + "is_license_notice": false, + "is_license_reference": true, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 12, + "matched_length": 12, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "zlib" + ], + "percentage_of_license_text": 20.34, + "copyrights": [ + { + "copyright": "Copyright (c) 1995-2013 Jean-loup Gailly", + "start_line": 2, + "end_line": 2 + } + ], + "holders": [ + { + "holder": "Jean-loup Gailly", + "start_line": 2, + "end_line": 2 + } + ], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "emails": [], + "urls": [], + "facets": [ + "core" + ], + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + } + ] +} \ No newline at end of file diff --git a/tests/summarycode/data/full_summary/summary_details.expected.json b/tests/summarycode/data/full_summary/summary_details.expected.json new file mode 100644 index 00000000000..689edd3803f --- /dev/null +++ b/tests/summarycode/data/full_summary/summary_details.expected.json @@ -0,0 +1,10162 @@ +{ + "headers": [ + { + "tool_name": "scancode-toolkit", + "options": { + "input": "", + "--copyright": true, + "--info": true, + "--json-pp": "", + "--license": true, + "--package": true, + "--summary-with-details": true + }, + "notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.", + "output_format_version": "3.0.0", + "message": null, + "errors": [], + "extra_data": { + "spdx_license_list_version": "3.16", + "files_count": 26 + } + } + ], + "dependencies": [ + { + "purl": "pkg:npm/abbrev", + "extracted_requirement": "~1.0.7", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/abbrev", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/ansi", + "extracted_requirement": "~0.3.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/ansi", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/ansicolors", + "extracted_requirement": "~0.3.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/ansicolors", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/ansistyles", + "extracted_requirement": "~0.1.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/ansistyles", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/archy", + "extracted_requirement": "~1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/archy", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/async-some", + "extracted_requirement": "~1.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/async-some", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/block-stream", + "extracted_requirement": "0.0.8", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/block-stream", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/char-spinner", + "extracted_requirement": "~1.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/char-spinner", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/chmodr", + "extracted_requirement": "~1.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/chmodr", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/chownr", + "extracted_requirement": "0.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/chownr", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/cmd-shim", + "extracted_requirement": "~2.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/cmd-shim", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/columnify", + "extracted_requirement": "~1.5.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/columnify", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/config-chain", + "extracted_requirement": "~1.1.9", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/config-chain", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/dezalgo", + "extracted_requirement": "~1.0.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/dezalgo", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/editor", + "extracted_requirement": "~1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/editor", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/fs-vacuum", + "extracted_requirement": "~1.2.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/fs-vacuum", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/fs-write-stream-atomic", + "extracted_requirement": "~1.0.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/fs-write-stream-atomic", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/fstream", + "extracted_requirement": "~1.0.7", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/fstream", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/fstream-npm", + "extracted_requirement": "~1.0.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/fstream-npm", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/github-url-from-git", + "extracted_requirement": "~1.4.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/github-url-from-git", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/github-url-from-username-repo", + "extracted_requirement": "~1.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/github-url-from-username-repo", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/glob", + "extracted_requirement": "~5.0.14", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/glob", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/graceful-fs", + "extracted_requirement": "~4.1.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/graceful-fs", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/hosted-git-info", + "extracted_requirement": "~2.1.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/hosted-git-info", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/inflight", + "extracted_requirement": "~1.0.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/inflight", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/inherits", + "extracted_requirement": "~2.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/inherits", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/ini", + "extracted_requirement": "~1.3.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/ini", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/init-package-json", + "extracted_requirement": "~1.7.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/init-package-json", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/lockfile", + "extracted_requirement": "~1.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/lockfile", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/lru-cache", + "extracted_requirement": "~2.6.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/lru-cache", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/minimatch", + "extracted_requirement": "~2.0.10", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/minimatch", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/mkdirp", + "extracted_requirement": "~0.5.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/mkdirp", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/node-gyp", + "extracted_requirement": "~2.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/node-gyp", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/nopt", + "extracted_requirement": "~3.0.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/nopt", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/normalize-git-url", + "extracted_requirement": "~3.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/normalize-git-url", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/normalize-package-data", + "extracted_requirement": "~2.3.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/normalize-package-data", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/npm-cache-filename", + "extracted_requirement": "~1.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/npm-cache-filename", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/npm-install-checks", + "extracted_requirement": "~1.0.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/npm-install-checks", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/npm-package-arg", + "extracted_requirement": "~4.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/npm-package-arg", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/npm-registry-client", + "extracted_requirement": "~6.5.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/npm-registry-client", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/npm-user-validate", + "extracted_requirement": "~0.1.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/npm-user-validate", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/npmlog", + "extracted_requirement": "~1.2.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/npmlog", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/once", + "extracted_requirement": "~1.3.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/once", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/opener", + "extracted_requirement": "~1.4.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/opener", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/osenv", + "extracted_requirement": "~0.1.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/osenv", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/path-is-inside", + "extracted_requirement": "~1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/path-is-inside", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/read", + "extracted_requirement": "~1.0.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/read", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/read-installed", + "extracted_requirement": "~4.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/read-installed", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/read-package-json", + "extracted_requirement": "~2.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/read-package-json", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/readable-stream", + "extracted_requirement": "~1.1.13", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/readable-stream", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/realize-package-specifier", + "extracted_requirement": "~3.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/realize-package-specifier", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/request", + "extracted_requirement": "~2.60.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/request", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/retry", + "extracted_requirement": "~0.6.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/retry", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/rimraf", + "extracted_requirement": "~2.4.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/rimraf", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/semver", + "extracted_requirement": "~5.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/semver", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/sha", + "extracted_requirement": "~1.3.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/sha", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/slide", + "extracted_requirement": "~1.1.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/slide", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/sorted-object", + "extracted_requirement": "~1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/sorted-object", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/spdx", + "extracted_requirement": "~0.4.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/spdx", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/tar", + "extracted_requirement": "~2.1.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/tar", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/text-table", + "extracted_requirement": "~0.2.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/text-table", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/uid-number", + "extracted_requirement": "0.0.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/uid-number", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/umask", + "extracted_requirement": "~1.1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/umask", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/validate-npm-package-name", + "extracted_requirement": "~2.2.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/validate-npm-package-name", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/which", + "extracted_requirement": "~1.1.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/which", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/wrappy", + "extracted_requirement": "~1.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/wrappy", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/write-file-atomic", + "extracted_requirement": "~1.1.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/write-file-atomic", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/validate-npm-package-license", + "extracted_requirement": "*", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/validate-npm-package-license", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/deep-equal", + "extracted_requirement": "~1.0.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/deep-equal", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/marked", + "extracted_requirement": "~0.3.3", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/marked", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/marked-man", + "extracted_requirement": "~0.1.5", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/marked-man", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/nock", + "extracted_requirement": "~2.10.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/nock", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/npm-registry-couchapp", + "extracted_requirement": "~2.6.7", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/npm-registry-couchapp", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/npm-registry-mock", + "extracted_requirement": "~1.0.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/npm-registry-mock", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/require-inject", + "extracted_requirement": "~1.2.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/require-inject", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/sprintf-js", + "extracted_requirement": "~1.0.2", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/sprintf-js", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + }, + { + "purl": "pkg:npm/tap", + "extracted_requirement": "~1.3.1", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/tap", + "for_package": "pkg:npm/npm@2.13.5", + "datafile_path": "scan/package.json" + } + ], + "packages": [ + { + "type": "npm", + "namespace": null, + "name": "npm", + "version": "2.13.5", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": "a package manager for JavaScript", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Isaac Z. Schlueter", + "email": "i@izs.me", + "url": "http://blog.izs.me" + }, + { + "type": "person", + "role": "contributor", + "name": "Isaac Z. Schlueter", + "email": "i@izs.me", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Steve Steiner", + "email": "ssteinerX@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mikeal Rogers", + "email": "mikeal.rogers@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Aaron Blohowiak", + "email": "aaron.blohowiak@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Martyn Smith", + "email": "martyn@dollyfish.net.nz", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Charlie Robbins", + "email": "charlie.robbins@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Francisco Treacy", + "email": "francisco.treacy@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Cliffano Subagio", + "email": "cliffano@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Christian Eager", + "email": "christian.eager@nokia.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Dav Glass", + "email": "davglass@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Alex K. Wolfe", + "email": "alexkwolfe@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "James Sanders", + "email": "jimmyjazz14@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Reid Burke", + "email": "me@reidburke.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Arlo Breault", + "email": "arlolra@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Timo Derstappen", + "email": "teemow@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Bart Teeuwisse", + "email": "bart.teeuwisse@thecodemill.biz", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ben Noordhuis", + "email": "info@bnoordhuis.nl", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Tor Valamo", + "email": "tor.valamo@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Whyme.Lyu", + "email": "5longluna@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Olivier Melcher", + "email": "olivier.melcher@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Toma\u017e Muraus", + "email": "kami@k5-storitve.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Evan Meagher", + "email": "evan.meagher@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Orlando Vazquez", + "email": "ovazquez@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kai Chen", + "email": "kaichenxyz@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "George Miroshnykov", + "email": "gmiroshnykov@lohika.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Geoff Flarity", + "email": "geoff.flarity@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Max Goodman", + "email": "c@chromakode.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Pete Kruckenberg", + "email": "pete@kruckenberg.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Laurie Harper", + "email": "laurie@holoweb.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Chris Wong", + "email": "chris@chriswongstudio.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Scott Bronson", + "email": "brons_github@rinspin.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Federico Romero", + "email": "federomero@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Visnu Pitiyanuvath", + "email": "visnupx@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Irakli Gozalishvili", + "email": "rfobic@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mark Cahill", + "email": "mark@tiemonster.info", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Tony", + "email": "zearin@gonk.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Iain Sproat", + "email": "iainsproat@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Trent Mick", + "email": "trentm@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Felix Geisendo\u0308rfer", + "email": "felix@debuggable.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jameson Little", + "email": "t.jameson.little@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Conny Brunnkvist", + "email": "conny@fuchsia.se", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Will Elwood", + "email": "w.elwood08@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Dean Landolt", + "email": "dean@deanlandolt.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Oleg Efimov", + "email": "efimovov@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Martin Cooper", + "email": "mfncooper@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jann Horn", + "email": "jannhorn@googlemail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Andrew Bradley", + "email": "cspotcode@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Maciej Ma\u0142ecki", + "email": "me@mmalecki.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Stephen Sugden", + "email": "glurgle@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Michael Budde", + "email": "mbudde@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jason Smith", + "email": "jhs@iriscouch.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Gautham Pai", + "email": "buzypi@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "David Trejo", + "email": "david.daniel.trejo@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Paul Vorbach", + "email": "paul@vorb.de", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "George Ornbo", + "email": "george@shapeshed.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Tim Oxley", + "email": "secoif@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Tyler Green", + "email": "tyler.green2@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Dave Pacheco", + "email": "dap@joyent.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Danila Gerasimov", + "email": "danila.gerasimov@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Rod Vagg", + "email": "rod@vagg.org", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Christian Howe", + "email": "coderarity@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Andrew Lunny", + "email": "alunny@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Henrik Hodne", + "email": "dvyjones@binaryhex.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Adam Blackburn", + "email": "regality@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kris Windham", + "email": "kriswindham@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jens Grunert", + "email": "jens.grunert@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Joost-Wim Boekesteijn", + "email": "joost-wim@boekesteijn.nl", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Dalmais Maxence", + "email": "root@ip-10-195-202-5.ec2.internal", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Marcus Ekwall", + "email": "marcus.ekwall@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Aaron Stacy", + "email": "aaron.r.stacy@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Phillip Howell", + "email": "phowell@cothm.org", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Domenic Denicola", + "email": "domenic@domenicdenicola.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "James Halliday", + "email": "mail@substack.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jeremy Cantrell", + "email": "jmcantrell@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ribettes", + "email": "patlogan29@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Don Park", + "email": "donpark@docuverse.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Einar Otto Stangvik", + "email": "einaros@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kei Son", + "email": "heyacct@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Nicolas Morel", + "email": "marsup@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mark Dube", + "email": "markisdee@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Nathan Rajlich", + "email": "nathan@tootallnate.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Maxim Bogushevich", + "email": "boga1@mail.ru", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Meaglin", + "email": "Meaglin.wasabi@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ben Evans", + "email": "ben@bensbit.co.uk", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Nathan Zadoks", + "email": "nathan@nathan7.eu", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Brian White", + "email": "mscdex@mscdex.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jed Schmidt", + "email": "tr@nslator.jp", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ian Livingstone", + "email": "ianl@cs.dal.ca", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Patrick Pfeiffer", + "email": "patrick@buzzle.at", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Paul Miller", + "email": "paul@paulmillr.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ryan Emery", + "email": "seebees@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Carl Lange", + "email": "carl@flax.ie", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jan Lehnardt", + "email": "jan@apache.org", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Stuart P. Bentley", + "email": "stuart@testtrack4.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Johan Sk\u00f6ld", + "email": "johan@skold.cc", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Stuart Knightley", + "email": "stuart@stuartk.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Niggler", + "email": "nirk.niggler@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Paolo Fragomeni", + "email": "paolo@async.ly", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jaakko Manninen", + "email": "jaakko@rocketpack.fi", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Luke Arduini", + "email": "luke.arduini@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Larz Conwell", + "email": "larz@larz-laptop.(none)", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Marcel Klehr", + "email": "mklehr@gmx.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Robert Kowalski", + "email": "rok@kowalski.gd", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Forbes Lindesay", + "email": "forbes@lindesay.co.uk", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Vaz Allen", + "email": "vaz@tryptid.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jake Verbaten", + "email": "raynos2@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Schabse Laks", + "email": "Dev@SLaks.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Florian Margaine", + "email": "florian@margaine.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Johan Nordberg", + "email": "its@johan-nordberg.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ian Babrou", + "email": "ibobrik@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Di Wu", + "email": "dwu@palantir.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mathias Bynens", + "email": "mathias@qiwi.be", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Matt McClure", + "email": "matt.mcclure@mapmyfitness.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Matt Lunn", + "email": "matt@mattlunn.me.uk", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Alexey Kreschuk", + "email": "akrsch@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "elisee", + "email": "elisee@sparklin.org", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Robert Gieseke", + "email": "robert.gieseke@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Franc\u0327ois Frisch", + "email": "francoisfrisch@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Trevor Burnham", + "email": "tburnham@hubspot.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Alan Shaw", + "email": "alan@freestyle-developments.co.uk", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "TJ Holowaychuk", + "email": "tj@vision-media.ca", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Nicholas Kinsey", + "email": "pyro@feisty.io", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Paulo Cesar", + "email": "pauloc062@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Elan Shanker", + "email": "elan.shanker@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jon Spencer", + "email": "jon@jonspencer.ca", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jason Diamond", + "email": "jason@diamond.name", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Maximilian Antoni", + "email": "mail@maxantoni.de", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Thom Blake", + "email": "tblake@brightroll.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jess Martin", + "email": "jessmartin@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Spain Train", + "email": "michael.spainhower@opower.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Alex Rodionov", + "email": "p0deje@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Matt Colyer", + "email": "matt@colyer.name", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Evan You", + "email": "yyx990803@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "bitspill", + "email": "bitspill+github@bitspill.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Gabriel Falkenberg", + "email": "gabriel.falkenberg@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Alexej Yaroshevich", + "email": "alex@qfox.ru", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Quim Calpe", + "email": "quim@kalpe.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Steve Mason", + "email": "stevem@brandwatch.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Wil Moore III", + "email": "wil.moore@wilmoore.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Sergey Belov", + "email": "peimei@ya.ru", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Tom Huang", + "email": "hzlhu.dargon@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "CamilleM", + "email": "camille.moulin@alterway.fr", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "S\u00e9bastien Santoro", + "email": "dereckson@espace-win.org", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Evan Lucas", + "email": "evan@btc.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Quinn Slack", + "email": "qslack@qslack.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Alex Kocharin", + "email": "alex@kocharin.ru", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Daniel Santiago", + "email": "daniel.santiago@highlevelwebs.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Denis Gladkikh", + "email": "outcoldman@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Andrew Horton", + "email": "andrew.j.horton@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Zeke Sikelianos", + "email": "zeke@sikelianos.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Dylan Greene", + "email": "dylang@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Franck Cuny", + "email": "franck.cuny@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Yeonghoon Park", + "email": "sola92@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Rafael de Oleza", + "email": "rafa@spotify.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mikola Lysenko", + "email": "mikolalysenko@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Yazhong Liu", + "email": "yorkiefixer@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Neil Gentleman", + "email": "ngentleman@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kris Kowal", + "email": "kris.kowal@cixar.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Alex Gorbatchev", + "email": "alex.gorbatchev@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Shawn Wildermuth", + "email": "shawn@wildermuth.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Wesley de Souza", + "email": "wesleywex@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "yoyoyogi", + "email": "yogesh.k@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "J. Tangelder", + "email": "j.tangelder@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jean Lauliac", + "email": "jean@lauliac.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Andrey Kislyuk", + "email": "kislyuk@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Thorsten Lorenz", + "email": "thlorenz@gmx.de", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Julian Gruber", + "email": "julian@juliangruber.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Benjamin Coe", + "email": "bencoe@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Alex Ford", + "email": "Alex.Ford@CodeTunnel.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Matt Hickford", + "email": "matt.hickford@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Sean McGivern", + "email": "sean.mcgivern@rightscale.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "C J Silverio", + "email": "ceejceej@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Robin Tweedie", + "email": "robin@songkick.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Miroslav Bajto\u0161", + "email": "miroslav@strongloop.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "David Glasser", + "email": "glasser@davidglasser.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Gianluca Casati", + "email": "casati_gianluca@yahoo.it", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Forrest L Norvell", + "email": "ogd@aoaioxxysz.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Karsten Tinnefeld", + "email": "k.tinnefeld@googlemail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Bryan Burgers", + "email": "bryan@burgers.io", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "David Beitey", + "email": "david@davidjb.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Evan You", + "email": "yyou@google.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Zach Pomerantz", + "email": "zmp@umich.edu", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Chris Williams", + "email": "cwilliams88@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "sudodoki", + "email": "smd.deluzion@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mick Thompson", + "email": "dthompson@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Felix Rabe", + "email": "felix@rabe.io", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Michael Hayes", + "email": "michael@hayes.io", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Chris Dickinson", + "email": "christopher.s.dickinson@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Bradley Meck", + "email": "bradley.meck@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "GeJ", + "email": "geraud@gcu.info", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Andrew Terris", + "email": "atterris@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Michael Nisi", + "email": "michael.nisi@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "fengmk2", + "email": "fengmk2@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Adam Meadows", + "email": "adam.meadows@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Chulki Lee", + "email": "chulki.lee@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "\u4e0d\u56db", + "email": "busi.hyy@taobao.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "dead_horse", + "email": "dead_horse@qq.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kenan Yildirim", + "email": "kenan@kenany.me", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Laurie Voss", + "email": "git@seldo.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Rebecca Turner", + "email": "me@re-becca.org", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Hunter Loftis", + "email": "hunter@hunterloftis.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Peter Richardson", + "email": "github@zoomy.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jussi Kalliokoski", + "email": "jussi.kalliokoski@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Filip Weiss", + "email": "me@fiws.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Timo Wei\u00df", + "email": "timoweiss@Timo-MBP.local", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Christopher Hiller", + "email": "chiller@badwing.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "J\u00e9r\u00e9my Lal", + "email": "kapouer@melix.org", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Anders Janmyr", + "email": "anders@janmyr.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Chris Meyers", + "email": "chris.meyers.fsu@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ludwig Magnusson", + "email": "ludwig@mediatool.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Wout Mertens", + "email": "Wout.Mertens@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Nick Santos", + "email": "nick@medium.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Terin Stock", + "email": "terinjokes@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Faiq Raza", + "email": "faiqrazarizvi@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Thomas Torp", + "email": "thomas@erupt.no", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Sam Mikes", + "email": "smikes@cubane.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mat Tyndall", + "email": "mat.tyndall@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Tauren Mills", + "email": "tauren@sportzing.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ron Martinez", + "email": "ramartin.net@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kazuhito Hokamura", + "email": "k.hokamura@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Tristan Davies", + "email": "github@tristan.io", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "David Volm", + "email": "david@volminator.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Lin Clark", + "email": "lin.w.clark@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ben Page", + "email": "bpage@dewalch.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jeff Jo", + "email": "jeffjo@squareup.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "martinvd", + "email": "martinvdpub@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mark J. Titorenko", + "email": "nospam-github.com@titorenko.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Oddur Sigurdsson", + "email": "oddurs@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Eric Mill", + "email": "eric@konklone.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Gabriel Barros", + "email": "descartavel1@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "KevinSheedy", + "email": "kevinsheedy@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Aleksey Smolenchuk", + "email": "aleksey@uber.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ed Morley", + "email": "emorley@mozilla.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Blaine Bublitz", + "email": "blaine@iceddev.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Andrey Fedorov", + "email": "anfedorov@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Daijiro Wachi", + "email": "daijiro.wachi@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Luc Thevenard", + "email": "lucthevenard@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Aria Stewart", + "email": "aredridel@nbtsc.org", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Charlie Rudolph", + "email": "charles.w.rudolph@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Vladimir Rutsky", + "email": "rutsky@users.noreply.github.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Isaac Murchie", + "email": "isaac@saucelabs.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Marcin Wosinek", + "email": "marcin.wosinek@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "David Marr", + "email": "davemarr@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Bryan English", + "email": "bryan@bryanenglish.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Anthony Zotti", + "email": "amZotti@users.noreply.github.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Karl Horky", + "email": "karl.horky@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jordan Harband", + "email": "ljharb@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Gu\u00f0laugur Stef\u00e1n Egilsson", + "email": "gulli@kolibri.is", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Helge Skogly Holm", + "email": "helge.holm@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Peter A. Shevtsov", + "email": "petr.shevtsov@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Alain Kalker", + "email": "a.c.kalker@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Bryant Williams", + "email": "b.n.williams@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jonas Weber", + "email": "github@jonasw.de", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Tim Whidden", + "email": "twhid@twhid.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Andreas", + "email": "functino@users.noreply.github.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Karolis Narkevicius", + "email": "karolis.n@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Adrian Lynch", + "email": "adi_ady_ade@hotmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Richard Littauer", + "email": "richard.littauer@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Oli Evans", + "email": "oli@zilla.org.uk", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Matt Brennan", + "email": "mattyb1000@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jeff Barczewski", + "email": "jeff.barczewski@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Danny Fritz", + "email": "dannyfritz@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Takaya Kobayashi", + "email": "jigsaw@live.jp", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ra'Shaun Stovall", + "email": "rashaunstovall@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Julien Meddah", + "email": "julien.meddah@deveryware.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Michiel Sikma", + "email": "michiel@wedemandhtml.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jakob Krigovsky", + "email": "jakob.krigovsky@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Charmander", + "email": "~@charmander.me", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Erik Wienhold", + "email": "git@ewie.name", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "James Butler", + "email": "james.butler@sandfox.co.uk", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kevin Kragenbrink", + "email": "kevin@gaikai.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Arnaud Rinquin", + "email": "rinquin.arnaud@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mike MacCana", + "email": "mike.maccana@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Antti Mattila", + "email": "anttti@fastmail.fm", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "laiso", + "email": "laiso@lai.so", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Matt Zorn", + "email": "zornme@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kyle Mitchell", + "email": "kyle@kemitchell.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jeremiah Senkpiel", + "email": "fishrock123@rocketmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Michael Klein", + "email": "mischkl@users.noreply.github.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Simen Bekkhus", + "email": "sbekkhus91@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Victor", + "email": "victor.shih@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "thefourtheye", + "email": "thechargingvolcano@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Clay Carpenter", + "email": "claycarpenter@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "bangbang93", + "email": "bangbang93@163.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Nick Malaguti", + "email": "nmalaguti@palantir.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Cedric Nelson", + "email": "cedric.nelson@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kat March\u00e1n", + "email": "kzm@sykosomatic.org", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Andrew", + "email": "talktome@aboutandrew.co.uk", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Eduardo Pinho", + "email": "enet4mikeenet@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Rachel Hutchison", + "email": "rhutchix@intel.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ryan Temple", + "email": "ryantemple145@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Eugene Sharygin", + "email": "eush77@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Nick Heiner", + "email": "nick.heiner@opower.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "James Talmage", + "email": "james@talmage.io", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "jane arc", + "email": "jane@uber.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Joseph Dykstra", + "email": "josephdykstra@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Joshua Egan", + "email": "josh-egan@users.noreply.github.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Thomas Cort", + "email": "thomasc@ssimicro.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Thaddee Tyl", + "email": "thaddee.tyl@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Steve Klabnik", + "email": "steve@steveklabnik.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Andrew Murray", + "email": "radarhere@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Stephan B\u00f6nnemann", + "email": "stephan@excellenteasy.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kyle M. Tarplee", + "email": "kyle.tarplee@numerica.us", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Derek Peterson", + "email": "derekpetey@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Greg Whiteley", + "email": "greg.whiteley@atomos.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "murgatroid99", + "email": "mlumish@google.com", + "url": null + }, + { + "type": "person", + "role": "maintainer", + "name": "isaacs", + "email": "isaacs@npmjs.com", + "url": null + }, + { + "type": "person", + "role": "maintainer", + "name": "othiym23", + "email": "ogd@aoaioxxysz.net", + "url": null + }, + { + "type": "person", + "role": "maintainer", + "name": "iarna", + "email": "me@re-becca.org", + "url": null + }, + { + "type": "person", + "role": "maintainer", + "name": "zkat", + "email": "kat@sykosomatic.org", + "url": null + } + ], + "keywords": [ + "package manager", + "modules", + "install", + "package.json" + ], + "homepage_url": "https://docs.npmjs.com/", + "download_url": "https://registry.npmjs.org/npm/-/npm-2.13.5.tgz", + "size": null, + "sha1": "a124386bce4a90506f28ad4b1d1a804a17baaf32", + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": "http://github.com/npm/npm/issues", + "code_view_url": null, + "vcs_url": "git+https://github.com/npm/npm.git@fc7bbf03e39cc48a8924b90696d28345a6a90f3c", + "copyright": null, + "license_expression": "artistic-2.0", + "declared_license": [ + "Artistic-2.0" + ], + "notice_text": null, + "source_packages": [], + "extra_data": {}, + "package_uid": "pkg:npm/npm@2.13.5", + "package_data_files": [ + "scan/package.json" + ], + "files": [ + "scan/cc0-1.0.LICENSE", + "scan/package.json", + "scan/README", + "scan/arch/adler32.c", + "scan/arch/zlib.h", + "scan/arch/zutil.h", + "scan/JGroups/src/FixedMembershipToken.java", + "scan/JGroups/src/GuardedBy.java", + "scan/JGroups/src/ImmutableReference.java", + "scan/JGroups/src/RATE_LIMITER.java", + "scan/JGroups/src/RouterStub.java", + "scan/JGroups/src/RouterStubManager.java", + "scan/JGroups/src/S3_PING.java", + "scan/zlib/adler32.c", + "scan/zlib/deflate.c", + "scan/zlib/deflate.h", + "scan/zlib/zlib.h", + "scan/zlib/zutil.c", + "scan/zlib/zutil.h", + "scan/zlib/ada/zlib.ads", + "scan/zlib/dotzlib/AssemblyInfo.cs", + "scan/zlib/dotzlib/ChecksumImpl.cs", + "scan/zlib/gcc_gvmat64/gvmat64.S", + "scan/zlib/infback9/infback9.c", + "scan/zlib/infback9/infback9.h", + "scan/zlib/iostream2/zstream.h" + ], + "purl": "pkg:npm/npm@2.13.5", + "repository_homepage_url": "https://www.npmjs.com/package/npm", + "repository_download_url": "https://registry.npmjs.org/npm/-/npm-2.13.5.tgz", + "api_data_url": "https://registry.npmjs.org/npm/2.13.5" + } + ], + "summary": { + "license_expressions": [ + { + "value": "zlib", + "count": 12 + }, + { + "value": "lgpl-2.1-plus", + "count": 3 + }, + { + "value": "artistic-2.0", + "count": 1 + }, + { + "value": "boost-1.0", + "count": 1 + }, + { + "value": "cc-by-2.5", + "count": 1 + }, + { + "value": "cc0-1.0", + "count": 1 + }, + { + "value": "gpl-2.0-plus WITH ada-linking-exception", + "count": 1 + }, + { + "value": "mit-old-style", + "count": 1 + } + ], + "copyrights": [ + { + "value": null, + "count": 6 + }, + { + "value": "Copyright (c) Jean-loup Gailly", + "count": 4 + }, + { + "value": "Copyright (c) Mark Adler", + "count": 4 + }, + { + "value": "Copyright (c) Jean-loup Gailly and Mark Adler", + "count": 3 + }, + { + "value": "Copyright (c) Brian Goetz and Tim Peierls", + "count": 1 + }, + { + "value": "Copyright (c) Christian Michelsen Research AS Advanced Computing", + "count": 1 + }, + { + "value": "Copyright (c) Dmitriy Anisimkov", + "count": 1 + }, + { + "value": "Copyright (c) Jean-loup Gailly, Brian Raiter and Gilles Vollant", + "count": 1 + }, + { + "value": "Copyright (c) by Henrik Ravn", + "count": 1 + }, + { + "value": "Copyright Henrik Ravn", + "count": 1 + }, + { + "value": "Copyright JBoss Inc., and individual contributors", + "count": 1 + }, + { + "value": "Copyright Red Hat Middleware LLC, and individual contributors", + "count": 1 + }, + { + "value": "Copyright Red Hat, Inc. and individual contributors", + "count": 1 + } + ], + "holders": [ + { + "value": null, + "count": 6 + }, + { + "value": "Jean-loup Gailly", + "count": 4 + }, + { + "value": "Mark Adler", + "count": 4 + }, + { + "value": "Jean-loup Gailly and Mark Adler", + "count": 3 + }, + { + "value": "Henrik Ravn", + "count": 2 + }, + { + "value": "Brian Goetz and Tim Peierls", + "count": 1 + }, + { + "value": "Christian Michelsen Research AS Advanced Computing", + "count": 1 + }, + { + "value": "Dmitriy Anisimkov", + "count": 1 + }, + { + "value": "JBoss Inc., and individual contributors", + "count": 1 + }, + { + "value": "Jean-loup Gailly, Brian Raiter and Gilles Vollant", + "count": 1 + }, + { + "value": "Red Hat Middleware LLC, and individual contributors", + "count": 1 + }, + { + "value": "Red Hat, Inc. and individual contributors", + "count": 1 + } + ], + "authors": [ + { + "value": null, + "count": 20 + }, + { + "value": "Bela Ban", + "count": 4 + }, + { + "value": "Gilles Vollant", + "count": 1 + }, + { + "value": "name' Isaac Z.", + "count": 1 + } + ], + "programming_language": [ + { + "value": "C", + "count": 12 + }, + { + "value": "Java", + "count": 7 + }, + { + "value": "C#", + "count": 2 + }, + { + "value": "GAS", + "count": 1 + } + ] + }, + "files": [ + { + "path": "scan", + "type": "directory", + "name": "scan", + "base_name": "scan", + "extension": "", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "licenses": [], + "license_expressions": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "package_data": [], + "for_packages": [], + "summary": { + "license_expressions": [ + { + "value": "zlib", + "count": 12 + }, + { + "value": "lgpl-2.1-plus", + "count": 3 + }, + { + "value": "artistic-2.0", + "count": 1 + }, + { + "value": "boost-1.0", + "count": 1 + }, + { + "value": "cc-by-2.5", + "count": 1 + }, + { + "value": "cc0-1.0", + "count": 1 + }, + { + "value": "gpl-2.0-plus WITH ada-linking-exception", + "count": 1 + }, + { + "value": "mit-old-style", + "count": 1 + } + ], + "copyrights": [ + { + "value": null, + "count": 6 + }, + { + "value": "Copyright (c) Jean-loup Gailly", + "count": 4 + }, + { + "value": "Copyright (c) Mark Adler", + "count": 4 + }, + { + "value": "Copyright (c) Jean-loup Gailly and Mark Adler", + "count": 3 + }, + { + "value": "Copyright (c) Brian Goetz and Tim Peierls", + "count": 1 + }, + { + "value": "Copyright (c) Christian Michelsen Research AS Advanced Computing", + "count": 1 + }, + { + "value": "Copyright (c) Dmitriy Anisimkov", + "count": 1 + }, + { + "value": "Copyright (c) Jean-loup Gailly, Brian Raiter and Gilles Vollant", + "count": 1 + }, + { + "value": "Copyright (c) by Henrik Ravn", + "count": 1 + }, + { + "value": "Copyright Henrik Ravn", + "count": 1 + }, + { + "value": "Copyright JBoss Inc., and individual contributors", + "count": 1 + }, + { + "value": "Copyright Red Hat Middleware LLC, and individual contributors", + "count": 1 + }, + { + "value": "Copyright Red Hat, Inc. and individual contributors", + "count": 1 + } + ], + "holders": [ + { + "value": null, + "count": 6 + }, + { + "value": "Jean-loup Gailly", + "count": 4 + }, + { + "value": "Mark Adler", + "count": 4 + }, + { + "value": "Jean-loup Gailly and Mark Adler", + "count": 3 + }, + { + "value": "Henrik Ravn", + "count": 2 + }, + { + "value": "Brian Goetz and Tim Peierls", + "count": 1 + }, + { + "value": "Christian Michelsen Research AS Advanced Computing", + "count": 1 + }, + { + "value": "Dmitriy Anisimkov", + "count": 1 + }, + { + "value": "JBoss Inc., and individual contributors", + "count": 1 + }, + { + "value": "Jean-loup Gailly, Brian Raiter and Gilles Vollant", + "count": 1 + }, + { + "value": "Red Hat Middleware LLC, and individual contributors", + "count": 1 + }, + { + "value": "Red Hat, Inc. and individual contributors", + "count": 1 + } + ], + "authors": [ + { + "value": null, + "count": 20 + }, + { + "value": "Bela Ban", + "count": 4 + }, + { + "value": "Gilles Vollant", + "count": 1 + }, + { + "value": "name' Isaac Z.", + "count": 1 + } + ], + "programming_language": [ + { + "value": "C", + "count": 12 + }, + { + "value": "Java", + "count": 7 + }, + { + "value": "C#", + "count": 2 + }, + { + "value": "GAS", + "count": 1 + } + ] + }, + "files_count": 26, + "dirs_count": 9, + "size_count": 58647, + "scan_errors": [] + }, + { + "path": "scan/JGroups", + "type": "directory", + "name": "JGroups", + "base_name": "JGroups", + "extension": "", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "licenses": [], + "license_expressions": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "package_data": [], + "for_packages": [], + "summary": { + "license_expressions": [ + { + "value": "lgpl-2.1-plus", + "count": 3 + }, + { + "value": "cc-by-2.5", + "count": 1 + } + ], + "copyrights": [ + { + "value": null, + "count": 3 + }, + { + "value": "Copyright (c) Brian Goetz and Tim Peierls", + "count": 1 + }, + { + "value": "Copyright JBoss Inc., and individual contributors", + "count": 1 + }, + { + "value": "Copyright Red Hat Middleware LLC, and individual contributors", + "count": 1 + }, + { + "value": "Copyright Red Hat, Inc. and individual contributors", + "count": 1 + } + ], + "holders": [ + { + "value": null, + "count": 3 + }, + { + "value": "Brian Goetz and Tim Peierls", + "count": 1 + }, + { + "value": "JBoss Inc., and individual contributors", + "count": 1 + }, + { + "value": "Red Hat Middleware LLC, and individual contributors", + "count": 1 + }, + { + "value": "Red Hat, Inc. and individual contributors", + "count": 1 + } + ], + "authors": [ + { + "value": "Bela Ban", + "count": 4 + }, + { + "value": null, + "count": 3 + } + ], + "programming_language": [ + { + "value": "Java", + "count": 7 + } + ] + }, + "files_count": 7, + "dirs_count": 1, + "size_count": 4227, + "scan_errors": [] + }, + { + "path": "scan/JGroups/src", + "type": "directory", + "name": "src", + "base_name": "src", + "extension": "", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "licenses": [], + "license_expressions": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "package_data": [], + "for_packages": [], + "summary": { + "license_expressions": [ + { + "value": "lgpl-2.1-plus", + "count": 3 + }, + { + "value": "cc-by-2.5", + "count": 1 + } + ], + "copyrights": [ + { + "value": null, + "count": 3 + }, + { + "value": "Copyright (c) Brian Goetz and Tim Peierls", + "count": 1 + }, + { + "value": "Copyright JBoss Inc., and individual contributors", + "count": 1 + }, + { + "value": "Copyright Red Hat Middleware LLC, and individual contributors", + "count": 1 + }, + { + "value": "Copyright Red Hat, Inc. and individual contributors", + "count": 1 + } + ], + "holders": [ + { + "value": null, + "count": 3 + }, + { + "value": "Brian Goetz and Tim Peierls", + "count": 1 + }, + { + "value": "JBoss Inc., and individual contributors", + "count": 1 + }, + { + "value": "Red Hat Middleware LLC, and individual contributors", + "count": 1 + }, + { + "value": "Red Hat, Inc. and individual contributors", + "count": 1 + } + ], + "authors": [ + { + "value": "Bela Ban", + "count": 4 + }, + { + "value": null, + "count": 3 + } + ], + "programming_language": [ + { + "value": "Java", + "count": 7 + } + ] + }, + "files_count": 7, + "dirs_count": 0, + "size_count": 4227, + "scan_errors": [] + }, + { + "path": "scan/JGroups/src/FixedMembershipToken.java", + "type": "file", + "name": "FixedMembershipToken.java", + "base_name": "FixedMembershipToken", + "extension": ".java", + "size": 1016, + "sha1": "d0d55d2ae0842afee96695bcc8be939e763704ec", + "md5": "301dfe021b3b4076b9f8d49577205b44", + "sha256": "ff6dfac01c9b7ad9fcb5e646db83b482f5f720d981f0ca6c68828c5aa4ec784b", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "Java", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [ + { + "key": "lgpl-2.1-plus", + "score": 100.0, + "name": "GNU Lesser General Public License 2.1 or later", + "short_name": "LGPL 2.1 or later", + "category": "Copyleft Limited", + "is_exception": false, + "is_unknown": false, + "owner": "Free Software Foundation (FSF)", + "homepage_url": "http://www.gnu.org/licenses/old-licenses/lgpl-2.1-standalone.html", + "text_url": "http://www.gnu.org/licenses/old-licenses/lgpl-2.1-standalone.html", + "reference_url": "https://scancode-licensedb.aboutcode.org/lgpl-2.1-plus", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/lgpl-2.1-plus.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/lgpl-2.1-plus.yml", + "spdx_license_key": "LGPL-2.1-or-later", + "spdx_url": "https://spdx.org/licenses/LGPL-2.1-or-later", + "start_line": 7, + "end_line": 20, + "matched_rule": { + "identifier": "lgpl-2.1-plus_59.RULE", + "license_expression": "lgpl-2.1-plus", + "licenses": [ + "lgpl-2.1-plus" + ], + "referenced_filenames": [], + "is_license_text": false, + "is_license_notice": true, + "is_license_reference": false, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 125, + "matched_length": 125, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "lgpl-2.1-plus" + ], + "percentage_of_license_text": 79.62, + "copyrights": [ + { + "copyright": "Copyright 2005, JBoss Inc., and individual contributors", + "start_line": 3, + "end_line": 3 + } + ], + "holders": [ + { + "holder": "JBoss Inc., and individual contributors", + "start_line": 3, + "end_line": 3 + } + ], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "summary": { + "license_expressions": [ + { + "value": "lgpl-2.1-plus", + "count": 1 + } + ], + "copyrights": [ + { + "value": "Copyright JBoss Inc., and individual contributors", + "count": 1 + } + ], + "holders": [ + { + "value": "JBoss Inc., and individual contributors", + "count": 1 + } + ], + "authors": [ + { + "value": null, + "count": 1 + } + ], + "programming_language": [ + { + "value": "Java", + "count": 1 + } + ] + }, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/JGroups/src/GuardedBy.java", + "type": "file", + "name": "GuardedBy.java", + "base_name": "GuardedBy", + "extension": ".java", + "size": 482, + "sha1": "21ec75514ce72011c4e86c977505c024832c1b63", + "md5": "5165fdeefda7a55c13e44c5e56cac920", + "sha256": "8553411bf58f4ac35fc9e7d6142f11fc2fbef33e50a77f514a253135807afd44", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "Java", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [ + { + "key": "cc-by-2.5", + "score": 100.0, + "name": "Creative Commons Attribution License 2.5", + "short_name": "CC-BY-2.5", + "category": "Permissive", + "is_exception": false, + "is_unknown": false, + "owner": "Creative Commons", + "homepage_url": "http://creativecommons.org/licenses/by/2.5/", + "text_url": "http://creativecommons.org/licenses/by/2.5/legalcode", + "reference_url": "https://scancode-licensedb.aboutcode.org/cc-by-2.5", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/cc-by-2.5.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/cc-by-2.5.yml", + "spdx_license_key": "CC-BY-2.5", + "spdx_url": "https://spdx.org/licenses/CC-BY-2.5", + "start_line": 4, + "end_line": 5, + "matched_rule": { + "identifier": "cc-by-2.5_4.RULE", + "license_expression": "cc-by-2.5", + "licenses": [ + "cc-by-2.5" + ], + "referenced_filenames": [], + "is_license_text": false, + "is_license_notice": true, + "is_license_reference": false, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 14, + "matched_length": 14, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "cc-by-2.5" + ], + "percentage_of_license_text": 19.72, + "copyrights": [ + { + "copyright": "Copyright (c) 2005 Brian Goetz and Tim Peierls", + "start_line": 3, + "end_line": 3 + } + ], + "holders": [ + { + "holder": "Brian Goetz and Tim Peierls", + "start_line": 3, + "end_line": 3 + } + ], + "authors": [ + { + "author": "Bela Ban", + "start_line": 10, + "end_line": 10 + } + ], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "summary": { + "license_expressions": [ + { + "value": "cc-by-2.5", + "count": 1 + } + ], + "copyrights": [ + { + "value": "Copyright (c) Brian Goetz and Tim Peierls", + "count": 1 + } + ], + "holders": [ + { + "value": "Brian Goetz and Tim Peierls", + "count": 1 + } + ], + "authors": [ + { + "value": "Bela Ban", + "count": 1 + } + ], + "programming_language": [ + { + "value": "Java", + "count": 1 + } + ] + }, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/JGroups/src/ImmutableReference.java", + "type": "file", + "name": "ImmutableReference.java", + "base_name": "ImmutableReference", + "extension": ".java", + "size": 1023, + "sha1": "aee1bb33424e7c1264f85c9aad40d43c3738f871", + "md5": "53a91ff66fdc4d812d7656b4e807bfd2", + "sha256": "ec1427fc2f7e322e6a4d5d99f8119310d6586aaaf5b30b2904b4ccd27966e120", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "Java", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [ + { + "key": "lgpl-2.1-plus", + "score": 100.0, + "name": "GNU Lesser General Public License 2.1 or later", + "short_name": "LGPL 2.1 or later", + "category": "Copyleft Limited", + "is_exception": false, + "is_unknown": false, + "owner": "Free Software Foundation (FSF)", + "homepage_url": "http://www.gnu.org/licenses/old-licenses/lgpl-2.1-standalone.html", + "text_url": "http://www.gnu.org/licenses/old-licenses/lgpl-2.1-standalone.html", + "reference_url": "https://scancode-licensedb.aboutcode.org/lgpl-2.1-plus", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/lgpl-2.1-plus.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/lgpl-2.1-plus.yml", + "spdx_license_key": "LGPL-2.1-or-later", + "spdx_url": "https://spdx.org/licenses/LGPL-2.1-or-later", + "start_line": 7, + "end_line": 20, + "matched_rule": { + "identifier": "lgpl-2.1-plus_59.RULE", + "license_expression": "lgpl-2.1-plus", + "licenses": [ + "lgpl-2.1-plus" + ], + "referenced_filenames": [], + "is_license_text": false, + "is_license_notice": true, + "is_license_reference": false, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 125, + "matched_length": 125, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "lgpl-2.1-plus" + ], + "percentage_of_license_text": 78.62, + "copyrights": [ + { + "copyright": "Copyright 2010, Red Hat, Inc. and individual contributors", + "start_line": 3, + "end_line": 3 + } + ], + "holders": [ + { + "holder": "Red Hat, Inc. and individual contributors", + "start_line": 3, + "end_line": 3 + } + ], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "summary": { + "license_expressions": [ + { + "value": "lgpl-2.1-plus", + "count": 1 + } + ], + "copyrights": [ + { + "value": "Copyright Red Hat, Inc. and individual contributors", + "count": 1 + } + ], + "holders": [ + { + "value": "Red Hat, Inc. and individual contributors", + "count": 1 + } + ], + "authors": [ + { + "value": null, + "count": 1 + } + ], + "programming_language": [ + { + "value": "Java", + "count": 1 + } + ] + }, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/JGroups/src/RATE_LIMITER.java", + "type": "file", + "name": "RATE_LIMITER.java", + "base_name": "RATE_LIMITER", + "extension": ".java", + "size": 269, + "sha1": "8da19aa25da421608fbe9f4f5eeb122ab35fd01e", + "md5": "52540f80f5c22d8d13627c57b76d44f4", + "sha256": "c3bcefbbb2706f65410b4bb91d531e2ec461fa4586135becc8865adeca3385c8", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "Java", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [], + "license_expressions": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [ + { + "author": "Bela Ban", + "start_line": 4, + "end_line": 4 + } + ], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "summary": { + "license_expressions": [ + { + "value": null, + "count": 1 + } + ], + "copyrights": [ + { + "value": null, + "count": 1 + } + ], + "holders": [ + { + "value": null, + "count": 1 + } + ], + "authors": [ + { + "value": "Bela Ban", + "count": 1 + } + ], + "programming_language": [ + { + "value": "Java", + "count": 1 + } + ] + }, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/JGroups/src/RouterStub.java", + "type": "file", + "name": "RouterStub.java", + "base_name": "RouterStub", + "extension": ".java", + "size": 153, + "sha1": "c1baa345449b4b91e61886dadea8f1bbea034eb4", + "md5": "a0b4e3f4d679a98d11d75e7e27e894af", + "sha256": "5c0f94fc518daca08e74fd117fef09d6dd090b0fd623a47edde451be3aed28c7", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "Java", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [], + "license_expressions": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [ + { + "author": "Bela Ban", + "start_line": 3, + "end_line": 3 + } + ], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "summary": { + "license_expressions": [ + { + "value": null, + "count": 1 + } + ], + "copyrights": [ + { + "value": null, + "count": 1 + } + ], + "holders": [ + { + "value": null, + "count": 1 + } + ], + "authors": [ + { + "value": "Bela Ban", + "count": 1 + } + ], + "programming_language": [ + { + "value": "Java", + "count": 1 + } + ] + }, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/JGroups/src/RouterStubManager.java", + "type": "file", + "name": "RouterStubManager.java", + "base_name": "RouterStubManager", + "extension": ".java", + "size": 1032, + "sha1": "a51c5bbb738c1c1cd1f58c79060fa5ea4d0dd753", + "md5": "cae07c80e6f79864de002700bf9ab02f", + "sha256": "fe96061d23b37c98913379d54c5388cffdc99239807c2caf8c96d7d10321d085", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "Java", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [ + { + "key": "lgpl-2.1-plus", + "score": 100.0, + "name": "GNU Lesser General Public License 2.1 or later", + "short_name": "LGPL 2.1 or later", + "category": "Copyleft Limited", + "is_exception": false, + "is_unknown": false, + "owner": "Free Software Foundation (FSF)", + "homepage_url": "http://www.gnu.org/licenses/old-licenses/lgpl-2.1-standalone.html", + "text_url": "http://www.gnu.org/licenses/old-licenses/lgpl-2.1-standalone.html", + "reference_url": "https://scancode-licensedb.aboutcode.org/lgpl-2.1-plus", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/lgpl-2.1-plus.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/lgpl-2.1-plus.yml", + "spdx_license_key": "LGPL-2.1-or-later", + "spdx_url": "https://spdx.org/licenses/LGPL-2.1-or-later", + "start_line": 7, + "end_line": 20, + "matched_rule": { + "identifier": "lgpl-2.1-plus_59.RULE", + "license_expression": "lgpl-2.1-plus", + "licenses": [ + "lgpl-2.1-plus" + ], + "referenced_filenames": [], + "is_license_text": false, + "is_license_notice": true, + "is_license_reference": false, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 125, + "matched_length": 125, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "lgpl-2.1-plus" + ], + "percentage_of_license_text": 78.12, + "copyrights": [ + { + "copyright": "Copyright 2009, Red Hat Middleware LLC, and individual contributors", + "start_line": 3, + "end_line": 3 + } + ], + "holders": [ + { + "holder": "Red Hat Middleware LLC, and individual contributors", + "start_line": 3, + "end_line": 3 + } + ], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "summary": { + "license_expressions": [ + { + "value": "lgpl-2.1-plus", + "count": 1 + } + ], + "copyrights": [ + { + "value": "Copyright Red Hat Middleware LLC, and individual contributors", + "count": 1 + } + ], + "holders": [ + { + "value": "Red Hat Middleware LLC, and individual contributors", + "count": 1 + } + ], + "authors": [ + { + "value": null, + "count": 1 + } + ], + "programming_language": [ + { + "value": "Java", + "count": 1 + } + ] + }, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/JGroups/src/S3_PING.java", + "type": "file", + "name": "S3_PING.java", + "base_name": "S3_PING", + "extension": ".java", + "size": 252, + "sha1": "a7a9763832eb31e1f7f7927d6288df284b70c6e5", + "md5": "ffb481f2a0c6262d0f7d1e9a4681a6ca", + "sha256": "5470e41b0bfba6adb43649215df756f1a4a5173ceed6127af1b38801651efde2", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "Java", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [], + "license_expressions": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [ + { + "author": "Bela Ban", + "start_line": 3, + "end_line": 3 + } + ], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "summary": { + "license_expressions": [ + { + "value": null, + "count": 1 + } + ], + "copyrights": [ + { + "value": null, + "count": 1 + } + ], + "holders": [ + { + "value": null, + "count": 1 + } + ], + "authors": [ + { + "value": "Bela Ban", + "count": 1 + } + ], + "programming_language": [ + { + "value": "Java", + "count": 1 + } + ] + }, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/README", + "type": "file", + "name": "README", + "base_name": "README", + "extension": "", + "size": 236, + "sha1": "2e07e32c52d607204fad196052d70e3d18fb8636", + "md5": "effc6856ef85a9250fb1a470792b3f38", + "sha256": "165da86bfdf296cd5a0a3e20c1d1ee86d70ecb8a1fa579d6f8cadad8eee85878", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": null, + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "licenses": [], + "license_expressions": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "summary": { + "license_expressions": [ + { + "value": null, + "count": 1 + } + ], + "copyrights": [ + { + "value": null, + "count": 1 + } + ], + "holders": [ + { + "value": null, + "count": 1 + } + ], + "authors": [ + { + "value": null, + "count": 1 + } + ], + "programming_language": [ + { + "value": null, + "count": 1 + } + ] + }, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/arch", + "type": "directory", + "name": "arch", + "base_name": "arch", + "extension": "", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "licenses": [], + "license_expressions": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "package_data": [], + "for_packages": [], + "summary": { + "license_expressions": [ + { + "value": "zlib", + "count": 3 + } + ], + "copyrights": [ + { + "value": "Copyright (c) Jean-loup Gailly", + "count": 1 + }, + { + "value": "Copyright (c) Jean-loup Gailly and Mark Adler", + "count": 1 + }, + { + "value": "Copyright (c) Mark Adler", + "count": 1 + } + ], + "holders": [ + { + "value": "Jean-loup Gailly", + "count": 1 + }, + { + "value": "Jean-loup Gailly and Mark Adler", + "count": 1 + }, + { + "value": "Mark Adler", + "count": 1 + } + ], + "authors": [ + { + "value": null, + "count": 3 + } + ], + "programming_language": [ + { + "value": "C", + "count": 3 + } + ] + }, + "files_count": 3, + "dirs_count": 0, + "size_count": 1896, + "scan_errors": [] + }, + { + "path": "scan/arch/adler32.c", + "type": "file", + "name": "adler32.c", + "base_name": "adler32", + "extension": ".c", + "size": 175, + "sha1": "a7ee5ea54da88a6390e72ff018dd471045d8bbf1", + "md5": "92011414f344e34f711e77bac40e4bc4", + "sha256": "e533accabdc7434f3905ced32c4fba755f707929ad73df6e07172cd5a786e023", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "C", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [ + { + "key": "zlib", + "score": 100.0, + "name": "ZLIB License", + "short_name": "ZLIB License", + "category": "Permissive", + "is_exception": false, + "is_unknown": false, + "owner": "zlib", + "homepage_url": "http://www.zlib.net/", + "text_url": "http://www.gzip.org/zlib/zlib_license.html", + "reference_url": "https://scancode-licensedb.aboutcode.org/zlib", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.yml", + "spdx_license_key": "Zlib", + "spdx_url": "https://spdx.org/licenses/Zlib", + "start_line": 3, + "end_line": 3, + "matched_rule": { + "identifier": "zlib_5.RULE", + "license_expression": "zlib", + "licenses": [ + "zlib" + ], + "referenced_filenames": [ + "zlib.h" + ], + "is_license_text": false, + "is_license_notice": false, + "is_license_reference": true, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 12, + "matched_length": 12, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "zlib" + ], + "percentage_of_license_text": 42.86, + "copyrights": [ + { + "copyright": "Copyright (c) 1995-2011 Mark Adler", + "start_line": 2, + "end_line": 2 + } + ], + "holders": [ + { + "holder": "Mark Adler", + "start_line": 2, + "end_line": 2 + } + ], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "summary": { + "license_expressions": [ + { + "value": "zlib", + "count": 1 + } + ], + "copyrights": [ + { + "value": "Copyright (c) Mark Adler", + "count": 1 + } + ], + "holders": [ + { + "value": "Mark Adler", + "count": 1 + } + ], + "authors": [ + { + "value": null, + "count": 1 + } + ], + "programming_language": [ + { + "value": "C", + "count": 1 + } + ] + }, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/arch/zlib.h", + "type": "file", + "name": "zlib.h", + "base_name": "zlib", + "extension": ".h", + "size": 1326, + "sha1": "26610e5eab2a17e0fa9ef6ac791f25f77af145af", + "md5": "4ed53ac605f16247ab7d571670f2351d", + "sha256": "b09e2a43e9960d3d28d37d24f10dfbc462a4cb376da54ba571ac9a8874911ed5", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "C", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [ + { + "key": "zlib", + "score": 100.0, + "name": "ZLIB License", + "short_name": "ZLIB License", + "category": "Permissive", + "is_exception": false, + "is_unknown": false, + "owner": "zlib", + "homepage_url": "http://www.zlib.net/", + "text_url": "http://www.gzip.org/zlib/zlib_license.html", + "reference_url": "https://scancode-licensedb.aboutcode.org/zlib", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.yml", + "spdx_license_key": "Zlib", + "spdx_url": "https://spdx.org/licenses/Zlib", + "start_line": 6, + "end_line": 23, + "matched_rule": { + "identifier": "zlib_17.RULE", + "license_expression": "zlib", + "licenses": [ + "zlib" + ], + "referenced_filenames": [], + "is_license_text": true, + "is_license_notice": false, + "is_license_reference": false, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 144, + "matched_length": 144, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "zlib" + ], + "percentage_of_license_text": 69.57, + "copyrights": [ + { + "copyright": "Copyright (c) 1995-2013 Jean-loup Gailly and Mark Adler", + "start_line": 4, + "end_line": 4 + } + ], + "holders": [ + { + "holder": "Jean-loup Gailly and Mark Adler", + "start_line": 4, + "end_line": 4 + } + ], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "summary": { + "license_expressions": [ + { + "value": "zlib", + "count": 1 + } + ], + "copyrights": [ + { + "value": "Copyright (c) Jean-loup Gailly and Mark Adler", + "count": 1 + } + ], + "holders": [ + { + "value": "Jean-loup Gailly and Mark Adler", + "count": 1 + } + ], + "authors": [ + { + "value": null, + "count": 1 + } + ], + "programming_language": [ + { + "value": "C", + "count": 1 + } + ] + }, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/arch/zutil.h", + "type": "file", + "name": "zutil.h", + "base_name": "zutil", + "extension": ".h", + "size": 395, + "sha1": "830fca8d60bd0d0d91f6354d83ec8bf118a20e64", + "md5": "807b91d2bf5e18de555e56de37e487d1", + "sha256": "3980fa5633b16f944641bf2fba3f49b8b9b9de6ffea7be1e142792393bf1a867", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "C", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [ + { + "key": "zlib", + "score": 100.0, + "name": "ZLIB License", + "short_name": "ZLIB License", + "category": "Permissive", + "is_exception": false, + "is_unknown": false, + "owner": "zlib", + "homepage_url": "http://www.zlib.net/", + "text_url": "http://www.gzip.org/zlib/zlib_license.html", + "reference_url": "https://scancode-licensedb.aboutcode.org/zlib", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.yml", + "spdx_license_key": "Zlib", + "spdx_url": "https://spdx.org/licenses/Zlib", + "start_line": 3, + "end_line": 3, + "matched_rule": { + "identifier": "zlib_5.RULE", + "license_expression": "zlib", + "licenses": [ + "zlib" + ], + "referenced_filenames": [ + "zlib.h" + ], + "is_license_text": false, + "is_license_notice": false, + "is_license_reference": true, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 12, + "matched_length": 12, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "zlib" + ], + "percentage_of_license_text": 20.34, + "copyrights": [ + { + "copyright": "Copyright (c) 1995-2013 Jean-loup Gailly", + "start_line": 2, + "end_line": 2 + } + ], + "holders": [ + { + "holder": "Jean-loup Gailly", + "start_line": 2, + "end_line": 2 + } + ], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "summary": { + "license_expressions": [ + { + "value": "zlib", + "count": 1 + } + ], + "copyrights": [ + { + "value": "Copyright (c) Jean-loup Gailly", + "count": 1 + } + ], + "holders": [ + { + "value": "Jean-loup Gailly", + "count": 1 + } + ], + "authors": [ + { + "value": null, + "count": 1 + } + ], + "programming_language": [ + { + "value": "C", + "count": 1 + } + ] + }, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/cc0-1.0.LICENSE", + "type": "file", + "name": "cc0-1.0.LICENSE", + "base_name": "cc0-1.0", + "extension": ".LICENSE", + "size": 6433, + "sha1": "172444e7c137eb5cd3cae530aca0879c90f7fada", + "md5": "57f047ea87f405486a94bc5a56ba7fcf", + "sha256": "963aabe87f6a51ca9c237669034a9fdecd71df7350eaf30bdf0718f63c5a94f8", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": null, + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "licenses": [ + { + "key": "cc0-1.0", + "score": 99.69, + "name": "Creative Commons CC0 1.0 Universal", + "short_name": "CC0-1.0", + "category": "Public Domain", + "is_exception": false, + "is_unknown": false, + "owner": "Creative Commons", + "homepage_url": "http://creativecommons.org/publicdomain/zero/1.0/", + "text_url": "http://creativecommons.org/publicdomain/zero/1.0/legalcode", + "reference_url": "https://scancode-licensedb.aboutcode.org/cc0-1.0", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/cc0-1.0.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/cc0-1.0.yml", + "spdx_license_key": "CC0-1.0", + "spdx_url": "https://spdx.org/licenses/CC0-1.0", + "start_line": 1, + "end_line": 98, + "matched_rule": { + "identifier": "cc0-1.0_155.RULE", + "license_expression": "cc0-1.0", + "licenses": [ + "cc0-1.0" + ], + "referenced_filenames": [], + "is_license_text": true, + "is_license_notice": false, + "is_license_reference": false, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "3-seq", + "rule_length": 981, + "matched_length": 978, + "match_coverage": 99.69, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "cc0-1.0" + ], + "percentage_of_license_text": 100.0, + "copyrights": [], + "holders": [], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "summary": { + "license_expressions": [ + { + "value": "cc0-1.0", + "count": 1 + } + ], + "copyrights": [ + { + "value": null, + "count": 1 + } + ], + "holders": [ + { + "value": null, + "count": 1 + } + ], + "authors": [ + { + "value": null, + "count": 1 + } + ], + "programming_language": [ + { + "value": null, + "count": 1 + } + ] + }, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/package.json", + "type": "file", + "name": "package.json", + "base_name": "package", + "extension": ".json", + "size": 37904, + "sha1": "dfc6c1274bd31b47d5cc482af0c0dad9d30eccaa", + "md5": "62b51527599b11b32361699c75b05683", + "sha256": "8b54b0b90570e4b0d5b8c8520e4b5a8258ae15849ec1919f57da093f5df84f38", + "mime_type": "application/json", + "file_type": "JSON data", + "programming_language": null, + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "licenses": [ + { + "key": "artistic-2.0", + "score": 100.0, + "name": "Artistic License 2.0", + "short_name": "Artistic 2.0", + "category": "Copyleft Limited", + "is_exception": false, + "is_unknown": false, + "owner": "Perl Foundation", + "homepage_url": "http://www.perlfoundation.org/", + "text_url": "https://www.perlfoundation.org/artistic_license_2_0", + "reference_url": "https://scancode-licensedb.aboutcode.org/artistic-2.0", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/artistic-2.0.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/artistic-2.0.yml", + "spdx_license_key": "Artistic-2.0", + "spdx_url": "https://spdx.org/licenses/Artistic-2.0", + "start_line": 198, + "end_line": 198, + "matched_rule": { + "identifier": "artistic-2.0_46.RULE", + "license_expression": "artistic-2.0", + "licenses": [ + "artistic-2.0" + ], + "referenced_filenames": [], + "is_license_text": false, + "is_license_notice": false, + "is_license_reference": false, + "is_license_tag": true, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 4, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "artistic-2.0" + ], + "percentage_of_license_text": 0.1, + "copyrights": [], + "holders": [], + "authors": [ + { + "author": "name' Isaac Z.", + "start_line": 16, + "end_line": 17 + } + ], + "package_data": [ + { + "type": "npm", + "namespace": null, + "name": "npm", + "version": "2.13.5", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": "a package manager for JavaScript", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Isaac Z. Schlueter", + "email": "i@izs.me", + "url": "http://blog.izs.me" + }, + { + "type": "person", + "role": "contributor", + "name": "Isaac Z. Schlueter", + "email": "i@izs.me", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Steve Steiner", + "email": "ssteinerX@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mikeal Rogers", + "email": "mikeal.rogers@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Aaron Blohowiak", + "email": "aaron.blohowiak@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Martyn Smith", + "email": "martyn@dollyfish.net.nz", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Charlie Robbins", + "email": "charlie.robbins@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Francisco Treacy", + "email": "francisco.treacy@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Cliffano Subagio", + "email": "cliffano@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Christian Eager", + "email": "christian.eager@nokia.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Dav Glass", + "email": "davglass@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Alex K. Wolfe", + "email": "alexkwolfe@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "James Sanders", + "email": "jimmyjazz14@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Reid Burke", + "email": "me@reidburke.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Arlo Breault", + "email": "arlolra@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Timo Derstappen", + "email": "teemow@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Bart Teeuwisse", + "email": "bart.teeuwisse@thecodemill.biz", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ben Noordhuis", + "email": "info@bnoordhuis.nl", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Tor Valamo", + "email": "tor.valamo@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Whyme.Lyu", + "email": "5longluna@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Olivier Melcher", + "email": "olivier.melcher@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Toma\u017e Muraus", + "email": "kami@k5-storitve.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Evan Meagher", + "email": "evan.meagher@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Orlando Vazquez", + "email": "ovazquez@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kai Chen", + "email": "kaichenxyz@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "George Miroshnykov", + "email": "gmiroshnykov@lohika.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Geoff Flarity", + "email": "geoff.flarity@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Max Goodman", + "email": "c@chromakode.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Pete Kruckenberg", + "email": "pete@kruckenberg.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Laurie Harper", + "email": "laurie@holoweb.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Chris Wong", + "email": "chris@chriswongstudio.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Scott Bronson", + "email": "brons_github@rinspin.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Federico Romero", + "email": "federomero@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Visnu Pitiyanuvath", + "email": "visnupx@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Irakli Gozalishvili", + "email": "rfobic@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mark Cahill", + "email": "mark@tiemonster.info", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Tony", + "email": "zearin@gonk.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Iain Sproat", + "email": "iainsproat@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Trent Mick", + "email": "trentm@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Felix Geisendo\u0308rfer", + "email": "felix@debuggable.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jameson Little", + "email": "t.jameson.little@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Conny Brunnkvist", + "email": "conny@fuchsia.se", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Will Elwood", + "email": "w.elwood08@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Dean Landolt", + "email": "dean@deanlandolt.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Oleg Efimov", + "email": "efimovov@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Martin Cooper", + "email": "mfncooper@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jann Horn", + "email": "jannhorn@googlemail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Andrew Bradley", + "email": "cspotcode@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Maciej Ma\u0142ecki", + "email": "me@mmalecki.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Stephen Sugden", + "email": "glurgle@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Michael Budde", + "email": "mbudde@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jason Smith", + "email": "jhs@iriscouch.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Gautham Pai", + "email": "buzypi@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "David Trejo", + "email": "david.daniel.trejo@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Paul Vorbach", + "email": "paul@vorb.de", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "George Ornbo", + "email": "george@shapeshed.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Tim Oxley", + "email": "secoif@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Tyler Green", + "email": "tyler.green2@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Dave Pacheco", + "email": "dap@joyent.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Danila Gerasimov", + "email": "danila.gerasimov@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Rod Vagg", + "email": "rod@vagg.org", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Christian Howe", + "email": "coderarity@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Andrew Lunny", + "email": "alunny@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Henrik Hodne", + "email": "dvyjones@binaryhex.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Adam Blackburn", + "email": "regality@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kris Windham", + "email": "kriswindham@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jens Grunert", + "email": "jens.grunert@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Joost-Wim Boekesteijn", + "email": "joost-wim@boekesteijn.nl", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Dalmais Maxence", + "email": "root@ip-10-195-202-5.ec2.internal", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Marcus Ekwall", + "email": "marcus.ekwall@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Aaron Stacy", + "email": "aaron.r.stacy@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Phillip Howell", + "email": "phowell@cothm.org", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Domenic Denicola", + "email": "domenic@domenicdenicola.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "James Halliday", + "email": "mail@substack.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jeremy Cantrell", + "email": "jmcantrell@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ribettes", + "email": "patlogan29@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Don Park", + "email": "donpark@docuverse.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Einar Otto Stangvik", + "email": "einaros@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kei Son", + "email": "heyacct@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Nicolas Morel", + "email": "marsup@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mark Dube", + "email": "markisdee@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Nathan Rajlich", + "email": "nathan@tootallnate.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Maxim Bogushevich", + "email": "boga1@mail.ru", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Meaglin", + "email": "Meaglin.wasabi@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ben Evans", + "email": "ben@bensbit.co.uk", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Nathan Zadoks", + "email": "nathan@nathan7.eu", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Brian White", + "email": "mscdex@mscdex.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jed Schmidt", + "email": "tr@nslator.jp", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ian Livingstone", + "email": "ianl@cs.dal.ca", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Patrick Pfeiffer", + "email": "patrick@buzzle.at", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Paul Miller", + "email": "paul@paulmillr.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ryan Emery", + "email": "seebees@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Carl Lange", + "email": "carl@flax.ie", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jan Lehnardt", + "email": "jan@apache.org", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Stuart P. Bentley", + "email": "stuart@testtrack4.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Johan Sk\u00f6ld", + "email": "johan@skold.cc", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Stuart Knightley", + "email": "stuart@stuartk.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Niggler", + "email": "nirk.niggler@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Paolo Fragomeni", + "email": "paolo@async.ly", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jaakko Manninen", + "email": "jaakko@rocketpack.fi", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Luke Arduini", + "email": "luke.arduini@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Larz Conwell", + "email": "larz@larz-laptop.(none)", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Marcel Klehr", + "email": "mklehr@gmx.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Robert Kowalski", + "email": "rok@kowalski.gd", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Forbes Lindesay", + "email": "forbes@lindesay.co.uk", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Vaz Allen", + "email": "vaz@tryptid.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jake Verbaten", + "email": "raynos2@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Schabse Laks", + "email": "Dev@SLaks.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Florian Margaine", + "email": "florian@margaine.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Johan Nordberg", + "email": "its@johan-nordberg.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ian Babrou", + "email": "ibobrik@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Di Wu", + "email": "dwu@palantir.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mathias Bynens", + "email": "mathias@qiwi.be", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Matt McClure", + "email": "matt.mcclure@mapmyfitness.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Matt Lunn", + "email": "matt@mattlunn.me.uk", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Alexey Kreschuk", + "email": "akrsch@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "elisee", + "email": "elisee@sparklin.org", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Robert Gieseke", + "email": "robert.gieseke@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Franc\u0327ois Frisch", + "email": "francoisfrisch@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Trevor Burnham", + "email": "tburnham@hubspot.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Alan Shaw", + "email": "alan@freestyle-developments.co.uk", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "TJ Holowaychuk", + "email": "tj@vision-media.ca", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Nicholas Kinsey", + "email": "pyro@feisty.io", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Paulo Cesar", + "email": "pauloc062@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Elan Shanker", + "email": "elan.shanker@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jon Spencer", + "email": "jon@jonspencer.ca", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jason Diamond", + "email": "jason@diamond.name", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Maximilian Antoni", + "email": "mail@maxantoni.de", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Thom Blake", + "email": "tblake@brightroll.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jess Martin", + "email": "jessmartin@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Spain Train", + "email": "michael.spainhower@opower.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Alex Rodionov", + "email": "p0deje@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Matt Colyer", + "email": "matt@colyer.name", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Evan You", + "email": "yyx990803@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "bitspill", + "email": "bitspill+github@bitspill.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Gabriel Falkenberg", + "email": "gabriel.falkenberg@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Alexej Yaroshevich", + "email": "alex@qfox.ru", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Quim Calpe", + "email": "quim@kalpe.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Steve Mason", + "email": "stevem@brandwatch.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Wil Moore III", + "email": "wil.moore@wilmoore.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Sergey Belov", + "email": "peimei@ya.ru", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Tom Huang", + "email": "hzlhu.dargon@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "CamilleM", + "email": "camille.moulin@alterway.fr", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "S\u00e9bastien Santoro", + "email": "dereckson@espace-win.org", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Evan Lucas", + "email": "evan@btc.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Quinn Slack", + "email": "qslack@qslack.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Alex Kocharin", + "email": "alex@kocharin.ru", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Daniel Santiago", + "email": "daniel.santiago@highlevelwebs.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Denis Gladkikh", + "email": "outcoldman@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Andrew Horton", + "email": "andrew.j.horton@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Zeke Sikelianos", + "email": "zeke@sikelianos.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Dylan Greene", + "email": "dylang@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Franck Cuny", + "email": "franck.cuny@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Yeonghoon Park", + "email": "sola92@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Rafael de Oleza", + "email": "rafa@spotify.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mikola Lysenko", + "email": "mikolalysenko@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Yazhong Liu", + "email": "yorkiefixer@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Neil Gentleman", + "email": "ngentleman@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kris Kowal", + "email": "kris.kowal@cixar.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Alex Gorbatchev", + "email": "alex.gorbatchev@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Shawn Wildermuth", + "email": "shawn@wildermuth.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Wesley de Souza", + "email": "wesleywex@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "yoyoyogi", + "email": "yogesh.k@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "J. Tangelder", + "email": "j.tangelder@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jean Lauliac", + "email": "jean@lauliac.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Andrey Kislyuk", + "email": "kislyuk@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Thorsten Lorenz", + "email": "thlorenz@gmx.de", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Julian Gruber", + "email": "julian@juliangruber.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Benjamin Coe", + "email": "bencoe@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Alex Ford", + "email": "Alex.Ford@CodeTunnel.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Matt Hickford", + "email": "matt.hickford@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Sean McGivern", + "email": "sean.mcgivern@rightscale.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "C J Silverio", + "email": "ceejceej@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Robin Tweedie", + "email": "robin@songkick.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Miroslav Bajto\u0161", + "email": "miroslav@strongloop.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "David Glasser", + "email": "glasser@davidglasser.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Gianluca Casati", + "email": "casati_gianluca@yahoo.it", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Forrest L Norvell", + "email": "ogd@aoaioxxysz.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Karsten Tinnefeld", + "email": "k.tinnefeld@googlemail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Bryan Burgers", + "email": "bryan@burgers.io", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "David Beitey", + "email": "david@davidjb.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Evan You", + "email": "yyou@google.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Zach Pomerantz", + "email": "zmp@umich.edu", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Chris Williams", + "email": "cwilliams88@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "sudodoki", + "email": "smd.deluzion@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mick Thompson", + "email": "dthompson@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Felix Rabe", + "email": "felix@rabe.io", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Michael Hayes", + "email": "michael@hayes.io", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Chris Dickinson", + "email": "christopher.s.dickinson@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Bradley Meck", + "email": "bradley.meck@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "GeJ", + "email": "geraud@gcu.info", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Andrew Terris", + "email": "atterris@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Michael Nisi", + "email": "michael.nisi@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "fengmk2", + "email": "fengmk2@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Adam Meadows", + "email": "adam.meadows@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Chulki Lee", + "email": "chulki.lee@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "\u4e0d\u56db", + "email": "busi.hyy@taobao.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "dead_horse", + "email": "dead_horse@qq.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kenan Yildirim", + "email": "kenan@kenany.me", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Laurie Voss", + "email": "git@seldo.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Rebecca Turner", + "email": "me@re-becca.org", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Hunter Loftis", + "email": "hunter@hunterloftis.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Peter Richardson", + "email": "github@zoomy.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jussi Kalliokoski", + "email": "jussi.kalliokoski@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Filip Weiss", + "email": "me@fiws.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Timo Wei\u00df", + "email": "timoweiss@Timo-MBP.local", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Christopher Hiller", + "email": "chiller@badwing.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "J\u00e9r\u00e9my Lal", + "email": "kapouer@melix.org", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Anders Janmyr", + "email": "anders@janmyr.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Chris Meyers", + "email": "chris.meyers.fsu@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ludwig Magnusson", + "email": "ludwig@mediatool.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Wout Mertens", + "email": "Wout.Mertens@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Nick Santos", + "email": "nick@medium.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Terin Stock", + "email": "terinjokes@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Faiq Raza", + "email": "faiqrazarizvi@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Thomas Torp", + "email": "thomas@erupt.no", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Sam Mikes", + "email": "smikes@cubane.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mat Tyndall", + "email": "mat.tyndall@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Tauren Mills", + "email": "tauren@sportzing.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ron Martinez", + "email": "ramartin.net@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kazuhito Hokamura", + "email": "k.hokamura@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Tristan Davies", + "email": "github@tristan.io", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "David Volm", + "email": "david@volminator.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Lin Clark", + "email": "lin.w.clark@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ben Page", + "email": "bpage@dewalch.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jeff Jo", + "email": "jeffjo@squareup.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "martinvd", + "email": "martinvdpub@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mark J. Titorenko", + "email": "nospam-github.com@titorenko.net", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Oddur Sigurdsson", + "email": "oddurs@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Eric Mill", + "email": "eric@konklone.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Gabriel Barros", + "email": "descartavel1@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "KevinSheedy", + "email": "kevinsheedy@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Aleksey Smolenchuk", + "email": "aleksey@uber.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ed Morley", + "email": "emorley@mozilla.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Blaine Bublitz", + "email": "blaine@iceddev.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Andrey Fedorov", + "email": "anfedorov@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Daijiro Wachi", + "email": "daijiro.wachi@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Luc Thevenard", + "email": "lucthevenard@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Aria Stewart", + "email": "aredridel@nbtsc.org", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Charlie Rudolph", + "email": "charles.w.rudolph@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Vladimir Rutsky", + "email": "rutsky@users.noreply.github.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Isaac Murchie", + "email": "isaac@saucelabs.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Marcin Wosinek", + "email": "marcin.wosinek@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "David Marr", + "email": "davemarr@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Bryan English", + "email": "bryan@bryanenglish.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Anthony Zotti", + "email": "amZotti@users.noreply.github.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Karl Horky", + "email": "karl.horky@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jordan Harband", + "email": "ljharb@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Gu\u00f0laugur Stef\u00e1n Egilsson", + "email": "gulli@kolibri.is", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Helge Skogly Holm", + "email": "helge.holm@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Peter A. Shevtsov", + "email": "petr.shevtsov@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Alain Kalker", + "email": "a.c.kalker@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Bryant Williams", + "email": "b.n.williams@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jonas Weber", + "email": "github@jonasw.de", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Tim Whidden", + "email": "twhid@twhid.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Andreas", + "email": "functino@users.noreply.github.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Karolis Narkevicius", + "email": "karolis.n@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Adrian Lynch", + "email": "adi_ady_ade@hotmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Richard Littauer", + "email": "richard.littauer@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Oli Evans", + "email": "oli@zilla.org.uk", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Matt Brennan", + "email": "mattyb1000@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jeff Barczewski", + "email": "jeff.barczewski@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Danny Fritz", + "email": "dannyfritz@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Takaya Kobayashi", + "email": "jigsaw@live.jp", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ra'Shaun Stovall", + "email": "rashaunstovall@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Julien Meddah", + "email": "julien.meddah@deveryware.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Michiel Sikma", + "email": "michiel@wedemandhtml.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jakob Krigovsky", + "email": "jakob.krigovsky@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Charmander", + "email": "~@charmander.me", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Erik Wienhold", + "email": "git@ewie.name", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "James Butler", + "email": "james.butler@sandfox.co.uk", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kevin Kragenbrink", + "email": "kevin@gaikai.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Arnaud Rinquin", + "email": "rinquin.arnaud@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Mike MacCana", + "email": "mike.maccana@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Antti Mattila", + "email": "anttti@fastmail.fm", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "laiso", + "email": "laiso@lai.so", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Matt Zorn", + "email": "zornme@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kyle Mitchell", + "email": "kyle@kemitchell.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Jeremiah Senkpiel", + "email": "fishrock123@rocketmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Michael Klein", + "email": "mischkl@users.noreply.github.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Simen Bekkhus", + "email": "sbekkhus91@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Victor", + "email": "victor.shih@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "thefourtheye", + "email": "thechargingvolcano@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Clay Carpenter", + "email": "claycarpenter@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "bangbang93", + "email": "bangbang93@163.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Nick Malaguti", + "email": "nmalaguti@palantir.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Cedric Nelson", + "email": "cedric.nelson@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kat March\u00e1n", + "email": "kzm@sykosomatic.org", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Andrew", + "email": "talktome@aboutandrew.co.uk", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Eduardo Pinho", + "email": "enet4mikeenet@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Rachel Hutchison", + "email": "rhutchix@intel.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Ryan Temple", + "email": "ryantemple145@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Eugene Sharygin", + "email": "eush77@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Nick Heiner", + "email": "nick.heiner@opower.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "James Talmage", + "email": "james@talmage.io", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "jane arc", + "email": "jane@uber.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Joseph Dykstra", + "email": "josephdykstra@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Joshua Egan", + "email": "josh-egan@users.noreply.github.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Thomas Cort", + "email": "thomasc@ssimicro.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Thaddee Tyl", + "email": "thaddee.tyl@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Steve Klabnik", + "email": "steve@steveklabnik.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Andrew Murray", + "email": "radarhere@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Stephan B\u00f6nnemann", + "email": "stephan@excellenteasy.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Kyle M. Tarplee", + "email": "kyle.tarplee@numerica.us", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Derek Peterson", + "email": "derekpetey@gmail.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "Greg Whiteley", + "email": "greg.whiteley@atomos.com", + "url": null + }, + { + "type": "person", + "role": "contributor", + "name": "murgatroid99", + "email": "mlumish@google.com", + "url": null + }, + { + "type": "person", + "role": "maintainer", + "name": "isaacs", + "email": "isaacs@npmjs.com", + "url": null + }, + { + "type": "person", + "role": "maintainer", + "name": "othiym23", + "email": "ogd@aoaioxxysz.net", + "url": null + }, + { + "type": "person", + "role": "maintainer", + "name": "iarna", + "email": "me@re-becca.org", + "url": null + }, + { + "type": "person", + "role": "maintainer", + "name": "zkat", + "email": "kat@sykosomatic.org", + "url": null + } + ], + "keywords": [ + "package manager", + "modules", + "install", + "package.json" + ], + "homepage_url": "https://docs.npmjs.com/", + "download_url": "https://registry.npmjs.org/npm/-/npm-2.13.5.tgz", + "size": null, + "sha1": "a124386bce4a90506f28ad4b1d1a804a17baaf32", + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": "http://github.com/npm/npm/issues", + "code_view_url": null, + "vcs_url": "git+https://github.com/npm/npm.git@fc7bbf03e39cc48a8924b90696d28345a6a90f3c", + "copyright": null, + "license_expression": "artistic-2.0", + "declared_license": [ + "Artistic-2.0" + ], + "notice_text": null, + "source_packages": [], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:npm/abbrev", + "extracted_requirement": "~1.0.7", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/ansi", + "extracted_requirement": "~0.3.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/ansicolors", + "extracted_requirement": "~0.3.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/ansistyles", + "extracted_requirement": "~0.1.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/archy", + "extracted_requirement": "~1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/async-some", + "extracted_requirement": "~1.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/block-stream", + "extracted_requirement": "0.0.8", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/char-spinner", + "extracted_requirement": "~1.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/chmodr", + "extracted_requirement": "~1.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/chownr", + "extracted_requirement": "0.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/cmd-shim", + "extracted_requirement": "~2.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/columnify", + "extracted_requirement": "~1.5.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/config-chain", + "extracted_requirement": "~1.1.9", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/dezalgo", + "extracted_requirement": "~1.0.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/editor", + "extracted_requirement": "~1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/fs-vacuum", + "extracted_requirement": "~1.2.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/fs-write-stream-atomic", + "extracted_requirement": "~1.0.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/fstream", + "extracted_requirement": "~1.0.7", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/fstream-npm", + "extracted_requirement": "~1.0.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/github-url-from-git", + "extracted_requirement": "~1.4.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/github-url-from-username-repo", + "extracted_requirement": "~1.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/glob", + "extracted_requirement": "~5.0.14", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/graceful-fs", + "extracted_requirement": "~4.1.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/hosted-git-info", + "extracted_requirement": "~2.1.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/inflight", + "extracted_requirement": "~1.0.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/inherits", + "extracted_requirement": "~2.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/ini", + "extracted_requirement": "~1.3.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/init-package-json", + "extracted_requirement": "~1.7.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/lockfile", + "extracted_requirement": "~1.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/lru-cache", + "extracted_requirement": "~2.6.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/minimatch", + "extracted_requirement": "~2.0.10", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/mkdirp", + "extracted_requirement": "~0.5.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/node-gyp", + "extracted_requirement": "~2.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/nopt", + "extracted_requirement": "~3.0.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/normalize-git-url", + "extracted_requirement": "~3.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/normalize-package-data", + "extracted_requirement": "~2.3.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/npm-cache-filename", + "extracted_requirement": "~1.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/npm-install-checks", + "extracted_requirement": "~1.0.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/npm-package-arg", + "extracted_requirement": "~4.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/npm-registry-client", + "extracted_requirement": "~6.5.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/npm-user-validate", + "extracted_requirement": "~0.1.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/npmlog", + "extracted_requirement": "~1.2.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/once", + "extracted_requirement": "~1.3.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/opener", + "extracted_requirement": "~1.4.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/osenv", + "extracted_requirement": "~0.1.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/path-is-inside", + "extracted_requirement": "~1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/read", + "extracted_requirement": "~1.0.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/read-installed", + "extracted_requirement": "~4.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/read-package-json", + "extracted_requirement": "~2.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/readable-stream", + "extracted_requirement": "~1.1.13", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/realize-package-specifier", + "extracted_requirement": "~3.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/request", + "extracted_requirement": "~2.60.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/retry", + "extracted_requirement": "~0.6.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/rimraf", + "extracted_requirement": "~2.4.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/semver", + "extracted_requirement": "~5.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/sha", + "extracted_requirement": "~1.3.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/slide", + "extracted_requirement": "~1.1.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/sorted-object", + "extracted_requirement": "~1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/spdx", + "extracted_requirement": "~0.4.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/tar", + "extracted_requirement": "~2.1.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/text-table", + "extracted_requirement": "~0.2.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/uid-number", + "extracted_requirement": "0.0.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/umask", + "extracted_requirement": "~1.1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/validate-npm-package-name", + "extracted_requirement": "~2.2.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/which", + "extracted_requirement": "~1.1.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/wrappy", + "extracted_requirement": "~1.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/write-file-atomic", + "extracted_requirement": "~1.1.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/validate-npm-package-license", + "extracted_requirement": "*", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/deep-equal", + "extracted_requirement": "~1.0.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/marked", + "extracted_requirement": "~0.3.3", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/marked-man", + "extracted_requirement": "~0.1.5", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/nock", + "extracted_requirement": "~2.10.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/npm-registry-couchapp", + "extracted_requirement": "~2.6.7", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/npm-registry-mock", + "extracted_requirement": "~1.0.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/require-inject", + "extracted_requirement": "~1.2.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/sprintf-js", + "extracted_requirement": "~1.0.2", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/tap", + "extracted_requirement": "~1.3.1", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + } + ], + "purl": "pkg:npm/npm@2.13.5", + "repository_homepage_url": "https://www.npmjs.com/package/npm", + "repository_download_url": "https://registry.npmjs.org/npm/-/npm-2.13.5.tgz", + "api_data_url": "https://registry.npmjs.org/npm/2.13.5" + } + ], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "summary": { + "license_expressions": [ + { + "value": "artistic-2.0", + "count": 1 + } + ], + "copyrights": [ + { + "value": null, + "count": 1 + } + ], + "holders": [ + { + "value": null, + "count": 1 + } + ], + "authors": [ + { + "value": "name' Isaac Z.", + "count": 1 + } + ], + "programming_language": [ + { + "value": null, + "count": 1 + } + ] + }, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/zlib", + "type": "directory", + "name": "zlib", + "base_name": "zlib", + "extension": "", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "licenses": [], + "license_expressions": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "package_data": [], + "for_packages": [], + "summary": { + "license_expressions": [ + { + "value": "zlib", + "count": 9 + }, + { + "value": "boost-1.0", + "count": 1 + }, + { + "value": "gpl-2.0-plus WITH ada-linking-exception", + "count": 1 + }, + { + "value": "mit-old-style", + "count": 1 + } + ], + "copyrights": [ + { + "value": "Copyright (c) Jean-loup Gailly", + "count": 3 + }, + { + "value": "Copyright (c) Mark Adler", + "count": 3 + }, + { + "value": "Copyright (c) Jean-loup Gailly and Mark Adler", + "count": 2 + }, + { + "value": "Copyright (c) Christian Michelsen Research AS Advanced Computing", + "count": 1 + }, + { + "value": "Copyright (c) Dmitriy Anisimkov", + "count": 1 + }, + { + "value": "Copyright (c) Jean-loup Gailly, Brian Raiter and Gilles Vollant", + "count": 1 + }, + { + "value": "Copyright (c) by Henrik Ravn", + "count": 1 + }, + { + "value": "Copyright Henrik Ravn", + "count": 1 + } + ], + "holders": [ + { + "value": "Jean-loup Gailly", + "count": 3 + }, + { + "value": "Mark Adler", + "count": 3 + }, + { + "value": "Henrik Ravn", + "count": 2 + }, + { + "value": "Jean-loup Gailly and Mark Adler", + "count": 2 + }, + { + "value": "Christian Michelsen Research AS Advanced Computing", + "count": 1 + }, + { + "value": "Dmitriy Anisimkov", + "count": 1 + }, + { + "value": "Jean-loup Gailly, Brian Raiter and Gilles Vollant", + "count": 1 + } + ], + "authors": [ + { + "value": null, + "count": 12 + }, + { + "value": "Gilles Vollant", + "count": 1 + } + ], + "programming_language": [ + { + "value": "C", + "count": 9 + }, + { + "value": "C#", + "count": 2 + }, + { + "value": "GAS", + "count": 1 + } + ] + }, + "files_count": 13, + "dirs_count": 5, + "size_count": 7951, + "scan_errors": [] + }, + { + "path": "scan/zlib/ada", + "type": "directory", + "name": "ada", + "base_name": "ada", + "extension": "", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "licenses": [], + "license_expressions": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "package_data": [], + "for_packages": [], + "summary": { + "license_expressions": [ + { + "value": "gpl-2.0-plus WITH ada-linking-exception", + "count": 1 + } + ], + "copyrights": [ + { + "value": "Copyright (c) Dmitriy Anisimkov", + "count": 1 + } + ], + "holders": [ + { + "value": "Dmitriy Anisimkov", + "count": 1 + } + ], + "authors": [ + { + "value": null, + "count": 1 + } + ], + "programming_language": [] + }, + "files_count": 1, + "dirs_count": 0, + "size_count": 2054, + "scan_errors": [] + }, + { + "path": "scan/zlib/ada/zlib.ads", + "type": "file", + "name": "zlib.ads", + "base_name": "zlib", + "extension": ".ads", + "size": 2054, + "sha1": "93b3e6e5822c350a9c12e69a2848e29767777002", + "md5": "4e58eb393ad904c1de81a9ca5b9e392c", + "sha256": "8e6da5a880c0547bac5b71f0f123164511ae17e3c7d7f424e4ec5b44e1cae731", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": null, + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "licenses": [ + { + "key": "gpl-2.0-plus", + "score": 100.0, + "name": "GNU General Public License 2.0 or later", + "short_name": "GPL 2.0 or later", + "category": "Copyleft", + "is_exception": false, + "is_unknown": false, + "owner": "Free Software Foundation (FSF)", + "homepage_url": "http://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html", + "text_url": "http://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html", + "reference_url": "https://scancode-licensedb.aboutcode.org/gpl-2.0-plus", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/gpl-2.0-plus.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/gpl-2.0-plus.yml", + "spdx_license_key": "GPL-2.0-or-later", + "spdx_url": "https://spdx.org/licenses/GPL-2.0-or-later", + "start_line": 6, + "end_line": 25, + "matched_rule": { + "identifier": "gpl-2.0-plus_with_ada-linking-exception_1.RULE", + "license_expression": "gpl-2.0-plus WITH ada-linking-exception", + "licenses": [ + "gpl-2.0-plus", + "ada-linking-exception" + ], + "referenced_filenames": [], + "is_license_text": false, + "is_license_notice": true, + "is_license_reference": false, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 176, + "matched_length": 176, + "match_coverage": 100.0, + "rule_relevance": 100 + } + }, + { + "key": "ada-linking-exception", + "score": 100.0, + "name": "Ada linking exception to GPL 2.0 or later", + "short_name": "Ada linking exception to GPL 2.0 or later", + "category": "Copyleft Limited", + "is_exception": true, + "is_unknown": false, + "owner": "Dmitriy Anisimkov", + "homepage_url": null, + "text_url": "", + "reference_url": "https://scancode-licensedb.aboutcode.org/ada-linking-exception", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/ada-linking-exception.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/ada-linking-exception.yml", + "spdx_license_key": "LicenseRef-scancode-ada-linking-exception", + "spdx_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/ada-linking-exception.LICENSE", + "start_line": 6, + "end_line": 25, + "matched_rule": { + "identifier": "gpl-2.0-plus_with_ada-linking-exception_1.RULE", + "license_expression": "gpl-2.0-plus WITH ada-linking-exception", + "licenses": [ + "gpl-2.0-plus", + "ada-linking-exception" + ], + "referenced_filenames": [], + "is_license_text": false, + "is_license_notice": true, + "is_license_reference": false, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 176, + "matched_length": 176, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "gpl-2.0-plus WITH ada-linking-exception" + ], + "percentage_of_license_text": 94.12, + "copyrights": [ + { + "copyright": "Copyright (c) 2002-2004 Dmitriy Anisimkov", + "start_line": 4, + "end_line": 4 + } + ], + "holders": [ + { + "holder": "Dmitriy Anisimkov", + "start_line": 4, + "end_line": 4 + } + ], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "summary": { + "license_expressions": [ + { + "value": "gpl-2.0-plus WITH ada-linking-exception", + "count": 1 + } + ], + "copyrights": [ + { + "value": "Copyright (c) Dmitriy Anisimkov", + "count": 1 + } + ], + "holders": [ + { + "value": "Dmitriy Anisimkov", + "count": 1 + } + ], + "authors": [ + { + "value": null, + "count": 1 + } + ], + "programming_language": [ + { + "value": null, + "count": 1 + } + ] + }, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/zlib/adler32.c", + "type": "file", + "name": "adler32.c", + "base_name": "adler32", + "extension": ".c", + "size": 179, + "sha1": "f98c6c82a570ac852801b46157c1540070d55358", + "md5": "48c4037f16b4670795fdf72e88cc278c", + "sha256": "fc1682e787ccc8d9eb83eb0b1f5acb59d22aa6ce1bff7c749a9dc315237b2240", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "C", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [ + { + "key": "zlib", + "score": 100.0, + "name": "ZLIB License", + "short_name": "ZLIB License", + "category": "Permissive", + "is_exception": false, + "is_unknown": false, + "owner": "zlib", + "homepage_url": "http://www.zlib.net/", + "text_url": "http://www.gzip.org/zlib/zlib_license.html", + "reference_url": "https://scancode-licensedb.aboutcode.org/zlib", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.yml", + "spdx_license_key": "Zlib", + "spdx_url": "https://spdx.org/licenses/Zlib", + "start_line": 3, + "end_line": 3, + "matched_rule": { + "identifier": "zlib_5.RULE", + "license_expression": "zlib", + "licenses": [ + "zlib" + ], + "referenced_filenames": [ + "zlib.h" + ], + "is_license_text": false, + "is_license_notice": false, + "is_license_reference": true, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 12, + "matched_length": 12, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "zlib" + ], + "percentage_of_license_text": 42.86, + "copyrights": [ + { + "copyright": "Copyright (c) 1995-2011 Mark Adler", + "start_line": 2, + "end_line": 2 + } + ], + "holders": [ + { + "holder": "Mark Adler", + "start_line": 2, + "end_line": 2 + } + ], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "summary": { + "license_expressions": [ + { + "value": "zlib", + "count": 1 + } + ], + "copyrights": [ + { + "value": "Copyright (c) Mark Adler", + "count": 1 + } + ], + "holders": [ + { + "value": "Mark Adler", + "count": 1 + } + ], + "authors": [ + { + "value": null, + "count": 1 + } + ], + "programming_language": [ + { + "value": "C", + "count": 1 + } + ] + }, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/zlib/deflate.c", + "type": "file", + "name": "deflate.c", + "base_name": "deflate", + "extension": ".c", + "size": 198, + "sha1": "4b4696c59e245cef0bad7334fdb63725ccfa218c", + "md5": "f11ed826baf25f2bfa9c610313460036", + "sha256": "ef7bf500e1accf7e91352788c92b5c6663bab52e2cd6c42284496518e4a5f054", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "C", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [ + { + "key": "zlib", + "score": 100.0, + "name": "ZLIB License", + "short_name": "ZLIB License", + "category": "Permissive", + "is_exception": false, + "is_unknown": false, + "owner": "zlib", + "homepage_url": "http://www.zlib.net/", + "text_url": "http://www.gzip.org/zlib/zlib_license.html", + "reference_url": "https://scancode-licensedb.aboutcode.org/zlib", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.yml", + "spdx_license_key": "Zlib", + "spdx_url": "https://spdx.org/licenses/Zlib", + "start_line": 3, + "end_line": 3, + "matched_rule": { + "identifier": "zlib_5.RULE", + "license_expression": "zlib", + "licenses": [ + "zlib" + ], + "referenced_filenames": [ + "zlib.h" + ], + "is_license_text": false, + "is_license_notice": false, + "is_license_reference": true, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 12, + "matched_length": 12, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "zlib" + ], + "percentage_of_license_text": 40.0, + "copyrights": [ + { + "copyright": "Copyright (c) 1995-2013 Jean-loup Gailly and Mark Adler", + "start_line": 2, + "end_line": 2 + } + ], + "holders": [ + { + "holder": "Jean-loup Gailly and Mark Adler", + "start_line": 2, + "end_line": 2 + } + ], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "summary": { + "license_expressions": [ + { + "value": "zlib", + "count": 1 + } + ], + "copyrights": [ + { + "value": "Copyright (c) Jean-loup Gailly and Mark Adler", + "count": 1 + } + ], + "holders": [ + { + "value": "Jean-loup Gailly and Mark Adler", + "count": 1 + } + ], + "authors": [ + { + "value": null, + "count": 1 + } + ], + "programming_language": [ + { + "value": "C", + "count": 1 + } + ] + }, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/zlib/deflate.h", + "type": "file", + "name": "deflate.h", + "base_name": "deflate", + "extension": ".h", + "size": 165, + "sha1": "a99a71ff971faf49a52ed6f7d3075fdffae8054b", + "md5": "d8821cd288e2be7fd83cdcac22a427ce", + "sha256": "a3c2fa63c7e730bdd008bc07b7d3865dc76781082b77a03d52a918ce1c7d3459", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "C", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [ + { + "key": "zlib", + "score": 100.0, + "name": "ZLIB License", + "short_name": "ZLIB License", + "category": "Permissive", + "is_exception": false, + "is_unknown": false, + "owner": "zlib", + "homepage_url": "http://www.zlib.net/", + "text_url": "http://www.gzip.org/zlib/zlib_license.html", + "reference_url": "https://scancode-licensedb.aboutcode.org/zlib", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.yml", + "spdx_license_key": "Zlib", + "spdx_url": "https://spdx.org/licenses/Zlib", + "start_line": 3, + "end_line": 3, + "matched_rule": { + "identifier": "zlib_5.RULE", + "license_expression": "zlib", + "licenses": [ + "zlib" + ], + "referenced_filenames": [ + "zlib.h" + ], + "is_license_text": false, + "is_license_notice": false, + "is_license_reference": true, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 12, + "matched_length": 12, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "zlib" + ], + "percentage_of_license_text": 50.0, + "copyrights": [ + { + "copyright": "Copyright (c) 1995-2012 Jean-loup Gailly", + "start_line": 2, + "end_line": 2 + } + ], + "holders": [ + { + "holder": "Jean-loup Gailly", + "start_line": 2, + "end_line": 2 + } + ], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "summary": { + "license_expressions": [ + { + "value": "zlib", + "count": 1 + } + ], + "copyrights": [ + { + "value": "Copyright (c) Jean-loup Gailly", + "count": 1 + } + ], + "holders": [ + { + "value": "Jean-loup Gailly", + "count": 1 + } + ], + "authors": [ + { + "value": null, + "count": 1 + } + ], + "programming_language": [ + { + "value": "C", + "count": 1 + } + ] + }, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/zlib/dotzlib", + "type": "directory", + "name": "dotzlib", + "base_name": "dotzlib", + "extension": "", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "licenses": [], + "license_expressions": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "package_data": [], + "for_packages": [], + "summary": { + "license_expressions": [ + { + "value": "boost-1.0", + "count": 1 + } + ], + "copyrights": [ + { + "value": "Copyright (c) by Henrik Ravn", + "count": 1 + }, + { + "value": "Copyright Henrik Ravn", + "count": 1 + } + ], + "holders": [ + { + "value": "Henrik Ravn", + "count": 2 + } + ], + "authors": [ + { + "value": null, + "count": 2 + } + ], + "programming_language": [ + { + "value": "C#", + "count": 2 + } + ] + }, + "files_count": 2, + "dirs_count": 0, + "size_count": 863, + "scan_errors": [] + }, + { + "path": "scan/zlib/dotzlib/AssemblyInfo.cs", + "type": "file", + "name": "AssemblyInfo.cs", + "base_name": "AssemblyInfo", + "extension": ".cs", + "size": 627, + "sha1": "cc7fcb4d721a7efe9eefa6bd2d9d0105d33203a8", + "md5": "dbd621f76cb27e2fd8b8e2d9d985ffcf", + "sha256": "8b257a625c537736ee3ac2321b4ef56ba8a6fa4f922a35b1a0e992f9327d39e9", + "mime_type": "text/plain", + "file_type": "ASCII text, with CRLF line terminators", + "programming_language": "C#", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [], + "license_expressions": [], + "percentage_of_license_text": 0, + "copyrights": [ + { + "copyright": "Copyright (c) 2004 by Henrik Ravn", + "start_line": 14, + "end_line": 14 + } + ], + "holders": [ + { + "holder": "Henrik Ravn", + "start_line": 14, + "end_line": 14 + } + ], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "summary": { + "license_expressions": [ + { + "value": null, + "count": 1 + } + ], + "copyrights": [ + { + "value": "Copyright (c) by Henrik Ravn", + "count": 1 + } + ], + "holders": [ + { + "value": "Henrik Ravn", + "count": 1 + } + ], + "authors": [ + { + "value": null, + "count": 1 + } + ], + "programming_language": [ + { + "value": "C#", + "count": 1 + } + ] + }, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/zlib/dotzlib/ChecksumImpl.cs", + "type": "file", + "name": "ChecksumImpl.cs", + "base_name": "ChecksumImpl", + "extension": ".cs", + "size": 236, + "sha1": "3043848212232cdde81eb3e20fca7f2447d944be", + "md5": "661652a0568e25d12fc9bfad2fdabfb2", + "sha256": "f3144ba734429b825e22c2f9048412e78c907e0142f2cdc629879b3a0fa63c89", + "mime_type": "text/plain", + "file_type": "UTF-8 Unicode text, with CRLF line terminators", + "programming_language": "C#", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [ + { + "key": "boost-1.0", + "score": 100.0, + "name": "Boost Software License 1.0", + "short_name": "Boost 1.0", + "category": "Permissive", + "is_exception": false, + "is_unknown": false, + "owner": "Boost", + "homepage_url": "http://www.boost.org/users/license.html", + "text_url": "http://www.boost.org/LICENSE_1_0.txt", + "reference_url": "https://scancode-licensedb.aboutcode.org/boost-1.0", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/boost-1.0.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/boost-1.0.yml", + "spdx_license_key": "BSL-1.0", + "spdx_url": "https://spdx.org/licenses/BSL-1.0", + "start_line": 4, + "end_line": 5, + "matched_rule": { + "identifier": "boost-1.0_21.RULE", + "license_expression": "boost-1.0", + "licenses": [ + "boost-1.0" + ], + "referenced_filenames": [ + "LICENSE_1_0.txt" + ], + "is_license_text": false, + "is_license_notice": true, + "is_license_reference": false, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 32, + "matched_length": 32, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "boost-1.0" + ], + "percentage_of_license_text": 88.89, + "copyrights": [ + { + "copyright": "Copyright Henrik Ravn 2004", + "start_line": 2, + "end_line": 2 + } + ], + "holders": [ + { + "holder": "Henrik Ravn", + "start_line": 2, + "end_line": 2 + } + ], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "summary": { + "license_expressions": [ + { + "value": "boost-1.0", + "count": 1 + } + ], + "copyrights": [ + { + "value": "Copyright Henrik Ravn", + "count": 1 + } + ], + "holders": [ + { + "value": "Henrik Ravn", + "count": 1 + } + ], + "authors": [ + { + "value": null, + "count": 1 + } + ], + "programming_language": [ + { + "value": "C#", + "count": 1 + } + ] + }, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/zlib/gcc_gvmat64", + "type": "directory", + "name": "gcc_gvmat64", + "base_name": "gcc_gvmat64", + "extension": "", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "licenses": [], + "license_expressions": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "package_data": [], + "for_packages": [], + "summary": { + "license_expressions": [ + { + "value": "zlib", + "count": 1 + } + ], + "copyrights": [ + { + "value": "Copyright (c) Jean-loup Gailly, Brian Raiter and Gilles Vollant", + "count": 1 + } + ], + "holders": [ + { + "value": "Jean-loup Gailly, Brian Raiter and Gilles Vollant", + "count": 1 + } + ], + "authors": [ + { + "value": "Gilles Vollant", + "count": 1 + } + ], + "programming_language": [ + { + "value": "GAS", + "count": 1 + } + ] + }, + "files_count": 1, + "dirs_count": 0, + "size_count": 1774, + "scan_errors": [] + }, + { + "path": "scan/zlib/gcc_gvmat64/gvmat64.S", + "type": "file", + "name": "gvmat64.S", + "base_name": "gvmat64", + "extension": ".S", + "size": 1774, + "sha1": "8dff93e95ccef023a871fb438784635b5df1d541", + "md5": "4f0d2f55d43d9466750350f8b27f0302", + "sha256": "1551b8fb1c2f1f3cc92c8e4f31730ebdde0c766caeca6d670a7758b55e3804f3", + "mime_type": "text/plain", + "file_type": "ASCII text, with CRLF line terminators", + "programming_language": "GAS", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [ + { + "key": "zlib", + "score": 100.0, + "name": "ZLIB License", + "short_name": "ZLIB License", + "category": "Permissive", + "is_exception": false, + "is_unknown": false, + "owner": "zlib", + "homepage_url": "http://www.zlib.net/", + "text_url": "http://www.gzip.org/zlib/zlib_license.html", + "reference_url": "https://scancode-licensedb.aboutcode.org/zlib", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.yml", + "spdx_license_key": "Zlib", + "spdx_url": "https://spdx.org/licenses/Zlib", + "start_line": 17, + "end_line": 31, + "matched_rule": { + "identifier": "zlib.LICENSE", + "license_expression": "zlib", + "licenses": [ + "zlib" + ], + "referenced_filenames": [], + "is_license_text": true, + "is_license_notice": false, + "is_license_reference": false, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 132, + "matched_length": 132, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "zlib" + ], + "percentage_of_license_text": 50.0, + "copyrights": [ + { + "copyright": "Copyright (c) 1995-2010 Jean-loup Gailly, Brian Raiter and Gilles Vollant", + "start_line": 10, + "end_line": 10 + } + ], + "holders": [ + { + "holder": "Jean-loup Gailly, Brian Raiter and Gilles Vollant", + "start_line": 10, + "end_line": 10 + } + ], + "authors": [ + { + "author": "Gilles Vollant", + "start_line": 12, + "end_line": 12 + } + ], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "summary": { + "license_expressions": [ + { + "value": "zlib", + "count": 1 + } + ], + "copyrights": [ + { + "value": "Copyright (c) Jean-loup Gailly, Brian Raiter and Gilles Vollant", + "count": 1 + } + ], + "holders": [ + { + "value": "Jean-loup Gailly, Brian Raiter and Gilles Vollant", + "count": 1 + } + ], + "authors": [ + { + "value": "Gilles Vollant", + "count": 1 + } + ], + "programming_language": [ + { + "value": "GAS", + "count": 1 + } + ] + }, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/zlib/infback9", + "type": "directory", + "name": "infback9", + "base_name": "infback9", + "extension": "", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "licenses": [], + "license_expressions": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "package_data": [], + "for_packages": [], + "summary": { + "license_expressions": [ + { + "value": "zlib", + "count": 2 + } + ], + "copyrights": [ + { + "value": "Copyright (c) Mark Adler", + "count": 2 + } + ], + "holders": [ + { + "value": "Mark Adler", + "count": 2 + } + ], + "authors": [ + { + "value": null, + "count": 2 + } + ], + "programming_language": [ + { + "value": "C", + "count": 2 + } + ] + }, + "files_count": 2, + "dirs_count": 0, + "size_count": 353, + "scan_errors": [] + }, + { + "path": "scan/zlib/infback9/infback9.c", + "type": "file", + "name": "infback9.c", + "base_name": "infback9", + "extension": ".c", + "size": 185, + "sha1": "299f7a056cf0e0ed7d5bd687c53f3247d809cab2", + "md5": "d570bd029ee2362f2a0927c87999773b", + "sha256": "03fb435669b57aa90fe00c4dbc12d8492ef87b6243427d1e1831006994ee1f80", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "C", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [ + { + "key": "zlib", + "score": 100.0, + "name": "ZLIB License", + "short_name": "ZLIB License", + "category": "Permissive", + "is_exception": false, + "is_unknown": false, + "owner": "zlib", + "homepage_url": "http://www.zlib.net/", + "text_url": "http://www.gzip.org/zlib/zlib_license.html", + "reference_url": "https://scancode-licensedb.aboutcode.org/zlib", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.yml", + "spdx_license_key": "Zlib", + "spdx_url": "https://spdx.org/licenses/Zlib", + "start_line": 3, + "end_line": 3, + "matched_rule": { + "identifier": "zlib_5.RULE", + "license_expression": "zlib", + "licenses": [ + "zlib" + ], + "referenced_filenames": [ + "zlib.h" + ], + "is_license_text": false, + "is_license_notice": false, + "is_license_reference": true, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 12, + "matched_length": 12, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "zlib" + ], + "percentage_of_license_text": 44.44, + "copyrights": [ + { + "copyright": "Copyright (c) 1995-2008 Mark Adler", + "start_line": 2, + "end_line": 2 + } + ], + "holders": [ + { + "holder": "Mark Adler", + "start_line": 2, + "end_line": 2 + } + ], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "summary": { + "license_expressions": [ + { + "value": "zlib", + "count": 1 + } + ], + "copyrights": [ + { + "value": "Copyright (c) Mark Adler", + "count": 1 + } + ], + "holders": [ + { + "value": "Mark Adler", + "count": 1 + } + ], + "authors": [ + { + "value": null, + "count": 1 + } + ], + "programming_language": [ + { + "value": "C", + "count": 1 + } + ] + }, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/zlib/infback9/infback9.h", + "type": "file", + "name": "infback9.h", + "base_name": "infback9", + "extension": ".h", + "size": 168, + "sha1": "c849edb4691d23e0db97d3f5da1cc5b396929449", + "md5": "2913c8ea7fb43a0f469bb2797c820a95", + "sha256": "4f8db049a7156b8a4616a6c9df0b5ee09571f0ac2eb253e111f2fb727fb033ea", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "C", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [ + { + "key": "zlib", + "score": 100.0, + "name": "ZLIB License", + "short_name": "ZLIB License", + "category": "Permissive", + "is_exception": false, + "is_unknown": false, + "owner": "zlib", + "homepage_url": "http://www.zlib.net/", + "text_url": "http://www.gzip.org/zlib/zlib_license.html", + "reference_url": "https://scancode-licensedb.aboutcode.org/zlib", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.yml", + "spdx_license_key": "Zlib", + "spdx_url": "https://spdx.org/licenses/Zlib", + "start_line": 3, + "end_line": 3, + "matched_rule": { + "identifier": "zlib_5.RULE", + "license_expression": "zlib", + "licenses": [ + "zlib" + ], + "referenced_filenames": [ + "zlib.h" + ], + "is_license_text": false, + "is_license_notice": false, + "is_license_reference": true, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 12, + "matched_length": 12, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "zlib" + ], + "percentage_of_license_text": 50.0, + "copyrights": [ + { + "copyright": "Copyright (c) 2003 Mark Adler", + "start_line": 2, + "end_line": 2 + } + ], + "holders": [ + { + "holder": "Mark Adler", + "start_line": 2, + "end_line": 2 + } + ], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "summary": { + "license_expressions": [ + { + "value": "zlib", + "count": 1 + } + ], + "copyrights": [ + { + "value": "Copyright (c) Mark Adler", + "count": 1 + } + ], + "holders": [ + { + "value": "Mark Adler", + "count": 1 + } + ], + "authors": [ + { + "value": null, + "count": 1 + } + ], + "programming_language": [ + { + "value": "C", + "count": 1 + } + ] + }, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/zlib/iostream2", + "type": "directory", + "name": "iostream2", + "base_name": "iostream2", + "extension": "", + "size": 0, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "licenses": [], + "license_expressions": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "package_data": [], + "for_packages": [], + "summary": { + "license_expressions": [ + { + "value": "mit-old-style", + "count": 1 + } + ], + "copyrights": [ + { + "value": "Copyright (c) Christian Michelsen Research AS Advanced Computing", + "count": 1 + } + ], + "holders": [ + { + "value": "Christian Michelsen Research AS Advanced Computing", + "count": 1 + } + ], + "authors": [ + { + "value": null, + "count": 1 + } + ], + "programming_language": [ + { + "value": "C", + "count": 1 + } + ] + }, + "files_count": 1, + "dirs_count": 0, + "size_count": 649, + "scan_errors": [] + }, + { + "path": "scan/zlib/iostream2/zstream.h", + "type": "file", + "name": "zstream.h", + "base_name": "zstream", + "extension": ".h", + "size": 649, + "sha1": "b7fe15df27e601b88cde6b6a63dad184ccbce572", + "md5": "8b897171ea0767232e586086bc94518c", + "sha256": "ee2eef602cba7c4ba350617f4154de50cb4cbf274c7dd773130aca0775d5d9cd", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "C", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [ + { + "key": "mit-old-style", + "score": 100.0, + "name": "MIT Old Style", + "short_name": "MIT Old Style", + "category": "Permissive", + "is_exception": false, + "is_unknown": false, + "owner": "MIT", + "homepage_url": "http://fedoraproject.org/wiki/Licensing:MIT#Old_Style", + "text_url": "http://fedoraproject.org/wiki/Licensing:MIT#Old_Style", + "reference_url": "https://scancode-licensedb.aboutcode.org/mit-old-style", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit-old-style.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit-old-style.yml", + "spdx_license_key": "LicenseRef-scancode-mit-old-style", + "spdx_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit-old-style.LICENSE", + "start_line": 9, + "end_line": 15, + "matched_rule": { + "identifier": "mit-old-style_cmr-no_1.RULE", + "license_expression": "mit-old-style", + "licenses": [ + "mit-old-style" + ], + "referenced_filenames": [], + "is_license_text": true, + "is_license_notice": false, + "is_license_reference": false, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 71, + "matched_length": 71, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "mit-old-style" + ], + "percentage_of_license_text": 79.78, + "copyrights": [ + { + "copyright": "Copyright (c) 1997 Christian Michelsen Research AS Advanced Computing", + "start_line": 3, + "end_line": 5 + } + ], + "holders": [ + { + "holder": "Christian Michelsen Research AS Advanced Computing", + "start_line": 4, + "end_line": 5 + } + ], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "summary": { + "license_expressions": [ + { + "value": "mit-old-style", + "count": 1 + } + ], + "copyrights": [ + { + "value": "Copyright (c) Christian Michelsen Research AS Advanced Computing", + "count": 1 + } + ], + "holders": [ + { + "value": "Christian Michelsen Research AS Advanced Computing", + "count": 1 + } + ], + "authors": [ + { + "value": null, + "count": 1 + } + ], + "programming_language": [ + { + "value": "C", + "count": 1 + } + ] + }, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/zlib/zlib.h", + "type": "file", + "name": "zlib.h", + "base_name": "zlib", + "extension": ".h", + "size": 1103, + "sha1": "85c65180242c560a4df66e9882119bf70eaefd02", + "md5": "07497e2688dad9406386f0534a0bbfca", + "sha256": "64fef1f0a7cd69eae744ad2fa754ee8568a5715588e38b7a3fa6e11eaeaec97e", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "C", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [ + { + "key": "zlib", + "score": 100.0, + "name": "ZLIB License", + "short_name": "ZLIB License", + "category": "Permissive", + "is_exception": false, + "is_unknown": false, + "owner": "zlib", + "homepage_url": "http://www.zlib.net/", + "text_url": "http://www.gzip.org/zlib/zlib_license.html", + "reference_url": "https://scancode-licensedb.aboutcode.org/zlib", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.yml", + "spdx_license_key": "Zlib", + "spdx_url": "https://spdx.org/licenses/Zlib", + "start_line": 6, + "end_line": 23, + "matched_rule": { + "identifier": "zlib_17.RULE", + "license_expression": "zlib", + "licenses": [ + "zlib" + ], + "referenced_filenames": [], + "is_license_text": true, + "is_license_notice": false, + "is_license_reference": false, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 144, + "matched_length": 144, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "zlib" + ], + "percentage_of_license_text": 84.21, + "copyrights": [ + { + "copyright": "Copyright (c) 1995-2013 Jean-loup Gailly and Mark Adler", + "start_line": 4, + "end_line": 4 + } + ], + "holders": [ + { + "holder": "Jean-loup Gailly and Mark Adler", + "start_line": 4, + "end_line": 4 + } + ], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "summary": { + "license_expressions": [ + { + "value": "zlib", + "count": 1 + } + ], + "copyrights": [ + { + "value": "Copyright (c) Jean-loup Gailly and Mark Adler", + "count": 1 + } + ], + "holders": [ + { + "value": "Jean-loup Gailly and Mark Adler", + "count": 1 + } + ], + "authors": [ + { + "value": null, + "count": 1 + } + ], + "programming_language": [ + { + "value": "C", + "count": 1 + } + ] + }, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/zlib/zutil.c", + "type": "file", + "name": "zutil.c", + "base_name": "zutil", + "extension": ".c", + "size": 218, + "sha1": "2e846ef84cfb16e0e8b92c62a850a607a709d7b2", + "md5": "2a0ea6a99e31fb0989209a027476038d", + "sha256": "dc7224c7f079d237acf510ff40282cf6d50352c851d4e2957d227e2a3b57eb4d", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "C", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [ + { + "key": "zlib", + "score": 100.0, + "name": "ZLIB License", + "short_name": "ZLIB License", + "category": "Permissive", + "is_exception": false, + "is_unknown": false, + "owner": "zlib", + "homepage_url": "http://www.zlib.net/", + "text_url": "http://www.gzip.org/zlib/zlib_license.html", + "reference_url": "https://scancode-licensedb.aboutcode.org/zlib", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.yml", + "spdx_license_key": "Zlib", + "spdx_url": "https://spdx.org/licenses/Zlib", + "start_line": 3, + "end_line": 3, + "matched_rule": { + "identifier": "zlib_5.RULE", + "license_expression": "zlib", + "licenses": [ + "zlib" + ], + "referenced_filenames": [ + "zlib.h" + ], + "is_license_text": false, + "is_license_notice": false, + "is_license_reference": true, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 12, + "matched_length": 12, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "zlib" + ], + "percentage_of_license_text": 37.5, + "copyrights": [ + { + "copyright": "Copyright (c) 1995-2005, 2010, 2011, 2012 Jean-loup Gailly", + "start_line": 2, + "end_line": 2 + } + ], + "holders": [ + { + "holder": "Jean-loup Gailly", + "start_line": 2, + "end_line": 2 + } + ], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "summary": { + "license_expressions": [ + { + "value": "zlib", + "count": 1 + } + ], + "copyrights": [ + { + "value": "Copyright (c) Jean-loup Gailly", + "count": 1 + } + ], + "holders": [ + { + "value": "Jean-loup Gailly", + "count": 1 + } + ], + "authors": [ + { + "value": null, + "count": 1 + } + ], + "programming_language": [ + { + "value": "C", + "count": 1 + } + ] + }, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "scan/zlib/zutil.h", + "type": "file", + "name": "zutil.h", + "base_name": "zutil", + "extension": ".h", + "size": 395, + "sha1": "830fca8d60bd0d0d91f6354d83ec8bf118a20e64", + "md5": "807b91d2bf5e18de555e56de37e487d1", + "sha256": "3980fa5633b16f944641bf2fba3f49b8b9b9de6ffea7be1e142792393bf1a867", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "C", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "licenses": [ + { + "key": "zlib", + "score": 100.0, + "name": "ZLIB License", + "short_name": "ZLIB License", + "category": "Permissive", + "is_exception": false, + "is_unknown": false, + "owner": "zlib", + "homepage_url": "http://www.zlib.net/", + "text_url": "http://www.gzip.org/zlib/zlib_license.html", + "reference_url": "https://scancode-licensedb.aboutcode.org/zlib", + "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE", + "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.yml", + "spdx_license_key": "Zlib", + "spdx_url": "https://spdx.org/licenses/Zlib", + "start_line": 3, + "end_line": 3, + "matched_rule": { + "identifier": "zlib_5.RULE", + "license_expression": "zlib", + "licenses": [ + "zlib" + ], + "referenced_filenames": [ + "zlib.h" + ], + "is_license_text": false, + "is_license_notice": false, + "is_license_reference": true, + "is_license_tag": false, + "is_license_intro": false, + "has_unknown": false, + "matcher": "2-aho", + "rule_length": 12, + "matched_length": 12, + "match_coverage": 100.0, + "rule_relevance": 100 + } + } + ], + "license_expressions": [ + "zlib" + ], + "percentage_of_license_text": 20.34, + "copyrights": [ + { + "copyright": "Copyright (c) 1995-2013 Jean-loup Gailly", + "start_line": 2, + "end_line": 2 + } + ], + "holders": [ + { + "holder": "Jean-loup Gailly", + "start_line": 2, + "end_line": 2 + } + ], + "authors": [], + "package_data": [], + "for_packages": [ + "pkg:npm/npm@2.13.5" + ], + "summary": { + "license_expressions": [ + { + "value": "zlib", + "count": 1 + } + ], + "copyrights": [ + { + "value": "Copyright (c) Jean-loup Gailly", + "count": 1 + } + ], + "holders": [ + { + "value": "Jean-loup Gailly", + "count": 1 + } + ], + "authors": [ + { + "value": null, + "count": 1 + } + ], + "programming_language": [ + { + "value": "C", + "count": 1 + } + ] + }, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + } + ] +} \ No newline at end of file diff --git a/tests/summarycode/data/packages/expected.json b/tests/summarycode/data/packages/expected.json new file mode 100644 index 00000000000..912b83af6b1 --- /dev/null +++ b/tests/summarycode/data/packages/expected.json @@ -0,0 +1,1756 @@ +{ + "headers": [ + { + "tool_name": "scancode-toolkit", + "options": { + "input": "", + "--json-pp": "", + "--package": true, + "--summary": true + }, + "notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.", + "output_format_version": "2.0.0", + "message": null, + "errors": [], + "extra_data": { + "spdx_license_list_version": "3.16", + "files_count": 3 + } + } + ], + "dependencies": [ + { + "purl": "pkg:npm/%40angular-devkit/build-optimizer", + "extracted_requirement": "^0.0.31", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/%40angular-devkit/build-optimizer?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/autoprefixer", + "extracted_requirement": "^7.1.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/autoprefixer?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/chalk", + "extracted_requirement": "^2.3.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/chalk?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/chokidar", + "extracted_requirement": "^1.7.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/chokidar?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/clean-css", + "extracted_requirement": "^4.1.9", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/clean-css?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/cross-spawn", + "extracted_requirement": "^5.1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/cross-spawn?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/express", + "extracted_requirement": "^4.16.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/express?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/fs-extra", + "extracted_requirement": "^4.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/fs-extra?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/glob", + "extracted_requirement": "^7.1.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/glob?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/json-loader", + "extracted_requirement": "^0.5.7", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/json-loader?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/node-sass", + "extracted_requirement": "^4.5.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/node-sass?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/os-name", + "extracted_requirement": "^2.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/os-name?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/postcss", + "extracted_requirement": "^6.0.13", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/postcss?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/proxy-middleware", + "extracted_requirement": "^0.15.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/proxy-middleware?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/reflect-metadata", + "extracted_requirement": "^0.1.10", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/reflect-metadata?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/rollup", + "extracted_requirement": "0.50.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/rollup?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/rollup-plugin-commonjs", + "extracted_requirement": "8.2.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/rollup-plugin-commonjs?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/rollup-plugin-node-resolve", + "extracted_requirement": "3.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/rollup-plugin-node-resolve?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/source-map", + "extracted_requirement": "^0.6.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/source-map?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/tiny-lr", + "extracted_requirement": "^1.0.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/tiny-lr?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/tslint", + "extracted_requirement": "^5.8.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/tslint?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/tslint-eslint-rules", + "extracted_requirement": "^4.1.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/tslint-eslint-rules?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/uglify-es", + "extracted_requirement": "^3.1.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/uglify-es?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/webpack", + "extracted_requirement": "^3.8.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/webpack?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/ws", + "extracted_requirement": "^3.2.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/ws?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/xml2js", + "extracted_requirement": "^0.4.19", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/xml2js?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/%40angular/animations", + "extracted_requirement": "4.4.3", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/%40angular/animations?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/%40angular/common", + "extracted_requirement": "4.4.3", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/%40angular/common?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/%40angular/compiler", + "extracted_requirement": "4.4.3", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/%40angular/compiler?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/%40angular/compiler-cli", + "extracted_requirement": "4.4.3", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/%40angular/compiler-cli?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/%40angular/core", + "extracted_requirement": "4.4.3", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/%40angular/core?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/%40angular/forms", + "extracted_requirement": "4.4.3", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/%40angular/forms?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/%40angular/http", + "extracted_requirement": "4.4.3", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/%40angular/http?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/%40angular/platform-browser", + "extracted_requirement": "4.4.3", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/%40angular/platform-browser?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/%40angular/platform-browser-dynamic", + "extracted_requirement": "4.4.3", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/%40angular/platform-browser-dynamic?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/%40angular/platform-server", + "extracted_requirement": "4.4.3", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/%40angular/platform-server?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/%40angular/tsc-wrapped", + "extracted_requirement": "4.4.3", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/%40angular/tsc-wrapped?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/%40types/chokidar", + "extracted_requirement": "^1.7.3", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/%40types/chokidar?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/%40types/clean-css", + "extracted_requirement": "^3.4.29", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/%40types/clean-css?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/%40types/express", + "extracted_requirement": "^4.0.39", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/%40types/express?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/%40types/fs-extra", + "extracted_requirement": "^4.0.3", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/%40types/fs-extra?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/%40types/glob", + "extracted_requirement": "^5.0.30", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/%40types/glob?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/%40types/jest", + "extracted_requirement": "^21.1.5", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/%40types/jest?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/%40types/mock-fs", + "extracted_requirement": "^3.6.30", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/%40types/mock-fs?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/%40types/node", + "extracted_requirement": "^8.0.47", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/%40types/node?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/%40types/node-sass", + "extracted_requirement": "^3.10.32", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/%40types/node-sass?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/%40types/rewire", + "extracted_requirement": "^2.5.27", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/%40types/rewire?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/%40types/webpack", + "extracted_requirement": "^3.0.14", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/%40types/webpack?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/%40types/ws", + "extracted_requirement": "^3.2.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/%40types/ws?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/conventional-changelog-cli", + "extracted_requirement": "^1.3.1", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/conventional-changelog-cli?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/github", + "extracted_requirement": "0.2.4", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/github?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/ionic-cz-conventional-changelog", + "extracted_requirement": "^1.0.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/ionic-cz-conventional-changelog?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/jest", + "extracted_requirement": "^21.2.1", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/jest?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/mock-fs", + "extracted_requirement": "^4.4.2", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/mock-fs?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/rewire", + "extracted_requirement": "^2.5.2", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/rewire?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/rimraf", + "extracted_requirement": "^2.6.1", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/rimraf?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/rxjs", + "extracted_requirement": "^5.5.2", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/rxjs?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/sw-toolbox", + "extracted_requirement": "^3.6.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/sw-toolbox?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/tslint-ionic-rules", + "extracted_requirement": "^0.0.11", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/tslint-ionic-rules?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/typescript", + "extracted_requirement": "~2.3.4", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/typescript?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/zone.js", + "extracted_requirement": "^0.8.17", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "dependency_uid": "pkg:npm/zone.js?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" + } + ], + "packages": [ + { + "type": "maven", + "namespace": "aopalliance", + "name": "aopalliance", + "version": "1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "Java", + "description": "AOP alliance\nAOP Alliance", + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": "http://aopalliance.sourceforge.net", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": "public-domain", + "declared_license": [ + { + "name": "Public Domain", + "url": null, + "comments": null, + "distribution": null + } + ], + "notice_text": null, + "source_packages": [ + "pkg:maven/aopalliance/aopalliance@1.0?classifier=sources" + ], + "extra_data": {}, + "repository_homepage_url": "https://repo1.maven.org/maven2/aopalliance/aopalliance/1.0/", + "repository_download_url": "https://repo1.maven.org/maven2/aopalliance/aopalliance/1.0/aopalliance-1.0.jar", + "api_data_url": "https://repo1.maven.org/maven2/aopalliance/aopalliance/1.0/aopalliance-1.0.pom", + "package_uid": "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "scan/aopalliance/aopalliance/1.0/aopalliance-1.0.pom" + ], + "datasource_ids": [ + "maven_pom" + ], + "purl": "pkg:maven/aopalliance/aopalliance@1.0" + }, + { + "type": "freebsd", + "namespace": null, + "name": "dmidecode", + "version": "2.12", + "qualifiers": { + "arch": "freebsd:10:x86:64", + "origin": "sysutils/dmidecode" + }, + "subpath": null, + "primary_language": null, + "description": "Dmidecode is a tool or dumping a computer's DMI (some say SMBIOS) table\ncontents in a human-readable format. The output contains a description of the\nsystem's hardware components, as well as other useful pieces of information\nsuch as serial numbers and BIOS revision.\n\nWWW: http://www.nongnu.org/dmidecode/", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "maintainer", + "name": null, + "email": "anders@FreeBSD.org", + "url": null + } + ], + "keywords": [ + "sysutils" + ], + "homepage_url": "http://www.nongnu.org/dmidecode/", + "download_url": "https://pkg.freebsd.org/freebsd:10:x86:64/latest/All/dmidecode-2.12.txz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": "https://svnweb.freebsd.org/ports/head/sysutils/dmidecode", + "vcs_url": null, + "copyright": null, + "license_expression": "gpl-2.0", + "declared_license": { + "licenses": [ + "GPLv2" + ], + "licenselogic": "single" + }, + "notice_text": null, + "source_packages": [], + "extra_data": {}, + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "package_uid": "pkg:freebsd/dmidecode@2.12?arch=freebsd:10:x86:64&origin=sysutils/dmidecode&uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "scan/freebsd/basic/+COMPACT_MANIFEST" + ], + "datasource_ids": [ + "freebsd_compact_manifest" + ], + "purl": "pkg:freebsd/dmidecode@2.12?arch=freebsd:10:x86:64&origin=sysutils/dmidecode" + }, + { + "type": "npm", + "namespace": "@ionic", + "name": "app-scripts", + "version": "3.0.1-201710301651", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": "Scripts for Ionic Projects", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Ionic Team", + "email": "hi@ionic.io", + "url": "https://ionic.io" + } + ], + "keywords": [], + "homepage_url": "https://ionicframework.com/", + "download_url": "https://registry.npmjs.org/@ionic/app-scripts/-/app-scripts-3.0.1-201710301651.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": "https://github.com/ionic-team/ionic-app-scripts/issues", + "code_view_url": null, + "vcs_url": "git+https://github.com/ionic-team/ionic-app-scripts.git", + "copyright": null, + "license_expression": "mit", + "declared_license": [ + "MIT" + ], + "notice_text": null, + "source_packages": [], + "extra_data": {}, + "repository_homepage_url": "https://www.npmjs.com/package/@ionic/app-scripts", + "repository_download_url": "https://registry.npmjs.org/@ionic/app-scripts/-/app-scripts-3.0.1-201710301651.tgz", + "api_data_url": "https://registry.npmjs.org/@ionic%2fapp-scripts", + "package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "scan/scoped1/package.json" + ], + "datasource_ids": [ + "npm_package_json" + ], + "purl": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651" + } + ], + "summary": {}, + "files": [ + { + "path": "scan", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "scan/aopalliance", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "scan/aopalliance/aopalliance", + "type": "directory", + "package_data": [], + "for_packages": [ + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "scan/aopalliance/aopalliance/1.0", + "type": "directory", + "package_data": [], + "for_packages": [ + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "scan/aopalliance/aopalliance/1.0/aopalliance-1.0.pom", + "type": "file", + "package_data": [ + { + "type": "maven", + "namespace": "aopalliance", + "name": "aopalliance", + "version": "1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "Java", + "description": "AOP alliance\nAOP Alliance", + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": "http://aopalliance.sourceforge.net", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": [ + { + "name": "Public Domain", + "url": null, + "comments": null, + "distribution": null + } + ], + "notice_text": null, + "source_packages": [ + "pkg:maven/aopalliance/aopalliance@1.0?classifier=sources" + ], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://repo1.maven.org/maven2/aopalliance/aopalliance/1.0/", + "repository_download_url": "https://repo1.maven.org/maven2/aopalliance/aopalliance/1.0/aopalliance-1.0.jar", + "api_data_url": "https://repo1.maven.org/maven2/aopalliance/aopalliance/1.0/aopalliance-1.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/aopalliance/aopalliance@1.0" + } + ], + "for_packages": [ + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "scan/freebsd", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "scan/freebsd/basic", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "scan/freebsd/basic/+COMPACT_MANIFEST", + "type": "file", + "package_data": [ + { + "type": "freebsd", + "namespace": null, + "name": "dmidecode", + "version": "2.12", + "qualifiers": { + "arch": "freebsd:10:x86:64", + "origin": "sysutils/dmidecode" + }, + "subpath": null, + "primary_language": null, + "description": "Dmidecode is a tool or dumping a computer's DMI (some say SMBIOS) table\ncontents in a human-readable format. The output contains a description of the\nsystem's hardware components, as well as other useful pieces of information\nsuch as serial numbers and BIOS revision.\n\nWWW: http://www.nongnu.org/dmidecode/", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "maintainer", + "name": null, + "email": "anders@FreeBSD.org", + "url": null + } + ], + "keywords": [ + "sysutils" + ], + "homepage_url": "http://www.nongnu.org/dmidecode/", + "download_url": "https://pkg.freebsd.org/freebsd:10:x86:64/latest/All/dmidecode-2.12.txz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": "https://svnweb.freebsd.org/ports/head/sysutils/dmidecode", + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": { + "licenses": [ + "GPLv2" + ], + "licenselogic": "single" + }, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "freebsd_compact_manifest", + "purl": "pkg:freebsd/dmidecode@2.12?arch=freebsd:10:x86:64&origin=sysutils/dmidecode" + } + ], + "for_packages": [ + "pkg:freebsd/dmidecode@2.12?arch=freebsd:10:x86:64&origin=sysutils/dmidecode&uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "scan/scoped1", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "scan/scoped1/package.json", + "type": "file", + "package_data": [ + { + "type": "npm", + "namespace": "@ionic", + "name": "app-scripts", + "version": "3.0.1-201710301651", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": "Scripts for Ionic Projects", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Ionic Team", + "email": "hi@ionic.io", + "url": "https://ionic.io" + } + ], + "keywords": [], + "homepage_url": "https://ionicframework.com/", + "download_url": "https://registry.npmjs.org/@ionic/app-scripts/-/app-scripts-3.0.1-201710301651.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": "https://github.com/ionic-team/ionic-app-scripts/issues", + "code_view_url": null, + "vcs_url": "git+https://github.com/ionic-team/ionic-app-scripts.git", + "copyright": null, + "license_expression": "mit", + "declared_license": [ + "MIT" + ], + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:npm/%40angular-devkit/build-optimizer", + "extracted_requirement": "^0.0.31", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/autoprefixer", + "extracted_requirement": "^7.1.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/chalk", + "extracted_requirement": "^2.3.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/chokidar", + "extracted_requirement": "^1.7.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/clean-css", + "extracted_requirement": "^4.1.9", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/cross-spawn", + "extracted_requirement": "^5.1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/express", + "extracted_requirement": "^4.16.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/fs-extra", + "extracted_requirement": "^4.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/glob", + "extracted_requirement": "^7.1.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/json-loader", + "extracted_requirement": "^0.5.7", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/node-sass", + "extracted_requirement": "^4.5.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/os-name", + "extracted_requirement": "^2.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/postcss", + "extracted_requirement": "^6.0.13", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/proxy-middleware", + "extracted_requirement": "^0.15.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/reflect-metadata", + "extracted_requirement": "^0.1.10", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/rollup", + "extracted_requirement": "0.50.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/rollup-plugin-commonjs", + "extracted_requirement": "8.2.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/rollup-plugin-node-resolve", + "extracted_requirement": "3.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/source-map", + "extracted_requirement": "^0.6.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/tiny-lr", + "extracted_requirement": "^1.0.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/tslint", + "extracted_requirement": "^5.8.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/tslint-eslint-rules", + "extracted_requirement": "^4.1.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/uglify-es", + "extracted_requirement": "^3.1.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/webpack", + "extracted_requirement": "^3.8.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/ws", + "extracted_requirement": "^3.2.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/xml2js", + "extracted_requirement": "^0.4.19", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/%40angular/animations", + "extracted_requirement": "4.4.3", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/%40angular/common", + "extracted_requirement": "4.4.3", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/%40angular/compiler", + "extracted_requirement": "4.4.3", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/%40angular/compiler-cli", + "extracted_requirement": "4.4.3", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/%40angular/core", + "extracted_requirement": "4.4.3", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/%40angular/forms", + "extracted_requirement": "4.4.3", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/%40angular/http", + "extracted_requirement": "4.4.3", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/%40angular/platform-browser", + "extracted_requirement": "4.4.3", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/%40angular/platform-browser-dynamic", + "extracted_requirement": "4.4.3", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/%40angular/platform-server", + "extracted_requirement": "4.4.3", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/%40angular/tsc-wrapped", + "extracted_requirement": "4.4.3", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/%40types/chokidar", + "extracted_requirement": "^1.7.3", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/%40types/clean-css", + "extracted_requirement": "^3.4.29", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/%40types/express", + "extracted_requirement": "^4.0.39", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/%40types/fs-extra", + "extracted_requirement": "^4.0.3", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/%40types/glob", + "extracted_requirement": "^5.0.30", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/%40types/jest", + "extracted_requirement": "^21.1.5", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/%40types/mock-fs", + "extracted_requirement": "^3.6.30", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/%40types/node", + "extracted_requirement": "^8.0.47", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/%40types/node-sass", + "extracted_requirement": "^3.10.32", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/%40types/rewire", + "extracted_requirement": "^2.5.27", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/%40types/webpack", + "extracted_requirement": "^3.0.14", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/%40types/ws", + "extracted_requirement": "^3.2.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/conventional-changelog-cli", + "extracted_requirement": "^1.3.1", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/github", + "extracted_requirement": "0.2.4", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/ionic-cz-conventional-changelog", + "extracted_requirement": "^1.0.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/jest", + "extracted_requirement": "^21.2.1", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/mock-fs", + "extracted_requirement": "^4.4.2", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/rewire", + "extracted_requirement": "^2.5.2", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/rimraf", + "extracted_requirement": "^2.6.1", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/rxjs", + "extracted_requirement": "^5.5.2", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/sw-toolbox", + "extracted_requirement": "^3.6.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/tslint-ionic-rules", + "extracted_requirement": "^0.0.11", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/typescript", + "extracted_requirement": "~2.3.4", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + }, + { + "purl": "pkg:npm/zone.js", + "extracted_requirement": "^0.8.17", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {} + } + ], + "repository_homepage_url": "https://www.npmjs.com/package/@ionic/app-scripts", + "repository_download_url": "https://registry.npmjs.org/@ionic/app-scripts/-/app-scripts-3.0.1-201710301651.tgz", + "api_data_url": "https://registry.npmjs.org/@ionic%2fapp-scripts", + "datasource_id": "npm_package_json", + "purl": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651" + } + ], + "for_packages": [ + "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + } + ] +} \ No newline at end of file diff --git a/tests/summarycode/data/plugin_consolidate/component-package-build-expected.json b/tests/summarycode/data/plugin_consolidate/component-package-build-expected.json index dfe25ab5b08..c1526515001 100644 --- a/tests/summarycode/data/plugin_consolidate/component-package-build-expected.json +++ b/tests/summarycode/data/plugin_consolidate/component-package-build-expected.json @@ -26,6 +26,46 @@ ], "dependencies": [], "packages": [ + { + "type": "buck", + "namespace": null, + "name": "demo", + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": null, + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "source_packages": [], + "extra_data": {}, + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "package_uid": "pkg:buck/demo?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "component-package-build/build/BUCK" + ], + "datasource_ids": [ + "buck_file" + ], + "purl": "pkg:buck/demo" + }, { "type": "npm", "namespace": null, @@ -54,22 +94,19 @@ "apache-2.0" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, - "package_uuid": "pkg:npm/test-package@0.0.1", - "package_data_files": [ + "repository_homepage_url": "https://www.npmjs.com/package/test-package", + "repository_download_url": "https://registry.npmjs.org/test-package/-/test-package-0.0.1.tgz", + "api_data_url": "https://registry.npmjs.org/test-package/0.0.1", + "package_uid": "pkg:npm/test-package@0.0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "component-package-build/package/package.json" ], - "files": [ - "component-package-build/package/package.json", - "component-package-build/package/src1", - "component-package-build/package/src2" + "datasource_ids": [ + "npm_package_json" ], - "purl": "pkg:npm/test-package@0.0.1", - "repository_homepage_url": "https://www.npmjs.com/package/test-package", - "repository_download_url": "https://registry.npmjs.org/test-package/-/test-package-0.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/test-package/0.0.1" + "purl": "pkg:npm/test-package@0.0.1" } ], "consolidated_components": [ @@ -255,20 +292,23 @@ "code_view_url": null, "vcs_url": null, "copyright": null, - "license_expression": "unknown", + "license_expression": null, "declared_license": null, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:buck/demo", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "buck_file", + "purl": "pkg:buck/demo" } ], - "for_packages": [], + "for_packages": [ + "pkg:buck/demo?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "consolidated_to": [], "files_count": 0, "dirs_count": 0, @@ -806,18 +846,19 @@ "apache-2.0" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:npm/test-package@0.0.1", "repository_homepage_url": "https://www.npmjs.com/package/test-package", "repository_download_url": "https://registry.npmjs.org/test-package/-/test-package-0.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/test-package/0.0.1" + "api_data_url": "https://registry.npmjs.org/test-package/0.0.1", + "datasource_id": "npm_package_json", + "purl": "pkg:npm/test-package@0.0.1" } ], "for_packages": [ - "pkg:npm/test-package@0.0.1" + "pkg:npm/test-package@0.0.1?uuid=fixed-uid-done-for-testing-5642512d1758" ], "consolidated_to": [ "apache_software_1" @@ -906,9 +947,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/test-package@0.0.1" - ], + "for_packages": [], "consolidated_to": [], "files_count": 0, "dirs_count": 0, @@ -994,9 +1033,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/test-package@0.0.1" - ], + "for_packages": [], "consolidated_to": [ "corp_ibm_1" ], diff --git a/tests/summarycode/data/plugin_consolidate/component-package-expected.json b/tests/summarycode/data/plugin_consolidate/component-package-expected.json index 3c1e797c200..7916a84e908 100644 --- a/tests/summarycode/data/plugin_consolidate/component-package-expected.json +++ b/tests/summarycode/data/plugin_consolidate/component-package-expected.json @@ -20,26 +20,6 @@ "files_count": 7 } }, - { - "tool_name": "scancode-toolkit", - "options": { - "input": "", - "--consolidate": true, - "--from-json": true, - "--json": "" - }, - "notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.", - "output_format_version": "2.0.0", - "message": null, - "errors": [], - "warnings": [ - "The --consolidate option will be deprecated in a future version of scancode-toolkit." - ], - "extra_data": { - "spdx_license_list_version": "3.16", - "files_count": 7 - } - }, { "tool_name": "scancode-toolkit", "options": { @@ -91,22 +71,19 @@ "apache-2.0" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, - "package_uuid": "pkg:npm/test-package@0.0.1", - "package_data_files": [ + "repository_homepage_url": "https://www.npmjs.com/package/test-package", + "repository_download_url": "https://registry.npmjs.org/test-package/-/test-package-0.0.1.tgz", + "api_data_url": "https://registry.npmjs.org/test-package/0.0.1", + "package_uid": "pkg:npm/test-package@0.0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "component-package/package/package.json" ], - "files": [ - "component-package/package/package.json", - "component-package/package/src1", - "component-package/package/src2" + "datasource_ids": [ + "npm_package_json" ], - "purl": "pkg:npm/test-package@0.0.1", - "repository_homepage_url": "https://www.npmjs.com/package/test-package", - "repository_download_url": "https://registry.npmjs.org/test-package/-/test-package-0.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/test-package/0.0.1" + "purl": "pkg:npm/test-package@0.0.1" } ], "consolidated_components": [ @@ -741,18 +718,19 @@ "apache-2.0" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:npm/test-package@0.0.1", "repository_homepage_url": "https://www.npmjs.com/package/test-package", "repository_download_url": "https://registry.npmjs.org/test-package/-/test-package-0.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/test-package/0.0.1" + "api_data_url": "https://registry.npmjs.org/test-package/0.0.1", + "datasource_id": "npm_package_json", + "purl": "pkg:npm/test-package@0.0.1" } ], "for_packages": [ - "pkg:npm/test-package@0.0.1" + "pkg:npm/test-package@0.0.1?uuid=fixed-uid-done-for-testing-5642512d1758" ], "consolidated_to": [ "apache_software_1" @@ -841,9 +819,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/test-package@0.0.1" - ], + "for_packages": [], "consolidated_to": [], "files_count": 0, "dirs_count": 0, @@ -929,9 +905,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/test-package@0.0.1" - ], + "for_packages": [], "consolidated_to": [ "corp_ibm_1" ], diff --git a/tests/summarycode/data/plugin_consolidate/nested-packages/node_modules/bar/package.json b/tests/summarycode/data/plugin_consolidate/nested-packages/node_modules/bar/package.json deleted file mode 100644 index fe3c3f1786a..00000000000 --- a/tests/summarycode/data/plugin_consolidate/nested-packages/node_modules/bar/package.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "bar", - "version": "0.0.1", - "license": "apache-2.0" -} diff --git a/tests/summarycode/data/plugin_consolidate/nested-packages/node_modules/foo/node_modules/bar/package.json b/tests/summarycode/data/plugin_consolidate/nested-packages/node_modules/foo/node_modules/bar/package.json deleted file mode 100644 index fe3c3f1786a..00000000000 --- a/tests/summarycode/data/plugin_consolidate/nested-packages/node_modules/foo/node_modules/bar/package.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "bar", - "version": "0.0.1", - "license": "apache-2.0" -} diff --git a/tests/summarycode/data/plugin_consolidate/nested-packages/node_modules/foo/package.json b/tests/summarycode/data/plugin_consolidate/nested-packages/node_modules/foo/package.json deleted file mode 100644 index 586ac3ff363..00000000000 --- a/tests/summarycode/data/plugin_consolidate/nested-packages/node_modules/foo/package.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "foo", - "version": "0.0.1", - "license": "apache-2.0" -} diff --git a/tests/summarycode/data/plugin_consolidate/nested-packages/package.json b/tests/summarycode/data/plugin_consolidate/nested-packages/package.json deleted file mode 100644 index 5e8b1f74179..00000000000 --- a/tests/summarycode/data/plugin_consolidate/nested-packages/package.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "test-package", - "version": "0.0.1", - "license": "apache-2.0" -} diff --git a/tests/summarycode/data/plugin_consolidate/package-files-not-counted-in-license-holders-expected.json b/tests/summarycode/data/plugin_consolidate/package-files-not-counted-in-license-holders-expected.json index addc77dbc9e..1339e4fa47d 100644 --- a/tests/summarycode/data/plugin_consolidate/package-files-not-counted-in-license-holders-expected.json +++ b/tests/summarycode/data/plugin_consolidate/package-files-not-counted-in-license-holders-expected.json @@ -54,23 +54,19 @@ "apache-2.0" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, - "package_uuid": "pkg:npm/test-package@0.0.1", - "package_data_files": [ + "repository_homepage_url": "https://www.npmjs.com/package/test-package", + "repository_download_url": "https://registry.npmjs.org/test-package/-/test-package-0.0.1.tgz", + "api_data_url": "https://registry.npmjs.org/test-package/0.0.1", + "package_uid": "pkg:npm/test-package@0.0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "package-files-not-counted-in-license-holders/package/package.json" ], - "files": [ - "package-files-not-counted-in-license-holders/package/package.json", - "package-files-not-counted-in-license-holders/package/src1", - "package-files-not-counted-in-license-holders/package/src2", - "package-files-not-counted-in-license-holders/package/src3" + "datasource_ids": [ + "npm_package_json" ], - "purl": "pkg:npm/test-package@0.0.1", - "repository_homepage_url": "https://www.npmjs.com/package/test-package", - "repository_download_url": "https://registry.npmjs.org/test-package/-/test-package-0.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/test-package/0.0.1" + "purl": "pkg:npm/test-package@0.0.1" } ], "consolidated_components": [ @@ -286,18 +282,19 @@ "apache-2.0" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:npm/test-package@0.0.1", "repository_homepage_url": "https://www.npmjs.com/package/test-package", "repository_download_url": "https://registry.npmjs.org/test-package/-/test-package-0.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/test-package/0.0.1" + "api_data_url": "https://registry.npmjs.org/test-package/0.0.1", + "datasource_id": "npm_package_json", + "purl": "pkg:npm/test-package@0.0.1" } ], "for_packages": [ - "pkg:npm/test-package@0.0.1" + "pkg:npm/test-package@0.0.1?uuid=fixed-uid-done-for-testing-5642512d1758" ], "consolidated_to": [ "apache_software_1" @@ -386,9 +383,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/test-package@0.0.1" - ], + "for_packages": [], "consolidated_to": [ "apache_foundation_software_1" ], @@ -476,9 +471,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/test-package@0.0.1" - ], + "for_packages": [], "consolidated_to": [ "apache_foundation_software_1" ], @@ -566,9 +559,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/test-package@0.0.1" - ], + "for_packages": [], "consolidated_to": [ "apache_foundation_software_1" ], diff --git a/tests/summarycode/data/plugin_consolidate/package-fileset-expected.json b/tests/summarycode/data/plugin_consolidate/package-fileset-expected.json index 310dbafb243..bcf531bb9aa 100644 --- a/tests/summarycode/data/plugin_consolidate/package-fileset-expected.json +++ b/tests/summarycode/data/plugin_consolidate/package-fileset-expected.json @@ -54,23 +54,19 @@ "apache-2.0" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, - "package_uuid": "pkg:npm/test-package@0.0.1", - "package_data_files": [ + "repository_homepage_url": "https://www.npmjs.com/package/test-package", + "repository_download_url": "https://registry.npmjs.org/test-package/-/test-package-0.0.1.tgz", + "api_data_url": "https://registry.npmjs.org/test-package/0.0.1", + "package_uid": "pkg:npm/test-package@0.0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "package/package.json" ], - "files": [ - "package/package.json", - "package/src1", - "package/src2", - "package/src3" + "datasource_ids": [ + "npm_package_json" ], - "purl": "pkg:npm/test-package@0.0.1", - "repository_homepage_url": "https://www.npmjs.com/package/test-package", - "repository_download_url": "https://registry.npmjs.org/test-package/-/test-package-0.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/test-package/0.0.1" + "purl": "pkg:npm/test-package@0.0.1" } ], "consolidated_components": [ @@ -223,18 +219,19 @@ "apache-2.0" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:npm/test-package@0.0.1", "repository_homepage_url": "https://www.npmjs.com/package/test-package", "repository_download_url": "https://registry.npmjs.org/test-package/-/test-package-0.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/test-package/0.0.1" + "api_data_url": "https://registry.npmjs.org/test-package/0.0.1", + "datasource_id": "npm_package_json", + "purl": "pkg:npm/test-package@0.0.1" } ], "for_packages": [ - "pkg:npm/test-package@0.0.1" + "pkg:npm/test-package@0.0.1?uuid=fixed-uid-done-for-testing-5642512d1758" ], "consolidated_to": [], "files_count": 0, @@ -321,9 +318,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/test-package@0.0.1" - ], + "for_packages": [], "consolidated_to": [ "apache_foundation_software_1" ], @@ -411,9 +406,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/test-package@0.0.1" - ], + "for_packages": [], "consolidated_to": [ "apache_foundation_software_1" ], @@ -501,9 +494,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/test-package@0.0.1" - ], + "for_packages": [], "consolidated_to": [ "apache_foundation_software_1" ], diff --git a/tests/summarycode/data/plugin_consolidate/package-manifest-expected.json b/tests/summarycode/data/plugin_consolidate/package-manifest-expected.json index 3fbeddd4b0b..acd3a6cf269 100644 --- a/tests/summarycode/data/plugin_consolidate/package-manifest-expected.json +++ b/tests/summarycode/data/plugin_consolidate/package-manifest-expected.json @@ -54,20 +54,19 @@ "apache-2.0" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, - "package_uuid": "pkg:npm/test-package@0.0.1", - "package_data_files": [ + "repository_homepage_url": "https://www.npmjs.com/package/test-package", + "repository_download_url": "https://registry.npmjs.org/test-package/-/test-package-0.0.1.tgz", + "api_data_url": "https://registry.npmjs.org/test-package/0.0.1", + "package_uid": "pkg:npm/test-package@0.0.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "package-manifest/package.json" ], - "files": [ - "package-manifest/package.json" + "datasource_ids": [ + "npm_package_json" ], - "purl": "pkg:npm/test-package@0.0.1", - "repository_homepage_url": "https://www.npmjs.com/package/test-package", - "repository_download_url": "https://registry.npmjs.org/test-package/-/test-package-0.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/test-package/0.0.1" + "purl": "pkg:npm/test-package@0.0.1" } ], "consolidated_components": [], @@ -201,18 +200,19 @@ "apache-2.0" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:npm/test-package@0.0.1", "repository_homepage_url": "https://www.npmjs.com/package/test-package", "repository_download_url": "https://registry.npmjs.org/test-package/-/test-package-0.0.1.tgz", - "api_data_url": "https://registry.npmjs.org/test-package/0.0.1" + "api_data_url": "https://registry.npmjs.org/test-package/0.0.1", + "datasource_id": "npm_package_json", + "purl": "pkg:npm/test-package@0.0.1" } ], "for_packages": [ - "pkg:npm/test-package@0.0.1" + "pkg:npm/test-package@0.0.1?uuid=fixed-uid-done-for-testing-5642512d1758" ], "consolidated_to": [], "files_count": 0, diff --git a/tests/summarycode/data/plugin_consolidate/zlib-expected.json b/tests/summarycode/data/plugin_consolidate/zlib-expected.json index 00d9661d79b..2b569422a79 100644 --- a/tests/summarycode/data/plugin_consolidate/zlib-expected.json +++ b/tests/summarycode/data/plugin_consolidate/zlib-expected.json @@ -7407,9 +7407,7 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "root_path": "zlib-1.2.11/contrib/minizip", "dependencies": [], - "contains_source_code": null, "source_packages": [], "purl": "pkg:autotools/minizip", "repository_homepage_url": null, diff --git a/tests/summarycode/data/plugin_consolidate/zlib.json b/tests/summarycode/data/plugin_consolidate/zlib.json index 70326760626..3ee5ceffc45 100644 --- a/tests/summarycode/data/plugin_consolidate/zlib.json +++ b/tests/summarycode/data/plugin_consolidate/zlib.json @@ -9246,9 +9246,7 @@ "license_expression": null, "declared_license": null, "notice_text": null, - "root_path": "zlib-1.2.11/contrib/minizip", "dependencies": [], - "contains_source_code": null, "source_packages": [], "purl": "pkg:autotools/minizip", "repository_homepage_url": null, diff --git a/tests/summarycode/data/summary/multiple_package_data/multiple_package_data.expected.json b/tests/summarycode/data/summary/multiple_package_data/multiple_package_data.expected.json index 5ef81eca892..c2ab5cc8638 100644 --- a/tests/summarycode/data/summary/multiple_package_data/multiple_package_data.expected.json +++ b/tests/summarycode/data/summary/multiple_package_data/multiple_package_data.expected.json @@ -59,24 +59,19 @@ "license_expression": "mit", "declared_license": "MIT", "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, - "package_uuid": "pkg:cargo/codebase", - "package_data_files": [ + "repository_homepage_url": "https://crates.io/crates/codebase", + "repository_download_url": null, + "api_data_url": "https://crates.io/api/v1/crates/codebase", + "package_uid": "pkg:cargo/codebase?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "codebase/cargo.toml" ], - "files": [ - "codebase/apache-2.0.LICENSE", - "codebase/cargo.toml", - "codebase/mit.LICENSE", - "codebase/README.txt", - "codebase/setup.py" + "datasource_ids": [ + "cargo_toml" ], - "purl": "pkg:cargo/codebase", - "repository_homepage_url": "https://crates.io/crates/codebase", - "repository_download_url": null, - "api_data_url": "https://crates.io/api/v1/crates/codebase" + "purl": "pkg:cargo/codebase" }, { "type": "pypi", @@ -114,24 +109,19 @@ "license": "apache-2.0" }, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, - "package_uuid": "pkg:pypi/codebase", - "package_data_files": [ + "repository_homepage_url": "https://pypi.org/project/codebase", + "repository_download_url": null, + "api_data_url": "https://pypi.org/pypi/codebase/json", + "package_uid": "pkg:pypi/codebase?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "codebase/setup.py" ], - "files": [ - "codebase/apache-2.0.LICENSE", - "codebase/cargo.toml", - "codebase/mit.LICENSE", - "codebase/README.txt", - "codebase/setup.py" + "datasource_ids": [ + "pypi_setup_py" ], - "purl": "pkg:pypi/codebase", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", - "repository_download_url": null, - "api_data_url": "https://pypi.org/pypi/codebase/json" + "purl": "pkg:pypi/codebase" } ], "summary": { @@ -365,10 +355,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:cargo/codebase", - "pkg:pypi/codebase" - ], + "for_packages": [], "is_legal": false, "is_manifest": false, "is_readme": true, @@ -446,10 +433,7 @@ "holders": [], "authors": [], "package_data": [], - "for_packages": [ - "pkg:cargo/codebase", - "pkg:pypi/codebase" - ], + "for_packages": [], "is_legal": true, "is_manifest": false, "is_readme": false, @@ -541,7 +525,7 @@ "qualifiers": {}, "subpath": null, "primary_language": "Rust", - "description": null, + "description": "", "release_date": null, "parties": [ { @@ -564,22 +548,22 @@ "code_view_url": null, "vcs_url": null, "copyright": null, - "license_expression": "mit", + "license_expression": null, "declared_license": "MIT", "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:cargo/codebase", "repository_homepage_url": "https://crates.io/crates/codebase", "repository_download_url": null, - "api_data_url": "https://crates.io/api/v1/crates/codebase" + "api_data_url": "https://crates.io/api/v1/crates/codebase", + "datasource_id": "cargo_toml", + "purl": "pkg:cargo/codebase" } ], "for_packages": [ - "pkg:cargo/codebase", - "pkg:pypi/codebase" + "pkg:cargo/codebase?uuid=fixed-uid-done-for-testing-5642512d1758" ], "is_legal": false, "is_manifest": true, @@ -658,10 +642,7 @@ "holders": [], "authors": [], "package_data": [], - "for_packages": [ - "pkg:cargo/codebase", - "pkg:pypi/codebase" - ], + "for_packages": [], "is_legal": true, "is_manifest": false, "is_readme": false, @@ -770,24 +751,24 @@ "code_view_url": null, "vcs_url": null, "copyright": null, - "license_expression": "apache-2.0", + "license_expression": null, "declared_license": { "license": "apache-2.0" }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:pypi/codebase", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/codebase", "repository_download_url": null, - "api_data_url": "https://pypi.org/pypi/codebase/json" + "api_data_url": "https://pypi.org/pypi/codebase/json", + "datasource_id": "pypi_setup_py", + "purl": "pkg:pypi/codebase" } ], "for_packages": [ - "pkg:cargo/codebase", - "pkg:pypi/codebase" + "pkg:pypi/codebase?uuid=fixed-uid-done-for-testing-5642512d1758" ], "is_legal": false, "is_manifest": true, diff --git a/tests/summarycode/data/summary/with_package_data/with_package_data.expected.json b/tests/summarycode/data/summary/with_package_data/with_package_data.expected.json index dad5752d513..233011cc881 100644 --- a/tests/summarycode/data/summary/with_package_data/with_package_data.expected.json +++ b/tests/summarycode/data/summary/with_package_data/with_package_data.expected.json @@ -61,23 +61,19 @@ "license": "apache-2.0" }, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, - "package_uuid": "pkg:pypi/codebase", - "package_data_files": [ + "repository_homepage_url": "https://pypi.org/project/codebase", + "repository_download_url": null, + "api_data_url": "https://pypi.org/pypi/codebase/json", + "package_uid": "pkg:pypi/codebase?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "codebase/setup.py" ], - "files": [ - "codebase/apache-2.0.LICENSE", - "codebase/mit.LICENSE", - "codebase/README.txt", - "codebase/setup.py" + "datasource_ids": [ + "pypi_setup_py" ], - "purl": "pkg:pypi/codebase", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", - "repository_download_url": null, - "api_data_url": "https://pypi.org/pypi/codebase/json" + "purl": "pkg:pypi/codebase" } ], "summary": { @@ -307,9 +303,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:pypi/codebase" - ], + "for_packages": [], "is_legal": false, "is_manifest": false, "is_readme": true, @@ -387,9 +381,7 @@ "holders": [], "authors": [], "package_data": [], - "for_packages": [ - "pkg:pypi/codebase" - ], + "for_packages": [], "is_legal": true, "is_manifest": false, "is_readme": false, @@ -467,9 +459,7 @@ "holders": [], "authors": [], "package_data": [], - "for_packages": [ - "pkg:pypi/codebase" - ], + "for_packages": [], "is_legal": true, "is_manifest": false, "is_readme": false, @@ -578,23 +568,24 @@ "code_view_url": null, "vcs_url": null, "copyright": null, - "license_expression": "apache-2.0", + "license_expression": null, "declared_license": { "license": "apache-2.0" }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:pypi/codebase", - "repository_homepage_url": "https://pypi.org/project/https://pypi.org", + "repository_homepage_url": "https://pypi.org/project/codebase", "repository_download_url": null, - "api_data_url": "https://pypi.org/pypi/codebase/json" + "api_data_url": "https://pypi.org/pypi/codebase/json", + "datasource_id": "pypi_setup_py", + "purl": "pkg:pypi/codebase" } ], "for_packages": [ - "pkg:pypi/codebase" + "pkg:pypi/codebase?uuid=fixed-uid-done-for-testing-5642512d1758" ], "is_legal": false, "is_manifest": true, diff --git a/tests/summarycode/data/tallies/full_tallies/tallies.expected.json b/tests/summarycode/data/tallies/full_tallies/tallies.expected.json index 127e8e7684c..6f610012c83 100644 --- a/tests/summarycode/data/tallies/full_tallies/tallies.expected.json +++ b/tests/summarycode/data/tallies/full_tallies/tallies.expected.json @@ -31,9 +31,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/abbrev", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/abbrev?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/ansi", @@ -43,9 +44,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/ansi", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/ansi?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/ansicolors", @@ -55,9 +57,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/ansicolors", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/ansicolors?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/ansistyles", @@ -67,9 +70,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/ansistyles", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/ansistyles?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/archy", @@ -79,9 +83,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/archy", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/archy?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/async-some", @@ -91,9 +96,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/async-some", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/async-some?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/block-stream", @@ -103,9 +109,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/block-stream", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/block-stream?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/char-spinner", @@ -115,9 +122,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/char-spinner", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/char-spinner?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/chmodr", @@ -127,9 +135,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/chmodr", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/chmodr?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/chownr", @@ -139,9 +148,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/chownr", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/chownr?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/cmd-shim", @@ -151,9 +161,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/cmd-shim", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/cmd-shim?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/columnify", @@ -163,9 +174,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/columnify", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/columnify?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/config-chain", @@ -175,9 +187,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/config-chain", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/config-chain?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/dezalgo", @@ -187,9 +200,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/dezalgo", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/dezalgo?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/editor", @@ -199,9 +213,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/editor", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/editor?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/fs-vacuum", @@ -211,9 +226,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/fs-vacuum", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/fs-vacuum?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/fs-write-stream-atomic", @@ -223,9 +239,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/fs-write-stream-atomic", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/fs-write-stream-atomic?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/fstream", @@ -235,9 +252,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/fstream", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/fstream?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/fstream-npm", @@ -247,9 +265,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/fstream-npm", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/fstream-npm?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/github-url-from-git", @@ -259,9 +278,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/github-url-from-git", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/github-url-from-git?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/github-url-from-username-repo", @@ -271,9 +291,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/github-url-from-username-repo", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/github-url-from-username-repo?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/glob", @@ -283,9 +304,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/glob", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/glob?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/graceful-fs", @@ -295,9 +317,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/graceful-fs", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/graceful-fs?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/hosted-git-info", @@ -307,9 +330,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/hosted-git-info", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/hosted-git-info?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/inflight", @@ -319,9 +343,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/inflight", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/inflight?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/inherits", @@ -331,9 +356,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/inherits", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/inherits?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/ini", @@ -343,9 +369,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/ini", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/ini?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/init-package-json", @@ -355,9 +382,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/init-package-json", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/init-package-json?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/lockfile", @@ -367,9 +395,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/lockfile", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/lockfile?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/lru-cache", @@ -379,9 +408,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/lru-cache", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/lru-cache?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/minimatch", @@ -391,9 +421,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/minimatch", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/minimatch?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/mkdirp", @@ -403,9 +434,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/mkdirp", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/mkdirp?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/node-gyp", @@ -415,9 +447,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/node-gyp", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/node-gyp?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/nopt", @@ -427,9 +460,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/nopt", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/nopt?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/normalize-git-url", @@ -439,9 +473,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/normalize-git-url", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/normalize-git-url?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/normalize-package-data", @@ -451,9 +486,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/normalize-package-data", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/normalize-package-data?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/npm-cache-filename", @@ -463,9 +499,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/npm-cache-filename", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/npm-cache-filename?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/npm-install-checks", @@ -475,9 +512,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/npm-install-checks", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/npm-install-checks?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/npm-package-arg", @@ -487,9 +525,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/npm-package-arg", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/npm-package-arg?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/npm-registry-client", @@ -499,9 +538,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/npm-registry-client", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/npm-registry-client?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/npm-user-validate", @@ -511,9 +551,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/npm-user-validate", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/npm-user-validate?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/npmlog", @@ -523,9 +564,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/npmlog", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/npmlog?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/once", @@ -535,9 +577,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/once", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/once?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/opener", @@ -547,9 +590,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/opener", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/opener?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/osenv", @@ -559,9 +603,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/osenv", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/osenv?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/path-is-inside", @@ -571,9 +616,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/path-is-inside", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/path-is-inside?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/read", @@ -583,9 +629,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/read", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/read?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/read-installed", @@ -595,9 +642,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/read-installed", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/read-installed?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/read-package-json", @@ -607,9 +655,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/read-package-json", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/read-package-json?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/readable-stream", @@ -619,9 +668,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/readable-stream", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/readable-stream?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/realize-package-specifier", @@ -631,9 +681,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/realize-package-specifier", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/realize-package-specifier?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/request", @@ -643,9 +694,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/request", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/request?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/retry", @@ -655,9 +707,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/retry", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/retry?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/rimraf", @@ -667,9 +720,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/rimraf", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/rimraf?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/semver", @@ -679,9 +733,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/semver", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/semver?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/sha", @@ -691,9 +746,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/sha", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/sha?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/slide", @@ -703,9 +759,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/slide", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/slide?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/sorted-object", @@ -715,9 +772,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/sorted-object", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/sorted-object?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/spdx", @@ -727,9 +785,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/spdx", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/spdx?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/tar", @@ -739,9 +798,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/tar", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/tar?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/text-table", @@ -751,9 +811,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/text-table", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/text-table?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/uid-number", @@ -763,9 +824,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/uid-number", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/uid-number?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/umask", @@ -775,9 +837,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/umask", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/umask?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/validate-npm-package-name", @@ -787,9 +850,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/validate-npm-package-name", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/validate-npm-package-name?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/which", @@ -799,9 +863,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/which", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/which?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/wrappy", @@ -811,9 +876,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/wrappy", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/wrappy?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/write-file-atomic", @@ -823,9 +889,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/write-file-atomic", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/write-file-atomic?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/validate-npm-package-license", @@ -835,9 +902,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/validate-npm-package-license", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/validate-npm-package-license?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/deep-equal", @@ -847,9 +915,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/deep-equal", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/deep-equal?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/marked", @@ -859,9 +928,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/marked", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/marked?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/marked-man", @@ -871,9 +941,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/marked-man", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/marked-man?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/nock", @@ -883,9 +954,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/nock", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/nock?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/npm-registry-couchapp", @@ -895,9 +967,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/npm-registry-couchapp", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/npm-registry-couchapp?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/npm-registry-mock", @@ -907,9 +980,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/npm-registry-mock", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/npm-registry-mock?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/require-inject", @@ -919,9 +993,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/require-inject", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/require-inject?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/sprintf-js", @@ -931,9 +1006,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/sprintf-js", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/sprintf-js?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/tap", @@ -943,9 +1019,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/tap", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/tap?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" } ], "packages": [ @@ -3160,45 +3237,19 @@ "Artistic-2.0" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, - "package_uuid": "pkg:npm/npm@2.13.5", - "package_data_files": [ + "repository_homepage_url": "https://www.npmjs.com/package/npm", + "repository_download_url": "https://registry.npmjs.org/npm/-/npm-2.13.5.tgz", + "api_data_url": "https://registry.npmjs.org/npm/2.13.5", + "package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "scan/package.json" ], - "files": [ - "scan/cc0-1.0.LICENSE", - "scan/package.json", - "scan/README", - "scan/arch/adler32.c", - "scan/arch/zlib.h", - "scan/arch/zutil.h", - "scan/JGroups/src/FixedMembershipToken.java", - "scan/JGroups/src/GuardedBy.java", - "scan/JGroups/src/ImmutableReference.java", - "scan/JGroups/src/RATE_LIMITER.java", - "scan/JGroups/src/RouterStub.java", - "scan/JGroups/src/RouterStubManager.java", - "scan/JGroups/src/S3_PING.java", - "scan/zlib/adler32.c", - "scan/zlib/deflate.c", - "scan/zlib/deflate.h", - "scan/zlib/zlib.h", - "scan/zlib/zutil.c", - "scan/zlib/zutil.h", - "scan/zlib/ada/zlib.ads", - "scan/zlib/dotzlib/AssemblyInfo.cs", - "scan/zlib/dotzlib/ChecksumImpl.cs", - "scan/zlib/gcc_gvmat64/gvmat64.S", - "scan/zlib/infback9/infback9.c", - "scan/zlib/infback9/infback9.h", - "scan/zlib/iostream2/zstream.h" + "datasource_ids": [ + "npm_package_json" ], - "purl": "pkg:npm/npm@2.13.5", - "repository_homepage_url": "https://www.npmjs.com/package/npm", - "repository_download_url": "https://registry.npmjs.org/npm/-/npm-2.13.5.tgz", - "api_data_url": "https://registry.npmjs.org/npm/2.13.5" + "purl": "pkg:npm/npm@2.13.5" } ], "tallies": { @@ -3553,9 +3604,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "files_count": 0, "dirs_count": 0, "size_count": 0, @@ -3646,9 +3695,7 @@ } ], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "files_count": 0, "dirs_count": 0, "size_count": 0, @@ -3733,9 +3780,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "files_count": 0, "dirs_count": 0, "size_count": 0, @@ -3773,9 +3818,7 @@ } ], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "files_count": 0, "dirs_count": 0, "size_count": 0, @@ -3813,9 +3856,7 @@ } ], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "files_count": 0, "dirs_count": 0, "size_count": 0, @@ -3900,9 +3941,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "files_count": 0, "dirs_count": 0, "size_count": 0, @@ -3940,9 +3979,7 @@ } ], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "files_count": 0, "dirs_count": 0, "size_count": 0, @@ -3974,9 +4011,7 @@ "holders": [], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "files_count": 0, "dirs_count": 0, "size_count": 0, @@ -4095,9 +4130,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "files_count": 0, "dirs_count": 0, "size_count": 0, @@ -4182,9 +4215,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "files_count": 0, "dirs_count": 0, "size_count": 0, @@ -4271,9 +4302,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "files_count": 0, "dirs_count": 0, "size_count": 0, @@ -4346,9 +4375,7 @@ "holders": [], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "files_count": 0, "dirs_count": 0, "size_count": 0, @@ -6638,8 +6665,8 @@ "Artistic-2.0" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -7336,14 +7363,15 @@ "resolved_package": {} } ], - "purl": "pkg:npm/npm@2.13.5", "repository_homepage_url": "https://www.npmjs.com/package/npm", "repository_download_url": "https://registry.npmjs.org/npm/-/npm-2.13.5.tgz", - "api_data_url": "https://registry.npmjs.org/npm/2.13.5" + "api_data_url": "https://registry.npmjs.org/npm/2.13.5", + "datasource_id": "npm_package_json", + "purl": "pkg:npm/npm@2.13.5" } ], "for_packages": [ - "pkg:npm/npm@2.13.5" + "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758" ], "files_count": 0, "dirs_count": 0, @@ -7533,9 +7561,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "files_count": 0, "dirs_count": 0, "size_count": 0, @@ -7622,9 +7648,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "files_count": 0, "dirs_count": 0, "size_count": 0, @@ -7711,9 +7735,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "files_count": 0, "dirs_count": 0, "size_count": 0, @@ -7800,9 +7822,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "files_count": 0, "dirs_count": 0, "size_count": 0, @@ -7878,9 +7898,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "files_count": 0, "dirs_count": 0, "size_count": 0, @@ -7967,9 +7985,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "files_count": 0, "dirs_count": 0, "size_count": 0, @@ -8092,9 +8108,7 @@ } ], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "files_count": 0, "dirs_count": 0, "size_count": 0, @@ -8213,9 +8227,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "files_count": 0, "dirs_count": 0, "size_count": 0, @@ -8302,9 +8314,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "files_count": 0, "dirs_count": 0, "size_count": 0, @@ -8421,9 +8431,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "files_count": 0, "dirs_count": 0, "size_count": 0, @@ -8508,9 +8516,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "files_count": 0, "dirs_count": 0, "size_count": 0, @@ -8597,9 +8603,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "files_count": 0, "dirs_count": 0, "size_count": 0, @@ -8686,9 +8690,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "files_count": 0, "dirs_count": 0, "size_count": 0, diff --git a/tests/summarycode/data/tallies/full_tallies/tallies_by_facet.expected.json b/tests/summarycode/data/tallies/full_tallies/tallies_by_facet.expected.json index ead32eb0e8e..ff0cb5807c7 100644 --- a/tests/summarycode/data/tallies/full_tallies/tallies_by_facet.expected.json +++ b/tests/summarycode/data/tallies/full_tallies/tallies_by_facet.expected.json @@ -42,9 +42,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/abbrev", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/abbrev?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/ansi", @@ -54,9 +55,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/ansi", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/ansi?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/ansicolors", @@ -66,9 +68,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/ansicolors", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/ansicolors?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/ansistyles", @@ -78,9 +81,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/ansistyles", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/ansistyles?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/archy", @@ -90,9 +94,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/archy", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/archy?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/async-some", @@ -102,9 +107,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/async-some", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/async-some?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/block-stream", @@ -114,9 +120,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/block-stream", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/block-stream?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/char-spinner", @@ -126,9 +133,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/char-spinner", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/char-spinner?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/chmodr", @@ -138,9 +146,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/chmodr", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/chmodr?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/chownr", @@ -150,9 +159,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/chownr", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/chownr?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/cmd-shim", @@ -162,9 +172,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/cmd-shim", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/cmd-shim?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/columnify", @@ -174,9 +185,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/columnify", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/columnify?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/config-chain", @@ -186,9 +198,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/config-chain", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/config-chain?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/dezalgo", @@ -198,9 +211,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/dezalgo", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/dezalgo?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/editor", @@ -210,9 +224,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/editor", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/editor?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/fs-vacuum", @@ -222,9 +237,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/fs-vacuum", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/fs-vacuum?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/fs-write-stream-atomic", @@ -234,9 +250,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/fs-write-stream-atomic", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/fs-write-stream-atomic?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/fstream", @@ -246,9 +263,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/fstream", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/fstream?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/fstream-npm", @@ -258,9 +276,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/fstream-npm", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/fstream-npm?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/github-url-from-git", @@ -270,9 +289,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/github-url-from-git", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/github-url-from-git?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/github-url-from-username-repo", @@ -282,9 +302,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/github-url-from-username-repo", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/github-url-from-username-repo?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/glob", @@ -294,9 +315,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/glob", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/glob?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/graceful-fs", @@ -306,9 +328,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/graceful-fs", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/graceful-fs?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/hosted-git-info", @@ -318,9 +341,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/hosted-git-info", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/hosted-git-info?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/inflight", @@ -330,9 +354,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/inflight", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/inflight?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/inherits", @@ -342,9 +367,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/inherits", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/inherits?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/ini", @@ -354,9 +380,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/ini", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/ini?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/init-package-json", @@ -366,9 +393,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/init-package-json", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/init-package-json?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/lockfile", @@ -378,9 +406,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/lockfile", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/lockfile?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/lru-cache", @@ -390,9 +419,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/lru-cache", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/lru-cache?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/minimatch", @@ -402,9 +432,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/minimatch", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/minimatch?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/mkdirp", @@ -414,9 +445,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/mkdirp", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/mkdirp?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/node-gyp", @@ -426,9 +458,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/node-gyp", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/node-gyp?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/nopt", @@ -438,9 +471,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/nopt", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/nopt?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/normalize-git-url", @@ -450,9 +484,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/normalize-git-url", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/normalize-git-url?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/normalize-package-data", @@ -462,9 +497,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/normalize-package-data", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/normalize-package-data?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/npm-cache-filename", @@ -474,9 +510,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/npm-cache-filename", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/npm-cache-filename?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/npm-install-checks", @@ -486,9 +523,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/npm-install-checks", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/npm-install-checks?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/npm-package-arg", @@ -498,9 +536,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/npm-package-arg", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/npm-package-arg?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/npm-registry-client", @@ -510,9 +549,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/npm-registry-client", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/npm-registry-client?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/npm-user-validate", @@ -522,9 +562,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/npm-user-validate", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/npm-user-validate?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/npmlog", @@ -534,9 +575,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/npmlog", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/npmlog?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/once", @@ -546,9 +588,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/once", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/once?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/opener", @@ -558,9 +601,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/opener", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/opener?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/osenv", @@ -570,9 +614,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/osenv", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/osenv?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/path-is-inside", @@ -582,9 +627,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/path-is-inside", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/path-is-inside?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/read", @@ -594,9 +640,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/read", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/read?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/read-installed", @@ -606,9 +653,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/read-installed", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/read-installed?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/read-package-json", @@ -618,9 +666,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/read-package-json", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/read-package-json?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/readable-stream", @@ -630,9 +679,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/readable-stream", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/readable-stream?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/realize-package-specifier", @@ -642,9 +692,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/realize-package-specifier", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/realize-package-specifier?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/request", @@ -654,9 +705,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/request", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/request?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/retry", @@ -666,9 +718,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/retry", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/retry?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/rimraf", @@ -678,9 +731,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/rimraf", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/rimraf?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/semver", @@ -690,9 +744,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/semver", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/semver?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/sha", @@ -702,9 +757,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/sha", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/sha?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/slide", @@ -714,9 +770,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/slide", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/slide?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/sorted-object", @@ -726,9 +783,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/sorted-object", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/sorted-object?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/spdx", @@ -738,9 +796,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/spdx", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/spdx?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/tar", @@ -750,9 +809,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/tar", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/tar?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/text-table", @@ -762,9 +822,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/text-table", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/text-table?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/uid-number", @@ -774,9 +835,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/uid-number", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/uid-number?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/umask", @@ -786,9 +848,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/umask", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/umask?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/validate-npm-package-name", @@ -798,9 +861,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/validate-npm-package-name", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/validate-npm-package-name?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/which", @@ -810,9 +874,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/which", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/which?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/wrappy", @@ -822,9 +887,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/wrappy", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/wrappy?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/write-file-atomic", @@ -834,9 +900,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/write-file-atomic", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/write-file-atomic?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/validate-npm-package-license", @@ -846,9 +913,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/validate-npm-package-license", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/validate-npm-package-license?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/deep-equal", @@ -858,9 +926,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/deep-equal", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/deep-equal?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/marked", @@ -870,9 +939,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/marked", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/marked?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/marked-man", @@ -882,9 +952,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/marked-man", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/marked-man?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/nock", @@ -894,9 +965,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/nock", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/nock?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/npm-registry-couchapp", @@ -906,9 +978,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/npm-registry-couchapp", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/npm-registry-couchapp?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/npm-registry-mock", @@ -918,9 +991,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/npm-registry-mock", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/npm-registry-mock?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/require-inject", @@ -930,9 +1004,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/require-inject", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/require-inject?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/sprintf-js", @@ -942,9 +1017,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/sprintf-js", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/sprintf-js?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/tap", @@ -954,9 +1030,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/tap", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/tap?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" } ], "packages": [ @@ -3171,45 +3248,19 @@ "Artistic-2.0" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, - "package_uuid": "pkg:npm/npm@2.13.5", - "package_data_files": [ - "scan/package.json" - ], - "files": [ - "scan/cc0-1.0.LICENSE", - "scan/package.json", - "scan/README", - "scan/arch/adler32.c", - "scan/arch/zlib.h", - "scan/arch/zutil.h", - "scan/JGroups/src/FixedMembershipToken.java", - "scan/JGroups/src/GuardedBy.java", - "scan/JGroups/src/ImmutableReference.java", - "scan/JGroups/src/RATE_LIMITER.java", - "scan/JGroups/src/RouterStub.java", - "scan/JGroups/src/RouterStubManager.java", - "scan/JGroups/src/S3_PING.java", - "scan/zlib/adler32.c", - "scan/zlib/deflate.c", - "scan/zlib/deflate.h", - "scan/zlib/zlib.h", - "scan/zlib/zutil.c", - "scan/zlib/zutil.h", - "scan/zlib/ada/zlib.ads", - "scan/zlib/dotzlib/AssemblyInfo.cs", - "scan/zlib/dotzlib/ChecksumImpl.cs", - "scan/zlib/gcc_gvmat64/gvmat64.S", - "scan/zlib/infback9/infback9.c", - "scan/zlib/infback9/infback9.h", - "scan/zlib/iostream2/zstream.h" - ], - "purl": "pkg:npm/npm@2.13.5", "repository_homepage_url": "https://www.npmjs.com/package/npm", "repository_download_url": "https://registry.npmjs.org/npm/-/npm-2.13.5.tgz", - "api_data_url": "https://registry.npmjs.org/npm/2.13.5" + "api_data_url": "https://registry.npmjs.org/npm/2.13.5", + "package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "scan/package.json" + ], + "datasource_ids": [ + "npm_package_json" + ], + "purl": "pkg:npm/npm@2.13.5" } ], "tallies": { @@ -3826,9 +3877,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "emails": [], "urls": [ { @@ -3930,9 +3979,7 @@ } ], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "emails": [], "urls": [ { @@ -4033,9 +4080,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "emails": [], "urls": [ { @@ -4084,9 +4129,7 @@ } ], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "emails": [], "urls": [], "facets": [ @@ -4129,9 +4172,7 @@ } ], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "emails": [], "urls": [], "facets": [ @@ -4221,9 +4262,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "emails": [], "urls": [ { @@ -4272,9 +4311,7 @@ } ], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "emails": [], "urls": [], "facets": [ @@ -4311,9 +4348,7 @@ "holders": [], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "emails": [], "urls": [ { @@ -4451,9 +4486,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "emails": [], "urls": [], "facets": [ @@ -4543,9 +4576,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "emails": [ { "email": "jloup@gzip.org", @@ -4654,9 +4685,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "emails": [], "urls": [], "facets": [ @@ -4734,9 +4763,7 @@ "holders": [], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "emails": [], "urls": [], "facets": [ @@ -7031,8 +7058,8 @@ "Artistic-2.0" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -7729,14 +7756,15 @@ "resolved_package": {} } ], - "purl": "pkg:npm/npm@2.13.5", "repository_homepage_url": "https://www.npmjs.com/package/npm", "repository_download_url": "https://registry.npmjs.org/npm/-/npm-2.13.5.tgz", - "api_data_url": "https://registry.npmjs.org/npm/2.13.5" + "api_data_url": "https://registry.npmjs.org/npm/2.13.5", + "datasource_id": "npm_package_json", + "purl": "pkg:npm/npm@2.13.5" } ], "for_packages": [ - "pkg:npm/npm@2.13.5" + "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758" ], "emails": [ { @@ -8219,9 +8247,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "emails": [], "urls": [], "facets": [ @@ -8313,9 +8339,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "emails": [], "urls": [], "facets": [ @@ -8407,9 +8431,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "emails": [], "urls": [], "facets": [ @@ -8501,9 +8523,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "emails": [], "urls": [], "facets": [ @@ -8587,9 +8607,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "emails": [], "urls": [], "facets": [ @@ -8681,9 +8699,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "emails": [], "urls": [ { @@ -8820,9 +8836,7 @@ } ], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "emails": [], "urls": [ { @@ -8965,9 +8979,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "emails": [], "urls": [], "facets": [ @@ -9059,9 +9071,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "emails": [], "urls": [], "facets": [ @@ -9186,9 +9196,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "emails": [], "urls": [ { @@ -9284,9 +9292,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "emails": [ { "email": "jloup@gzip.org", @@ -9389,9 +9395,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "emails": [], "urls": [], "facets": [ @@ -9483,9 +9487,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "emails": [], "urls": [], "facets": [ diff --git a/tests/summarycode/data/tallies/full_tallies/tallies_details.expected.json b/tests/summarycode/data/tallies/full_tallies/tallies_details.expected.json index f491069f71c..e196367b074 100644 --- a/tests/summarycode/data/tallies/full_tallies/tallies_details.expected.json +++ b/tests/summarycode/data/tallies/full_tallies/tallies_details.expected.json @@ -31,9 +31,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/abbrev", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/abbrev?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/ansi", @@ -43,9 +44,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/ansi", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/ansi?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/ansicolors", @@ -55,9 +57,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/ansicolors", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/ansicolors?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/ansistyles", @@ -67,9 +70,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/ansistyles", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/ansistyles?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/archy", @@ -79,9 +83,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/archy", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/archy?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/async-some", @@ -91,9 +96,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/async-some", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/async-some?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/block-stream", @@ -103,9 +109,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/block-stream", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/block-stream?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/char-spinner", @@ -115,9 +122,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/char-spinner", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/char-spinner?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/chmodr", @@ -127,9 +135,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/chmodr", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/chmodr?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/chownr", @@ -139,9 +148,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/chownr", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/chownr?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/cmd-shim", @@ -151,9 +161,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/cmd-shim", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/cmd-shim?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/columnify", @@ -163,9 +174,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/columnify", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/columnify?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/config-chain", @@ -175,9 +187,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/config-chain", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/config-chain?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/dezalgo", @@ -187,9 +200,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/dezalgo", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/dezalgo?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/editor", @@ -199,9 +213,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/editor", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/editor?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/fs-vacuum", @@ -211,9 +226,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/fs-vacuum", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/fs-vacuum?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/fs-write-stream-atomic", @@ -223,9 +239,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/fs-write-stream-atomic", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/fs-write-stream-atomic?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/fstream", @@ -235,9 +252,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/fstream", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/fstream?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/fstream-npm", @@ -247,9 +265,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/fstream-npm", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/fstream-npm?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/github-url-from-git", @@ -259,9 +278,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/github-url-from-git", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/github-url-from-git?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/github-url-from-username-repo", @@ -271,9 +291,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/github-url-from-username-repo", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/github-url-from-username-repo?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/glob", @@ -283,9 +304,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/glob", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/glob?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/graceful-fs", @@ -295,9 +317,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/graceful-fs", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/graceful-fs?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/hosted-git-info", @@ -307,9 +330,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/hosted-git-info", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/hosted-git-info?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/inflight", @@ -319,9 +343,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/inflight", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/inflight?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/inherits", @@ -331,9 +356,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/inherits", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/inherits?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/ini", @@ -343,9 +369,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/ini", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/ini?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/init-package-json", @@ -355,9 +382,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/init-package-json", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/init-package-json?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/lockfile", @@ -367,9 +395,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/lockfile", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/lockfile?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/lru-cache", @@ -379,9 +408,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/lru-cache", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/lru-cache?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/minimatch", @@ -391,9 +421,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/minimatch", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/minimatch?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/mkdirp", @@ -403,9 +434,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/mkdirp", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/mkdirp?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/node-gyp", @@ -415,9 +447,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/node-gyp", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/node-gyp?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/nopt", @@ -427,9 +460,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/nopt", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/nopt?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/normalize-git-url", @@ -439,9 +473,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/normalize-git-url", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/normalize-git-url?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/normalize-package-data", @@ -451,9 +486,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/normalize-package-data", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/normalize-package-data?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/npm-cache-filename", @@ -463,9 +499,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/npm-cache-filename", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/npm-cache-filename?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/npm-install-checks", @@ -475,9 +512,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/npm-install-checks", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/npm-install-checks?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/npm-package-arg", @@ -487,9 +525,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/npm-package-arg", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/npm-package-arg?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/npm-registry-client", @@ -499,9 +538,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/npm-registry-client", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/npm-registry-client?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/npm-user-validate", @@ -511,9 +551,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/npm-user-validate", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/npm-user-validate?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/npmlog", @@ -523,9 +564,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/npmlog", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/npmlog?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/once", @@ -535,9 +577,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/once", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/once?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/opener", @@ -547,9 +590,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/opener", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/opener?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/osenv", @@ -559,9 +603,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/osenv", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/osenv?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/path-is-inside", @@ -571,9 +616,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/path-is-inside", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/path-is-inside?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/read", @@ -583,9 +629,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/read", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/read?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/read-installed", @@ -595,9 +642,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/read-installed", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/read-installed?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/read-package-json", @@ -607,9 +655,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/read-package-json", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/read-package-json?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/readable-stream", @@ -619,9 +668,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/readable-stream", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/readable-stream?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/realize-package-specifier", @@ -631,9 +681,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/realize-package-specifier", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/realize-package-specifier?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/request", @@ -643,9 +694,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/request", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/request?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/retry", @@ -655,9 +707,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/retry", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/retry?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/rimraf", @@ -667,9 +720,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/rimraf", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/rimraf?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/semver", @@ -679,9 +733,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/semver", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/semver?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/sha", @@ -691,9 +746,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/sha", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/sha?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/slide", @@ -703,9 +759,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/slide", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/slide?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/sorted-object", @@ -715,9 +772,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/sorted-object", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/sorted-object?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/spdx", @@ -727,9 +785,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/spdx", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/spdx?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/tar", @@ -739,9 +798,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/tar", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/tar?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/text-table", @@ -751,9 +811,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/text-table", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/text-table?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/uid-number", @@ -763,9 +824,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/uid-number", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/uid-number?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/umask", @@ -775,9 +837,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/umask", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/umask?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/validate-npm-package-name", @@ -787,9 +850,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/validate-npm-package-name", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/validate-npm-package-name?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/which", @@ -799,9 +863,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/which", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/which?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/wrappy", @@ -811,9 +876,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/wrappy", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/wrappy?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/write-file-atomic", @@ -823,9 +889,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/write-file-atomic", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/write-file-atomic?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/validate-npm-package-license", @@ -835,9 +902,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/validate-npm-package-license", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/validate-npm-package-license?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/deep-equal", @@ -847,9 +915,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/deep-equal", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/deep-equal?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/marked", @@ -859,9 +928,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/marked", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/marked?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/marked-man", @@ -871,9 +941,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/marked-man", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/marked-man?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/nock", @@ -883,9 +954,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/nock", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/nock?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/npm-registry-couchapp", @@ -895,9 +967,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/npm-registry-couchapp", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/npm-registry-couchapp?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/npm-registry-mock", @@ -907,9 +980,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/npm-registry-mock", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/npm-registry-mock?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/require-inject", @@ -919,9 +993,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/require-inject", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/require-inject?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/sprintf-js", @@ -931,9 +1006,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/sprintf-js", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/sprintf-js?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/tap", @@ -943,9 +1019,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/tap", - "for_package": "pkg:npm/npm@2.13.5", - "lockfile": "scan/package.json" + "dependency_uid": "pkg:npm/tap?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/package.json", + "datasource_id": "npm_package_json" } ], "packages": [ @@ -3160,45 +3237,19 @@ "Artistic-2.0" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, - "package_uuid": "pkg:npm/npm@2.13.5", - "package_data_files": [ + "repository_homepage_url": "https://www.npmjs.com/package/npm", + "repository_download_url": "https://registry.npmjs.org/npm/-/npm-2.13.5.tgz", + "api_data_url": "https://registry.npmjs.org/npm/2.13.5", + "package_uid": "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "scan/package.json" ], - "files": [ - "scan/cc0-1.0.LICENSE", - "scan/package.json", - "scan/README", - "scan/arch/adler32.c", - "scan/arch/zlib.h", - "scan/arch/zutil.h", - "scan/JGroups/src/FixedMembershipToken.java", - "scan/JGroups/src/GuardedBy.java", - "scan/JGroups/src/ImmutableReference.java", - "scan/JGroups/src/RATE_LIMITER.java", - "scan/JGroups/src/RouterStub.java", - "scan/JGroups/src/RouterStubManager.java", - "scan/JGroups/src/S3_PING.java", - "scan/zlib/adler32.c", - "scan/zlib/deflate.c", - "scan/zlib/deflate.h", - "scan/zlib/zlib.h", - "scan/zlib/zutil.c", - "scan/zlib/zutil.h", - "scan/zlib/ada/zlib.ads", - "scan/zlib/dotzlib/AssemblyInfo.cs", - "scan/zlib/dotzlib/ChecksumImpl.cs", - "scan/zlib/gcc_gvmat64/gvmat64.S", - "scan/zlib/infback9/infback9.c", - "scan/zlib/infback9/infback9.h", - "scan/zlib/iostream2/zstream.h" + "datasource_ids": [ + "npm_package_json" ], - "purl": "pkg:npm/npm@2.13.5", - "repository_homepage_url": "https://www.npmjs.com/package/npm", - "repository_download_url": "https://registry.npmjs.org/npm/-/npm-2.13.5.tgz", - "api_data_url": "https://registry.npmjs.org/npm/2.13.5" + "purl": "pkg:npm/npm@2.13.5" } ], "tallies": { @@ -3873,9 +3924,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "tallies": { "license_expressions": [ { @@ -3998,9 +4047,7 @@ } ], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "tallies": { "license_expressions": [ { @@ -4117,9 +4164,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "tallies": { "license_expressions": [ { @@ -4189,9 +4234,7 @@ } ], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "tallies": { "license_expressions": [ { @@ -4261,9 +4304,7 @@ } ], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "tallies": { "license_expressions": [ { @@ -4380,9 +4421,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "tallies": { "license_expressions": [ { @@ -4452,9 +4491,7 @@ } ], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "tallies": { "license_expressions": [ { @@ -4518,9 +4555,7 @@ "holders": [], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "tallies": { "license_expressions": [ { @@ -4719,9 +4754,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "tallies": { "license_expressions": [ { @@ -4838,9 +4871,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "tallies": { "license_expressions": [ { @@ -4959,9 +4990,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "tallies": { "license_expressions": [ { @@ -5066,9 +5095,7 @@ "holders": [], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "tallies": { "license_expressions": [ { @@ -7390,8 +7417,8 @@ "Artistic-2.0" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -8088,14 +8115,15 @@ "resolved_package": {} } ], - "purl": "pkg:npm/npm@2.13.5", "repository_homepage_url": "https://www.npmjs.com/package/npm", "repository_download_url": "https://registry.npmjs.org/npm/-/npm-2.13.5.tgz", - "api_data_url": "https://registry.npmjs.org/npm/2.13.5" + "api_data_url": "https://registry.npmjs.org/npm/2.13.5", + "datasource_id": "npm_package_json", + "purl": "pkg:npm/npm@2.13.5" } ], "for_packages": [ - "pkg:npm/npm@2.13.5" + "pkg:npm/npm@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758" ], "tallies": { "license_expressions": [ @@ -8452,9 +8480,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "tallies": { "license_expressions": [ { @@ -8573,9 +8599,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "tallies": { "license_expressions": [ { @@ -8694,9 +8718,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "tallies": { "license_expressions": [ { @@ -8815,9 +8837,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "tallies": { "license_expressions": [ { @@ -8961,9 +8981,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "tallies": { "license_expressions": [ { @@ -9082,9 +9100,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "tallies": { "license_expressions": [ { @@ -9271,9 +9287,7 @@ } ], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "tallies": { "license_expressions": [ { @@ -9456,9 +9470,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "tallies": { "license_expressions": [ { @@ -9577,9 +9589,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "tallies": { "license_expressions": [ { @@ -9760,9 +9770,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "tallies": { "license_expressions": [ { @@ -9879,9 +9887,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "tallies": { "license_expressions": [ { @@ -10000,9 +10006,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "tallies": { "license_expressions": [ { @@ -10121,9 +10125,7 @@ ], "authors": [], "package_data": [], - "for_packages": [ - "pkg:npm/npm@2.13.5" - ], + "for_packages": [], "tallies": { "license_expressions": [ { diff --git a/tests/summarycode/data/tallies/packages/expected.json b/tests/summarycode/data/tallies/packages/expected.json index 6826bb3bde0..d2816cff770 100644 --- a/tests/summarycode/data/tallies/packages/expected.json +++ b/tests/summarycode/data/tallies/packages/expected.json @@ -28,9 +28,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/%40angular-devkit/build-optimizer", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/%40angular-devkit/build-optimizer?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/autoprefixer", @@ -40,9 +41,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/autoprefixer", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/autoprefixer?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/chalk", @@ -52,9 +54,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/chalk", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/chalk?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/chokidar", @@ -64,9 +67,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/chokidar", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/chokidar?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/clean-css", @@ -76,9 +80,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/clean-css", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/clean-css?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/cross-spawn", @@ -88,9 +93,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/cross-spawn", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/cross-spawn?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/express", @@ -100,9 +106,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/express", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/express?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/fs-extra", @@ -112,9 +119,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/fs-extra", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/fs-extra?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/glob", @@ -124,9 +132,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/glob", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/glob?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/json-loader", @@ -136,9 +145,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/json-loader", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/json-loader?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/node-sass", @@ -148,9 +158,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/node-sass", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/node-sass?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/os-name", @@ -160,9 +171,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/os-name", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/os-name?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/postcss", @@ -172,9 +184,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/postcss", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/postcss?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/proxy-middleware", @@ -184,9 +197,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/proxy-middleware", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/proxy-middleware?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/reflect-metadata", @@ -196,9 +210,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/reflect-metadata", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/reflect-metadata?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/rollup", @@ -208,9 +223,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/rollup", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/rollup?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/rollup-plugin-commonjs", @@ -220,9 +236,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/rollup-plugin-commonjs", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/rollup-plugin-commonjs?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/rollup-plugin-node-resolve", @@ -232,9 +249,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/rollup-plugin-node-resolve", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/rollup-plugin-node-resolve?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/source-map", @@ -244,9 +262,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/source-map", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/source-map?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/tiny-lr", @@ -256,9 +275,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/tiny-lr", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/tiny-lr?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/tslint", @@ -268,9 +288,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/tslint", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/tslint?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/tslint-eslint-rules", @@ -280,9 +301,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/tslint-eslint-rules", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/tslint-eslint-rules?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/uglify-es", @@ -292,9 +314,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/uglify-es", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/uglify-es?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/webpack", @@ -304,9 +327,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/webpack", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/webpack?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/ws", @@ -316,9 +340,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/ws", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/ws?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/xml2js", @@ -328,9 +353,10 @@ "is_optional": false, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/xml2js", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/xml2js?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/%40angular/animations", @@ -340,9 +366,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/%40angular/animations", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/%40angular/animations?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/%40angular/common", @@ -352,9 +379,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/%40angular/common", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/%40angular/common?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/%40angular/compiler", @@ -364,9 +392,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/%40angular/compiler", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/%40angular/compiler?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/%40angular/compiler-cli", @@ -376,9 +405,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/%40angular/compiler-cli", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/%40angular/compiler-cli?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/%40angular/core", @@ -388,9 +418,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/%40angular/core", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/%40angular/core?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/%40angular/forms", @@ -400,9 +431,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/%40angular/forms", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/%40angular/forms?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/%40angular/http", @@ -412,9 +444,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/%40angular/http", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/%40angular/http?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/%40angular/platform-browser", @@ -424,9 +457,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/%40angular/platform-browser", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/%40angular/platform-browser?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/%40angular/platform-browser-dynamic", @@ -436,9 +470,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/%40angular/platform-browser-dynamic", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/%40angular/platform-browser-dynamic?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/%40angular/platform-server", @@ -448,9 +483,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/%40angular/platform-server", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/%40angular/platform-server?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/%40angular/tsc-wrapped", @@ -460,9 +496,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/%40angular/tsc-wrapped", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/%40angular/tsc-wrapped?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/%40types/chokidar", @@ -472,9 +509,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/%40types/chokidar", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/%40types/chokidar?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/%40types/clean-css", @@ -484,9 +522,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/%40types/clean-css", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/%40types/clean-css?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/%40types/express", @@ -496,9 +535,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/%40types/express", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/%40types/express?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/%40types/fs-extra", @@ -508,9 +548,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/%40types/fs-extra", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/%40types/fs-extra?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/%40types/glob", @@ -520,9 +561,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/%40types/glob", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/%40types/glob?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/%40types/jest", @@ -532,9 +574,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/%40types/jest", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/%40types/jest?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/%40types/mock-fs", @@ -544,9 +587,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/%40types/mock-fs", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/%40types/mock-fs?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/%40types/node", @@ -556,9 +600,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/%40types/node", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/%40types/node?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/%40types/node-sass", @@ -568,9 +613,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/%40types/node-sass", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/%40types/node-sass?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/%40types/rewire", @@ -580,9 +626,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/%40types/rewire", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/%40types/rewire?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/%40types/webpack", @@ -592,9 +639,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/%40types/webpack", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/%40types/webpack?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/%40types/ws", @@ -604,9 +652,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/%40types/ws", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/%40types/ws?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/conventional-changelog-cli", @@ -616,9 +665,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/conventional-changelog-cli", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/conventional-changelog-cli?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/github", @@ -628,9 +678,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/github", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/github?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/ionic-cz-conventional-changelog", @@ -640,9 +691,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/ionic-cz-conventional-changelog", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/ionic-cz-conventional-changelog?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/jest", @@ -652,9 +704,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/jest", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/jest?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/mock-fs", @@ -664,9 +717,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/mock-fs", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/mock-fs?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/rewire", @@ -676,9 +730,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/rewire", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/rewire?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/rimraf", @@ -688,9 +743,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/rimraf", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/rimraf?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/rxjs", @@ -700,9 +756,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/rxjs", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/rxjs?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/sw-toolbox", @@ -712,9 +769,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/sw-toolbox", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/sw-toolbox?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/tslint-ionic-rules", @@ -724,9 +782,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/tslint-ionic-rules", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/tslint-ionic-rules?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/typescript", @@ -736,9 +795,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/typescript", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/typescript?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" }, { "purl": "pkg:npm/zone.js", @@ -748,9 +808,10 @@ "is_optional": true, "is_resolved": false, "resolved_package": {}, - "dependency_uuid": "pkg:npm/zone.js", - "for_package": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "lockfile": "scan/scoped1/package.json" + "dependency_uid": "pkg:npm/zone.js?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/scoped1/package.json", + "datasource_id": "npm_package_json" } ], "packages": [ @@ -777,7 +838,7 @@ "code_view_url": null, "vcs_url": null, "copyright": null, - "license_expression": "public-domain", + "license_expression": "public-domain AND unknown", "declared_license": [ { "name": "Public Domain", @@ -787,22 +848,21 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/aopalliance/aopalliance@1.0?classifier=sources" ], "extra_data": {}, - "package_uuid": "pkg:maven/aopalliance/aopalliance@1.0", - "package_data_files": [ + "repository_homepage_url": "https://repo1.maven.org/maven2/aopalliance/aopalliance/1.0/", + "repository_download_url": "https://repo1.maven.org/maven2/aopalliance/aopalliance/1.0/aopalliance-1.0.jar", + "api_data_url": "https://repo1.maven.org/maven2/aopalliance/aopalliance/1.0/aopalliance-1.0.pom", + "package_uid": "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "scan/aopalliance/aopalliance/1.0/aopalliance-1.0.pom" ], - "files": [ - "scan/aopalliance/aopalliance/1.0/aopalliance-1.0.pom" + "datasource_ids": [ + "maven_pom" ], - "purl": "pkg:maven/aopalliance/aopalliance@1.0", - "repository_homepage_url": "https://repo1.maven.org/maven2/aopalliance/aopalliance/1.0/", - "repository_download_url": "https://repo1.maven.org/maven2/aopalliance/aopalliance/1.0/aopalliance-1.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/aopalliance/aopalliance/1.0/aopalliance-1.0.pom" + "purl": "pkg:maven/aopalliance/aopalliance@1.0" }, { "type": "freebsd", @@ -848,20 +908,19 @@ "licenselogic": "single" }, "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, - "package_uuid": "pkg:freebsd/dmidecode@2.12?arch=freebsd:10:x86:64&origin=sysutils/dmidecode", - "package_data_files": [ + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "package_uid": "pkg:freebsd/dmidecode@2.12?arch=freebsd:10:x86:64&origin=sysutils/dmidecode&uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "scan/freebsd/basic/+COMPACT_MANIFEST" ], - "files": [ - "scan/freebsd/basic/+COMPACT_MANIFEST" + "datasource_ids": [ + "freebsd_compact_manifest" ], - "purl": "pkg:freebsd/dmidecode@2.12?arch=freebsd:10:x86:64&origin=sysutils/dmidecode", - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null + "purl": "pkg:freebsd/dmidecode@2.12?arch=freebsd:10:x86:64&origin=sysutils/dmidecode" }, { "type": "npm", @@ -899,20 +958,19 @@ "MIT" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], "extra_data": {}, - "package_uuid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "package_data_files": [ + "repository_homepage_url": "https://www.npmjs.com/package/@ionic/app-scripts", + "repository_download_url": "https://registry.npmjs.org/@ionic/app-scripts/-/app-scripts-3.0.1-201710301651.tgz", + "api_data_url": "https://registry.npmjs.org/@ionic%2fapp-scripts", + "package_uid": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ "scan/scoped1/package.json" ], - "files": [ - "scan/scoped1/package.json" + "datasource_ids": [ + "npm_package_json" ], - "purl": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", - "repository_homepage_url": "https://www.npmjs.com/package/@ionic/app-scripts", - "repository_download_url": "https://registry.npmjs.org/@ionic/app-scripts/-/app-scripts-3.0.1-201710301651.tgz", - "api_data_url": "https://registry.npmjs.org/@ionic%2fapp-scripts" + "purl": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651" } ], "tallies": {}, @@ -935,14 +993,18 @@ "path": "scan/aopalliance/aopalliance", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { "path": "scan/aopalliance/aopalliance/1.0", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "scan_errors": [] }, { @@ -972,7 +1034,7 @@ "code_view_url": null, "vcs_url": null, "copyright": null, - "license_expression": "public-domain", + "license_expression": "public-domain AND unknown", "declared_license": [ { "name": "Public Domain", @@ -982,20 +1044,21 @@ } ], "notice_text": null, - "contains_source_code": null, "source_packages": [ "pkg:maven/aopalliance/aopalliance@1.0?classifier=sources" ], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:maven/aopalliance/aopalliance@1.0", "repository_homepage_url": "https://repo1.maven.org/maven2/aopalliance/aopalliance/1.0/", "repository_download_url": "https://repo1.maven.org/maven2/aopalliance/aopalliance/1.0/aopalliance-1.0.jar", - "api_data_url": "https://repo1.maven.org/maven2/aopalliance/aopalliance/1.0/aopalliance-1.0.pom" + "api_data_url": "https://repo1.maven.org/maven2/aopalliance/aopalliance/1.0/aopalliance-1.0.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/aopalliance/aopalliance@1.0" } ], "for_packages": [ - "pkg:maven/aopalliance/aopalliance@1.0" + "pkg:maven/aopalliance/aopalliance@1.0?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -1061,18 +1124,19 @@ "licenselogic": "single" }, "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [], - "purl": "pkg:freebsd/dmidecode@2.12?arch=freebsd:10:x86:64&origin=sysutils/dmidecode", "repository_homepage_url": null, "repository_download_url": null, - "api_data_url": null + "api_data_url": null, + "datasource_id": "freebsd_compact_manifest", + "purl": "pkg:freebsd/dmidecode@2.12?arch=freebsd:10:x86:64&origin=sysutils/dmidecode" } ], "for_packages": [ - "pkg:freebsd/dmidecode@2.12?arch=freebsd:10:x86:64&origin=sysutils/dmidecode" + "pkg:freebsd/dmidecode@2.12?arch=freebsd:10:x86:64&origin=sysutils/dmidecode&uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, @@ -1123,8 +1187,8 @@ "MIT" ], "notice_text": null, - "contains_source_code": null, "source_packages": [], + "file_references": [], "extra_data": {}, "dependencies": [ { @@ -1677,14 +1741,15 @@ "resolved_package": {} } ], - "purl": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651", "repository_homepage_url": "https://www.npmjs.com/package/@ionic/app-scripts", "repository_download_url": "https://registry.npmjs.org/@ionic/app-scripts/-/app-scripts-3.0.1-201710301651.tgz", - "api_data_url": "https://registry.npmjs.org/@ionic%2fapp-scripts" + "api_data_url": "https://registry.npmjs.org/@ionic%2fapp-scripts", + "datasource_id": "npm_package_json", + "purl": "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651" } ], "for_packages": [ - "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651" + "pkg:npm/%40ionic/app-scripts@3.0.1-201710301651?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] } diff --git a/tests/summarycode/test_plugin_consolidate.py b/tests/summarycode/test_plugin_consolidate.py index a61179c7944..be3fa57b138 100644 --- a/tests/summarycode/test_plugin_consolidate.py +++ b/tests/summarycode/test_plugin_consolidate.py @@ -19,18 +19,12 @@ class TestConsolidate(FileDrivenTesting): test_data_dir = path.join(path.dirname(__file__), 'data') - def get_scan(self, test_loc, cli_options='-clip'): - scan_loc = self.get_test_loc(test_loc) - scan_file = self.get_temp_file('json') - run_scan_click(['-clip', scan_loc, '--json', scan_file]) - return scan_file - def test_consolidate_package(self): scan_loc = self.get_test_loc('plugin_consolidate/package') result_file = self.get_temp_file('json') expected_file = self.get_test_loc('plugin_consolidate/package-fileset-expected.json') run_scan_click(['-clip', scan_loc, '--consolidate', '--json', result_file]) - check_json_scan(expected_file, result_file, remove_instance_uuid=True, regen=REGEN_TEST_FIXTURES, remove_file_date=True) + check_json_scan(expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES, remove_file_date=True) def test_consolidate_package_files_should_not_be_considered_in_license_holder_consolidated_component(self): scan_loc = self.get_test_loc('plugin_consolidate/package-files-not-counted-in-license-holders') @@ -40,45 +34,35 @@ def test_consolidate_package_files_should_not_be_considered_in_license_holder_co # expression and holder expected_file = self.get_test_loc('plugin_consolidate/package-files-not-counted-in-license-holders-expected.json') run_scan_click(['-clip', scan_loc, '--consolidate', '--json', result_file]) - check_json_scan(expected_file, result_file, remove_instance_uuid=True, regen=REGEN_TEST_FIXTURES, remove_file_date=True) + check_json_scan(expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES, remove_file_date=True) def test_consolidate_component_package_from_json_can_run_twice(self): - scan_file = self.get_scan('plugin_consolidate/component-package', cli_options='-clip') + scan_loc = self.get_test_loc('plugin_consolidate/component-package') + scan_file = self.get_temp_file('json') + run_scan_click(['-clip', scan_loc, '--json', scan_file]) expected_file = self.get_test_loc('plugin_consolidate/component-package-expected.json') - result_file = self.get_temp_file('json') run_scan_click(['--from-json', scan_file, '--consolidate', '--json', result_file]) - check_json_scan(expected_file, result_file, remove_instance_uuid=True, regen=REGEN_TEST_FIXTURES, remove_file_date=True) - + check_json_scan(expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES, remove_file_date=True) + # rerun with result_file from last run result_file2 = self.get_temp_file('json') run_scan_click(['--from-json', result_file, '--consolidate', '--json', result_file2]) - check_json_scan(expected_file, result_file2, remove_instance_uuid=True, regen=REGEN_TEST_FIXTURES, remove_file_date=True) + check_json_scan(expected_file, result_file2, remove_uuid=True, regen=False, remove_file_date=True) def test_consolidate_component_package_from_live_scan(self): scan_loc = self.get_test_loc('plugin_consolidate/component-package') result_file = self.get_temp_file('json') expected_file = self.get_test_loc('plugin_consolidate/component-package-expected.json') run_scan_click(['-clip', scan_loc, '--consolidate', '--json', result_file]) - check_json_scan(expected_file, result_file, remove_instance_uuid=True, regen=REGEN_TEST_FIXTURES, remove_file_date=True) + check_json_scan(expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES, remove_file_date=True) def test_consolidate_package_always_include_own_manifest_file(self): scan_loc = self.get_test_loc('plugin_consolidate/package-manifest') result_file = self.get_temp_file('json') expected_file = self.get_test_loc('plugin_consolidate/package-manifest-expected.json') run_scan_click(['-clip', scan_loc, '--consolidate', '--json', result_file]) - check_json_scan(expected_file, result_file, remove_instance_uuid=True, regen=REGEN_TEST_FIXTURES, remove_file_date=True) - - def test_get_package_resources_on_nested_packages_should_include_manifest(self): - from packagedcode import get_package_instance - from commoncode.resource import VirtualCodebase - scan_file = self.get_scan('plugin_consolidate/nested-packages', cli_options='-p') - codebase = VirtualCodebase(scan_file) - for resource in codebase.walk(): - for package_data in resource.package_data: - package = get_package_instance(package_data) - package_resources = list(package.get_package_resources(resource, codebase)) - assert any(r.name == 'package.json' for r in package_resources), resource.path + check_json_scan(expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES, remove_file_date=True) def test_consolidate_multiple_same_holder_and_license(self): scan_loc = self.get_test_loc('plugin_consolidate/multiple-same-holder-and-license') @@ -110,14 +94,14 @@ def test_consolidate_component_package_build_from_live_scan(self): result_file = self.get_temp_file('json') expected_file = self.get_test_loc('plugin_consolidate/component-package-build-expected.json') run_scan_click(['-clip', scan_loc, '--consolidate', '--json', result_file]) - check_json_scan(expected_file, result_file, remove_instance_uuid=True, regen=REGEN_TEST_FIXTURES, remove_file_date=True) + check_json_scan(expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES, remove_file_date=True) def test_consolidate_report_minority_origin_directory(self): scan_loc = self.get_test_loc('plugin_consolidate/report-subdirectory-with-minority-origin') result_file = self.get_temp_file('json') expected_file = self.get_test_loc('plugin_consolidate/report-subdirectory-with-minority-origin-expected.json') run_scan_click(['-clip', scan_loc, '--consolidate', '--json', result_file]) - check_json_scan(expected_file, result_file, remove_instance_uuid=True, regen=REGEN_TEST_FIXTURES, remove_file_date=True) + check_json_scan(expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES, remove_file_date=True) def test_consolidate_zlib(self): scan_loc = self.get_test_loc('plugin_consolidate/zlib.json') diff --git a/tests/summarycode/test_summarizer.py b/tests/summarycode/test_summarizer.py index b0250587ee1..62ea213130c 100644 --- a/tests/summarycode/test_summarizer.py +++ b/tests/summarycode/test_summarizer.py @@ -39,7 +39,7 @@ def test_end2end_summary_and_classify_works_with_empty_dir_and_empty_values(self '--classify', '--json-pp', result_file, test_dir ]) - check_json_scan(expected_file, result_file, remove_instance_uuid=True, remove_file_date=True, regen=REGEN_TEST_FIXTURES) + check_json_scan(expected_file, result_file, remove_uuid=True, remove_file_date=True, regen=REGEN_TEST_FIXTURES) def test_summary_license_ambiguity_unambiguous(self): test_dir = self.get_test_loc('summary/license_ambiguity/unambiguous') @@ -51,7 +51,7 @@ def test_summary_license_ambiguity_unambiguous(self): '--classify', '--json-pp', result_file, test_dir ]) - check_json_scan(expected_file, result_file, remove_instance_uuid=True, remove_file_date=True, regen=REGEN_TEST_FIXTURES) + check_json_scan(expected_file, result_file, remove_uuid=True, remove_file_date=True, regen=REGEN_TEST_FIXTURES) def test_summary_license_ambiguity_ambiguous(self): test_dir = self.get_test_loc('summary/license_ambiguity/ambiguous') @@ -63,7 +63,7 @@ def test_summary_license_ambiguity_ambiguous(self): '--classify', '--json-pp', result_file, test_dir ]) - check_json_scan(expected_file, result_file, remove_instance_uuid=True, remove_file_date=True, regen=REGEN_TEST_FIXTURES) + check_json_scan(expected_file, result_file, remove_uuid=True, remove_file_date=True, regen=REGEN_TEST_FIXTURES) def test_summary_single_file_with_origin_info(self): test_dir = self.get_test_loc('summary/single_file/codebase') @@ -75,7 +75,7 @@ def test_summary_single_file_with_origin_info(self): '--classify', '--json-pp', result_file, test_dir ]) - check_json_scan(expected_file, result_file, remove_instance_uuid=True, remove_file_date=True, regen=REGEN_TEST_FIXTURES) + check_json_scan(expected_file, result_file, remove_uuid=True, remove_file_date=True, regen=REGEN_TEST_FIXTURES) def test_summary_conflicting_license_categories(self): test_dir = self.get_test_loc('summary/conflicting_license_categories/codebase') @@ -87,7 +87,7 @@ def test_summary_conflicting_license_categories(self): '--classify', '--json-pp', result_file, test_dir ]) - check_json_scan(expected_file, result_file, remove_instance_uuid=True, remove_file_date=True, regen=REGEN_TEST_FIXTURES) + check_json_scan(expected_file, result_file, remove_uuid=True, remove_file_date=True, regen=REGEN_TEST_FIXTURES) def test_summary_with_package_data(self): test_dir = self.get_test_loc('summary/with_package_data/codebase') @@ -99,7 +99,7 @@ def test_summary_with_package_data(self): '--classify', '--json-pp', result_file, test_dir ]) - check_json_scan(expected_file, result_file, remove_instance_uuid=True, remove_file_date=True, regen=REGEN_TEST_FIXTURES) + check_json_scan(expected_file, result_file, remove_uuid=True, remove_file_date=True, regen=REGEN_TEST_FIXTURES) def test_summary_without_package_data(self): test_dir = self.get_test_loc('summary/without_package_data/codebase') @@ -111,7 +111,7 @@ def test_summary_without_package_data(self): '--classify', '--json-pp', result_file, test_dir ]) - check_json_scan(expected_file, result_file, remove_instance_uuid=True, remove_file_date=True, regen=REGEN_TEST_FIXTURES) + check_json_scan(expected_file, result_file, remove_uuid=True, remove_file_date=True, regen=REGEN_TEST_FIXTURES) def test_summary_multiple_package_data(self): test_dir = self.get_test_loc('summary/multiple_package_data/codebase') @@ -123,7 +123,7 @@ def test_summary_multiple_package_data(self): '--classify', '--json-pp', result_file, test_dir ]) - check_json_scan(expected_file, result_file, remove_instance_uuid=True, remove_file_date=True, regen=REGEN_TEST_FIXTURES) + check_json_scan(expected_file, result_file, remove_uuid=True, remove_file_date=True, regen=REGEN_TEST_FIXTURES) def test_summary_clear_holder(self): test_dir = self.get_test_loc('summary/holders/clear_holder') @@ -135,7 +135,7 @@ def test_summary_clear_holder(self): '--classify', '--json-pp', result_file, test_dir ]) - check_json_scan(expected_file, result_file, remove_instance_uuid=True, remove_file_date=True, regen=REGEN_TEST_FIXTURES) + check_json_scan(expected_file, result_file, remove_uuid=True, remove_file_date=True, regen=REGEN_TEST_FIXTURES) def test_summary_combined_holders(self): test_dir = self.get_test_loc('summary/holders/combined_holders') @@ -147,7 +147,7 @@ def test_summary_combined_holders(self): '--classify', '--json-pp', result_file, test_dir ]) - check_json_scan(expected_file, result_file, remove_instance_uuid=True, remove_file_date=True, regen=REGEN_TEST_FIXTURES) + check_json_scan(expected_file, result_file, remove_uuid=True, remove_file_date=True, regen=REGEN_TEST_FIXTURES) def test_remove_from_tallies(self): tallies = [ diff --git a/tests/summarycode/test_tallies.py b/tests/summarycode/test_tallies.py index 40d0c7c70cb..9875048339b 100644 --- a/tests/summarycode/test_tallies.py +++ b/tests/summarycode/test_tallies.py @@ -60,14 +60,14 @@ def test_full_summary_base(self): result_file = self.get_temp_file('json') expected_file = self.get_test_loc('tallies/full_tallies/tallies.expected.json') run_scan_click(['-clip', '--tallies', '--json-pp', result_file, test_dir]) - check_json_scan(expected_file, result_file, remove_instance_uuid=True, remove_file_date=True, regen=REGEN_TEST_FIXTURES) + check_json_scan(expected_file, result_file, remove_uuid=True, remove_file_date=True, regen=REGEN_TEST_FIXTURES) def test_full_summary_with_details(self): test_dir = self.get_test_loc('tallies/full_tallies/scan') result_file = self.get_temp_file('json') expected_file = self.get_test_loc('tallies/full_tallies/tallies_details.expected.json') run_scan_click(['-clip', '--tallies-with-details', '--json-pp', result_file, test_dir]) - check_json_scan(expected_file, result_file, remove_instance_uuid=True, remove_file_date=True, regen=REGEN_TEST_FIXTURES) + check_json_scan(expected_file, result_file, remove_uuid=True, remove_file_date=True, regen=REGEN_TEST_FIXTURES) def test_copyright_summary_key_files(self): test_dir = self.get_test_loc('tallies/copyright_tallies/scan') @@ -113,7 +113,7 @@ def test_full_summary_by_facet(self): '--tallies-by-facet', '--json-pp', result_file, test_dir ]) - check_json_scan(expected_file, result_file, remove_instance_uuid=True, remove_file_date=True, regen=REGEN_TEST_FIXTURES) + check_json_scan(expected_file, result_file, remove_uuid=True, remove_file_date=True, regen=REGEN_TEST_FIXTURES) def test_end2end_summary_and_classify_works_with_empty_dir_and_empty_values(self): test_dir = self.extract_test_tar('tallies/end-2-end/bug-1141.tar.gz') @@ -127,7 +127,7 @@ def test_end2end_summary_and_classify_works_with_empty_dir_and_empty_values(self '--tallies-key-files', '--json-pp', result_file, test_dir ]) - check_json_scan(expected_file, result_file, remove_instance_uuid=True, remove_file_date=True, regen=REGEN_TEST_FIXTURES) + check_json_scan(expected_file, result_file, remove_uuid=True, remove_file_date=True, regen=REGEN_TEST_FIXTURES) def test_summary_with_packages_reports_packages_with_files(self): test_dir = self.get_test_loc('tallies/packages/scan') @@ -138,4 +138,4 @@ def test_summary_with_packages_reports_packages_with_files(self): '--tallies', '--json-pp', result_file, test_dir ]) - check_json_scan(expected_file, result_file, remove_instance_uuid=True, remove_file_date=True, regen=REGEN_TEST_FIXTURES) + check_json_scan(expected_file, result_file, remove_uuid=True, remove_file_date=True, regen=REGEN_TEST_FIXTURES) diff --git a/tests/test_skeleton_codestyle.py b/tests/test_skeleton_codestyle.py deleted file mode 100644 index 2eb6e558fcb..00000000000 --- a/tests/test_skeleton_codestyle.py +++ /dev/null @@ -1,36 +0,0 @@ -# -# Copyright (c) nexB Inc. and others. All rights reserved. -# ScanCode is a trademark of nexB Inc. -# SPDX-License-Identifier: Apache-2.0 -# See http://www.apache.org/licenses/LICENSE-2.0 for the license text. -# See https://github.com/nexB/skeleton for support or download. -# See https://aboutcode.org for more information about nexB OSS projects. -# - -import subprocess -import unittest -import configparser - - -class BaseTests(unittest.TestCase): - def test_skeleton_codestyle(self): - """ - This test shouldn't run in proliferated repositories. - """ - setup_cfg = configparser.ConfigParser() - setup_cfg.read("setup.cfg") - if setup_cfg["metadata"]["name"] != "skeleton": - return - - args = "venv/bin/black --check -l 100 setup.py etc tests" - try: - subprocess.check_output(args.split()) - except subprocess.CalledProcessError as e: - print("===========================================================") - print(e.output) - print("===========================================================") - raise Exception( - "Black style check failed; please format the code using:\n" - " python -m black -l 100 setup.py etc tests", - e.output, - ) from e