{
  "name": "@cyclonedx/cyclonedx-library",
  "version": "8.5.0",
  "description": "Core functionality of CycloneDX for JavaScript (Node.js or WebBrowser).",
  "license": "Apache-2.0",
  "keywords": [
    "CycloneDX",
    "models",
    "normalizer",
    "serializer",
    "bill-of-materials",
    "BOM",
    "software-bill-of-materials",
    "SBOM",
    "OBOM",
    "MBOM",
    "SaaSBOM",
    "VEX",
    "VDR",
    "package-url",
    "PURL",
    "SPDX",
    "OWASP",
    "inventory",
    "component",
    "dependency"
  ],
  "homepage": "https://github.com/CycloneDX/cyclonedx-javascript-library#readme",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/CycloneDX/cyclonedx-javascript-library.git"
  },
  "bugs": {
    "url": "https://github.com/CycloneDX/cyclonedx-javascript-library/issues"
  },
  "funding": [
    {
      "type": "individual",
      "url": "https://owasp.org/donate/?reponame=www-project-cyclonedx&title=OWASP+CycloneDX"
    }
  ],
  "author": {
    "name": "Jan Kowalleck",
    "url": "https://github.com/jkowalleck"
  },
  "maintainers": [
    {
      "name": "Jan Kowalleck",
      "url": "https://github.com/jkowalleck"
    }
  ],
  "contributors": [
    {
      "name": "Jan Kowalleck",
      "url": "https://github.com/jkowalleck"
    },
    {
      "name": "Craig Andrews",
      "url": "https://github.com/candrews"
    },
    {
      "name": "Peter Wagner",
      "url": "https://github.com/thepwagner"
    },
    {
      "name": "Xavier Maso",
      "url": "https://github.com/xmasoracle"
    },
    {
      "name": "mLuca",
      "url": "https://github.com/mLuca"
    },
    {
      "name": "Augustus Kling",
      "url": "https://github.com/AugustusKling"
    }
  ],
  "type": "commonjs",
  "engines": {
    "node": ">=20.18.0"
  },
  "dependencies": {
    "packageurl-js": "^2.0.1",
    "spdx-expression-parse": "^3.0.1 || ^4"
  },
  "optionalDependencies": {
    "ajv": "^8.12.0",
    "ajv-formats": "^3.0.1",
    "ajv-formats-draft2019": "^1.6.1",
    "libxmljs2": "^0.35||^0.37",
    "xmlbuilder2": "^3.0.2"
  },
  "devDependencies": {
    "@types/mocha": "^10",
    "@types/node": "ts5.7",
    "@types/spdx-expression-parse": "^3",
    "c8": "^10",
    "deepmerge": "^4.2.2",
    "fast-glob": "^3.3.1",
    "memfs": "4.17.2",
    "mocha": "11.7.1",
    "npm-run-all2": "^8",
    "rimraf": "^6",
    "ts-loader": "9.5.2",
    "typescript": "5.8.3",
    "webpack": "5.99.9",
    "webpack-cli": "6.0.1",
    "webpack-node-externals": "3.0.0"
  },
  "types": "./dist.d/index.node.d.ts",
  "browser": "./dist.web/lib.js",
  "main": "./dist.node/index.node.js",
  "exports": {
    ".": {
      "types": {
        "browser": "./dist.d/index.web.d.ts",
        "default": "./dist.d/index.node.d.ts"
      },
      "browser": "./dist.web/lib.js",
      "default": "./dist.node/index.node.js"
    },
    "./package.json": "./package.json",
    "./Builders": {
      "types": "./dist.d/builders/index.node.d.ts",
      "default": "./dist.node/builders/index.node.js"
    },
    "./Enums": {
      "types": "./dist.d/enums/index.d.ts",
      "default": "./dist.node/enums/index.js"
    },
    "./Factories": {
      "types": "./dist.d/factories/index.node.d.ts",
      "default": "./dist.node/factories/index.node.js"
    },
    "./Models": {
      "types": "./dist.d/models/index.d.ts",
      "default": "./dist.node/models/index.js"
    },
    "./Serialize": {
      "types": "./dist.d/serialize/index.node.d.ts",
      "default": "./dist.node/serialize/index.node.js"
    },
    "./SPDX": {
      "types": "./dist.d/spdx.d.ts",
      "default": "./dist.node/spdx.js"
    },
    "./Spec": {
      "types": "./dist.d/spec/index.d.ts",
      "default": "./dist.node/spec/index.js"
    },
    "./Types": {
      "types": "./dist.d/types/index.d.ts",
      "default": "./dist.node/types/index.js"
    },
    "./Utils": {
      "types": "./dist.d/utils/index.node.d.ts",
      "default": "./dist.node/utils/index.node.js"
    },
    "./Validation": {
      "types": "./dist.d/validation/index.node.d.ts",
      "default": "./dist.node/validation/index.node.js"
    }
  },
  "directories": {
    "doc": "./docs",
    "src": "./src",
    "lib": "./dist.node",
    "test": "./tests",
    "example": "./examples"
  },
  "scripts": {
    "dev-setup": "npm i && run-p --aggregate-output -lc dev-setup:\\*",
    "dev-setup:docs-gen": "npm --prefix tools/docs-gen install",
    "dev-setup:code-style": "npm --prefix tools/code-style install",
    "dev-setup:examples": "run-p --aggregate-output -lc dev-setup:examples:\\*",
    "dev-setup:examples:js": "npm --prefix examples/node/javascript i --ignore-scripts",
    "dev-setup:examples:ts-cjs": "npm --prefix examples/node/typescript/example.cjs i --ignore-scripts",
    "dev-setup:examples:ts-mjs": "npm --prefix examples/node/typescript/example.mjs i --ignore-scripts",
    "prepublish": "npm run build",
    "prepublishOnly": "run-s -lc build test",
    "build": "run-p --aggregate-output -l build:\\*",
    "prebuild:node": "rimraf dist.node",
    "build:node": "tsc -b ./tsconfig.node.json",
    "prebuild:web": "rimraf dist.web",
    "build:web": "webpack build",
    "prebuild:d": "rimraf dist.d",
    "build:d": "tsc -b ./tsconfig.d.json",
    "test": "run-p --aggregate-output -lc test:\\*",
    "test:node": "c8 mocha -p",
    "test:web": "node -e 'console.log(\"TODO: write web test\")'",
    "test:lint": "tsc --noEmit",
    "test:standard": "npm --prefix tools/code-style exec -- eslint .",
    "cs-fix": "npm --prefix tools/code-style exec -- eslint --fix .",
    "api-doc": "run-p --aggregate-output -lc api-doc:\\*",
    "api-doc:node": "npm --prefix tools/docs-gen exec -- typedoc --options ./typedoc.node.json",
    "api-doc:web": "npm --prefix tools/docs-gen exec -- typedoc --options ./typedoc.web.json"
  }
}
