{
  "name": "cyberchef",
  "version": "10.8.0",
  "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.",
  "author": "n1474335 <n1474335@gmail.com>",
  "homepage": "https://gchq.github.io/CyberChef",
  "copyright": "Crown copyright 2016",
  "license": "Apache-2.0",
  "keywords": [
    "cipher",
    "cypher",
    "encode",
    "decode",
    "encrypt",
    "decrypt",
    "base64",
    "xor",
    "charset",
    "hex",
    "encoding",
    "format",
    "cybersecurity",
    "data manipulation",
    "data analysis"
  ],
  "repository": {
    "type": "git",
    "url": "https://github.com/gchq/CyberChef/"
  },
  "main": "src/node/wrapper.js",
  "exports": {
    "import": "./src/node/index.mjs",
    "require": "./src/node/wrapper.js"
  },
  "bugs": "https://github.com/gchq/CyberChef/issues",
  "browserslist": [
    "Chrome >= 50",
    "Firefox >= 38",
    "node >= 16"
  ],
  "devDependencies": {
    "@babel/core": "^7.23.9",
    "@babel/eslint-parser": "^7.23.10",
    "@babel/plugin-syntax-import-assertions": "^7.23.3",
    "@babel/plugin-transform-runtime": "^7.23.9",
    "@babel/preset-env": "^7.23.9",
    "@babel/runtime": "^7.23.9",
    "@codemirror/commands": "^6.3.3",
    "@codemirror/language": "^6.10.1",
    "@codemirror/search": "^6.5.5",
    "@codemirror/state": "^6.4.0",
    "@codemirror/view": "^6.23.1",
    "autoprefixer": "^10.4.17",
    "babel-loader": "^9.1.3",
    "babel-plugin-dynamic-import-node": "^2.3.3",
    "babel-plugin-transform-builtin-extend": "1.1.2",
    "base64-loader": "^1.0.0",
    "chromedriver": "^121.0.0",
    "cli-progress": "^3.12.0",
    "colors": "^1.4.0",
    "copy-webpack-plugin": "^12.0.2",
    "core-js": "^3.35.1",
    "css-loader": "6.10.0",
    "eslint": "^8.56.0",
    "grunt": "^1.6.1",
    "grunt-chmod": "~1.1.1",
    "grunt-concurrent": "^3.0.0",
    "grunt-contrib-clean": "~2.0.1",
    "grunt-contrib-connect": "^4.0.0",
    "grunt-contrib-copy": "~1.0.0",
    "grunt-contrib-watch": "^1.1.0",
    "grunt-eslint": "^24.3.0",
    "grunt-exec": "~3.0.0",
    "grunt-webpack": "^6.0.0",
    "grunt-zip": "^1.0.0",
    "html-webpack-plugin": "^5.6.0",
    "imports-loader": "^5.0.0",
    "mini-css-extract-plugin": "2.8.0",
    "modify-source-webpack-plugin": "^3.0.0",
    "nightwatch": "^3.4.0",
    "postcss": "^8.4.33",
    "postcss-css-variables": "^0.19.0",
    "postcss-import": "^16.0.0",
    "postcss-loader": "^8.1.0",
    "prompt": "^1.3.0",
    "sitemap": "^7.1.1",
    "terser": "^5.27.0",
    "webpack": "^5.90.1",
    "webpack-bundle-analyzer": "^4.10.1",
    "webpack-dev-server": "4.15.1",
    "webpack-node-externals": "^3.0.0",
    "worker-loader": "^3.0.8"
  },
  "dependencies": {
    "@astronautlabs/amf": "^0.0.6",
    "@babel/polyfill": "^7.12.1",
    "@blu3r4y/lzma": "^2.3.3",
    "@wavesenterprise/crypto-gost-js": "^2.1.0-RC1",
    "argon2-browser": "^1.18.0",
    "arrive": "^2.4.1",
    "avsc": "^5.7.7",
    "bcryptjs": "^2.4.3",
    "bignumber.js": "^9.1.2",
    "blakejs": "^1.2.1",
    "bootstrap": "4.6.2",
    "bootstrap-colorpicker": "^3.4.0",
    "bootstrap-material-design": "^4.1.3",
    "browserify-zlib": "^0.2.0",
    "bson": "^4.7.2",
    "buffer": "^6.0.3",
    "cbor": "9.0.2",
    "chi-squared": "^1.1.0",
    "codepage": "^1.15.0",
    "crypto-api": "^0.8.5",
    "crypto-browserify": "^3.12.0",
    "crypto-js": "^4.2.0",
    "ctph.js": "0.0.5",
    "d3": "7.8.5",
    "d3-hexbin": "^0.2.2",
    "diff": "^5.1.0",
    "es6-promisify": "^7.0.0",
    "escodegen": "^2.1.0",
    "esprima": "^4.0.1",
    "exif-parser": "^0.1.12",
    "file-saver": "^2.0.5",
    "flat": "^6.0.1",
    "geodesy": "1.1.3",
    "highlight.js": "^11.9.0",
    "jimp": "^0.16.13",
    "jquery": "3.7.1",
    "js-crc": "^0.2.0",
    "js-sha3": "^0.9.3",
    "jsesc": "^3.0.2",
    "json5": "^2.2.3",
    "jsonpath-plus": "^8.0.0",
    "jsonwebtoken": "8.5.1",
    "jsqr": "^1.4.0",
    "jsrsasign": "^11.1.0",
    "kbpgp": "2.1.15",
    "libbzip2-wasm": "0.0.4",
    "libyara-wasm": "^1.2.1",
    "lodash": "^4.17.21",
    "loglevel": "^1.9.1",
    "loglevel-message-prefix": "^3.0.0",
    "lz-string": "^1.5.0",
    "lz4js": "^0.2.0",
    "markdown-it": "^14.0.0",
    "moment": "^2.30.1",
    "moment-timezone": "^0.5.44",
    "ngeohash": "^0.6.3",
    "node-forge": "^1.3.1",
    "node-md6": "^0.1.0",
    "nodom": "^2.4.0",
    "notepack.io": "^3.0.1",
    "ntlm": "^0.1.3",
    "nwmatcher": "^1.4.4",
    "otp": "0.1.3",
    "path": "^0.12.7",
    "popper.js": "^1.16.1",
    "process": "^0.11.10",
    "protobufjs": "^7.2.6",
    "qr-image": "^3.2.0",
    "reflect-metadata": "^0.2.1",
    "rison": "^0.1.1",
    "scryptsy": "^2.1.0",
    "snackbarjs": "^1.1.0",
    "sortablejs": "^1.15.2",
    "split.js": "^1.6.5",
    "ssdeep.js": "0.0.3",
    "stream-browserify": "^3.0.0",
    "tesseract.js": "5.0.4",
    "ua-parser-js": "^1.0.37",
    "unorm": "^1.6.0",
    "utf8": "^3.0.0",
    "vkbeautify": "^0.99.3",
    "xmldom": "^0.6.0",
    "xpath": "0.0.34",
    "xregexp": "^5.1.1",
    "zlibjs": "^0.3.1"
  },
  "scripts": {
    "start": "npx grunt dev",
    "build": "npx grunt prod",
    "node": "npx grunt node",
    "repl": "node --experimental-modules --experimental-json-modules --experimental-specifier-resolution=node --no-experimental-fetch --no-warnings src/node/repl.mjs",
    "test": "npx grunt configTests && node --experimental-modules --experimental-json-modules --no-warnings --no-deprecation --openssl-legacy-provider --no-experimental-fetch tests/node/index.mjs && node --experimental-modules --experimental-json-modules --no-warnings --no-deprecation --openssl-legacy-provider --no-experimental-fetch --trace-uncaught tests/operations/index.mjs",
    "testnodeconsumer": "npx grunt testnodeconsumer",
    "testui": "npx grunt testui",
    "testuidev": "npx nightwatch --env=dev",
    "lint": "npx grunt lint",
    "postinstall": "npx grunt exec:fixCryptoApiImports && npx grunt exec:fixSnackbarMarkup",
    "newop": "node --experimental-modules --experimental-json-modules src/core/config/scripts/newOperation.mjs",
    "minor": "node --experimental-modules --experimental-json-modules src/core/config/scripts/newMinorVersion.mjs",
    "getheapsize": "node -e 'console.log(`node heap limit = ${require(\"v8\").getHeapStatistics().heap_size_limit / (1024 * 1024)} Mb`)'",
    "setheapsize": "export NODE_OPTIONS=--max_old_space_size=2048"
  }
}
