{
  "name": "sqreen",
  "version": "2.0.2",
  "main": "index.js",
  "scripts": {
    "test": "lab -cLv -a code -t 100 -R -I SharedArrayBuffer,Atomics,URLSearchParams,URL,BigUint64Array,BigInt64Array,BigInt,TextEncoder,TextDecoder,queueMicrotask,EventTarget,Event,MessageChannel,MessagePort,MessageEvent,AggregateError,atob,btoa,performance,FinalizationRegistry,WeakRef,AbortController,AbortSignal",
    "test-cov": "lab -cLv -a code -r console -o stdout -r html -o coverage.html -I SharedArrayBuffer,Atomics,URLSearchParams,URL,BigUint64Array,BigInt64Array,BigInt,TextEncoder,TextDecoder,queueMicrotask,EventTarget,Event,MessageChannel,MessagePort,MessageEvent,AggregateError,atob,btoa,performance,FinalizationRegistry,WeakRef,AbortController,AbortSignal",
    "pretest-ci": "mkdir -p coverage && npm i --no-save sq-native && rm -rf node_modules package-lock.json && npm install && npm run install-tests",
    "pretest-ci-win": "mkdir -p coverage",
    "test-ci": "ls node_modules/.bin && lab -I SharedArrayBuffer,Atomics,URLSearchParams,URL,BigUint64Array,BigInt64Array,BigInt,TextEncoder,TextDecoder,queueMicrotask,AbortController,AbortSignal,FinalizationRegistry,WeakRef,EventTarget,Event,MessageChannel,MessagePort,MessageEvent,AggregateError,atob,btoa,performance,FinalizationRegistry,WeakRef,AbortController,AbortSignal",
    "test-ci-e2e": "npm run pretest-ci && NOCOV=1 lab e2e -I SharedArrayBuffer,Atomics,URLSearchParams,URL,BigUint64Array,BigInt64Array,BigInt,TextEncoder,TextDecoder,queueMicrotask,AbortController,AbortSignal,FinalizationRegistry,WeakRef,EventTarget,Event,MessageChannel,MessagePort,MessageEvent,AggregateError,atob,btoa,performance,FinalizationRegistry,WeakRef,AbortController,AbortSignal",
    "test-ci-win": "npm i --no-save hapi@16.6 express@4 supertest@3.3 passport-local @hapi/hoek lab@14.3.1 && lab -I SharedArrayBuffer,Atomics,URLSearchParams,URL,BigUint64Array,BigInt64Array,BigInt,TextEncoder,TextDecoder,queueMicrotask,AbortController,AbortSignal,FinalizationRegistry,WeakRef,EventTarget,Event,MessageChannel,MessagePort,MessageEvent,AggregateError,atob,btoa,performance,FinalizationRegistry,WeakRef,AbortController,AbortSignal",
    "posttest-ci": "npm version",
    "outdated": "npm outdated",
    "preversion": "node preversion.js",
    "install-tests": "npm i --no-save hapi@16.6 express@4 supertest@3.3 passport-local @hapi/hoek lab@14.3.1 body-parser cookie-parser",
    "audit": "npm audit",
    "install-waf": "npm explore sq-native -- npm run install"
  },
  "author": "sqreen",
  "license": "proprietary-free-to-use",
  "description": "Node.js agent for Sqreen, please see https://www.sqreen.io/",
  "engines": {
    "node": ">=4.0"
  },
  "bin": {
    "sqreen-check-network": "bin/sqreen-check-network.js"
  },
  "devDependencies": {
    "bluebird": "^3.4.7",
    "code": "^4.0.0",
    "decache": "^4.3.0",
    "http-proxy": "^1.16.2",
    "node-pre-gyp": "^0.13.0",
    "proxyquire": "^1.7.9",
    "rimraf": "^2.6.2",
    "tapable": "^0.2.5"
  },
  "devDependencies_details": {
    "bluebird": "promise library, to test specific hooks",
    "code": "is an assertion lib",
    "decache": "tool to decache already required modules",
    "lab": "is a test runner",
    "nsp": "lookup for know security issues in the dependencies descibed in the current file",
    "proxyquire": "low level mocking lib",
    "rimraf": "rm -rf, used for testing purpose",
    "tapable": "Just a little module for plugins (used for test module load)",
    "hapi": "only for ci and dev, we don't want it to go in people's app",
    "express": "only for ci and dev, we don't want it to go in people's app",
    "supertest": "only for ci and dev, we don't want it to go in people's app"
  },
  "directories": {
    "test": "test"
  },
  "files": [
    "/bin",
    "/lib",
    "/lib_old",
    "/vendor",
    "/AUTHOR.md",
    "/ca.crt.json",
    "/CHANGELOG.md",
    "/CONTRIBUTING.md",
    "/firstRequire.js",
    "/index.js",
    "/core.js",
    "/ecosystem.js",
    "/LICENSE",
    "/package.json",
    "/README.md",
    "/uniqueLoad.js",
    "/version.json",
    "/versionCheck.js"
  ],
  "optionalDependencies": {
    "sq-native": "1.0.10"
  },
  "dependencies": {
    "async-listener": "^0.6.0",
    "async-lock": "^1.2.2",
    "cls-bluebird": "^2.0.1",
    "emitter-listener": "^1.1.1",
    "escape-html": "^1.0.3",
    "express-list-endpoints": "4.0.1",
    "flat": "^5.0.2",
    "http-proxy-agent": "^2.1.0",
    "https-proxy-agent": "^3.0.0",
    "ip": "^1.1.4",
    "ip-range-check": "0.0.2",
    "ip-router": "^1.0.0",
    "joi-browser": "^10.6.1",
    "mkdirp": "^0.5.1",
    "on-finished": "^2.3.0",
    "recursive-readdir": "^2.1.0",
    "semver": "^5.2.0",
    "shimmer": "^1.2.0",
    "sq-ecosystem": "0.21.2",
    "sqreen-sdk": "^0.8.1",
    "uuid": "^3.1.0",
    "winston": "^2.4.6"
  },
  "dependencies_details": {
    "async-lock": "lock on asynchronous code",
    "cls-bluebird": "specific hooks for bluebird",
    "continuation-local-storage": "local storage through event loop",
    "emitter-listener": "(Meta)observability for EventEmitters.",
    "escape-html": "html-escape",
    "flat": "flatten an object",
    "http-proxy-agent": "proxy support",
    "https-proxy-agent": "proxy support",
    "ip": "ip address related tool",
    "ip-range-check": "check if an ip address is in a range (used for black/white list",
    "ip-router": "radix tree for ip related sec automation",
    "joi": "Object schema validation",
    "mkdirp": "mkdir -p",
    "on-finished": "emit when an HTTP request finishes",
    "recursive-readdir": "reccursive read directories",
    "semver": "semver tool",
    "shimmer": "shimming lib used to override native functions",
    "uuid": "uuid generator",
    "winston": "a multi-transport async logging library for node.js",
    "wreck": "http client",
    "async-listener": "instrumentation of async operations in node core"
  },
  "keywords": [
    "security",
    "sqreen",
    "RASP",
    "rasp",
    "sql",
    "injection",
    "injections",
    "xss",
    "nosql",
    "injection",
    "crawler",
    "express",
    "hapi",
    "passport",
    "hacker",
    "tor"
  ],
  "homepage": "https://www.sqreen.com/"
}
