{
  "name": "knex",
  "version": "3.1.0",
  "description": "A batteries-included SQL query & schema builder for PostgresSQL, MySQL, CockroachDB, MSSQL and SQLite3",
  "main": "knex",
  "types": "types/index.d.ts",
  "engines": {
    "node": ">=16"
  },
  "scripts": {
    "build": "npm run build:gitignore && npm run build:ts && npm run format",
    "clean": "node scripts/clean.js",
    "build:ts": "tsc",
    "build:gitignore": "node scripts/update_gitignore_for_tsc_output.js run",
    "format": "prettier --write --list-different .",
    "format:check": "prettier --list-different .",
    "debug:test": "mocha --inspect-brk --exit -t 0 test/all-tests-suite.js",
    "debug:tape": "node --inspect-brk test/tape/index.js",
    "coveralls": "nyc report --reporter=lcov",
    "lint": "eslint --cache .",
    "lint:fix": "eslint --cache --fix .",
    "lint:types": "tsd",
    "lint:types:legacy": "dtslint types",
    "lint:everything": "npm run lint && npm run lint:types",
    "lint:fix:everything": "npm run lint:fix && npm run lint:types",
    "test:unit": "npm run test:unit-only && npm run test:cli",
    "test:unit-only": "mocha --exit -t 10000 --config test/mocha-unit-config-test.js",
    "test:db": "mocha --exit -t 10000 --config test/mocha-integration-config-test.js",
    "test:db:coverage": "nyc mocha --exit --check-leaks -t 10000 --config test/mocha-integration-config-test.js && npm run test:tape",
    "test:db:no-oracle": "cross-env DB=\"mssql mysql mysql2 postgres sqlite3\" mocha --exit -t 10000 --config test/mocha-integration-config-test.js && npm run test:tape",
    "test": "mocha --exit -t 10000 --config test/mocha-all-config-test.js && npm run test:tape && npm run test:cli",
    "test:coverage": "nyc mocha --exit --check-leaks -t 10000 --config test/mocha-all-config-test.js && npm run test:tape && npm run test:cli",
    "test:everything": "npm run lint:everything && npm run test:coverage",
    "test:mssql": "cross-env DB=mssql npm run test:db",
    "test:mysql": "cross-env DB=mysql npm run test:db",
    "test:mysql2": "cross-env DB=mysql2 npm run test:db",
    "test:oracledb": "cross-env DB=oracledb npm run test:db",
    "test:sqlite": "cross-env DB=sqlite3 npm run test:db",
    "test:better-sqlite3": "cross-env DB=better-sqlite3 npm run test:db",
    "test:postgres": "cross-env DB=postgres npm run test:db",
    "test:cockroachdb": "cross-env DB=cockroachdb npm run test:db",
    "test:pgnative": "cross-env DB=pgnative npm run test:db",
    "test:tape": "node test/tape/index.js | tap-spec",
    "test:cli": "cross-env KNEX_PATH=../knex.js KNEX=bin/cli.js jake -f test/jake/Jakefile",
    "db:start": "docker-compose -f scripts/docker-compose.yml up --build -d mysql oracledb postgres mssql cockroachdb pgnative && docker-compose -f scripts/docker-compose.yml up waitmssql waitmysql waitpostgres waitoracledb",
    "db:start:no-oracle": "docker-compose -f scripts/docker-compose.yml up --build -d mysql postgres mssql cockroachdb pgnative && docker-compose -f scripts/docker-compose.yml up waitmssql waitmysql waitpostgres",
    "db:stop": "docker-compose -f scripts/docker-compose.yml down",
    "db:start:postgres": "docker-compose -f scripts/docker-compose.yml up --build -d postgres && docker-compose -f scripts/docker-compose.yml up waitpostgres",
    "db:stop:postgres": "docker-compose -f scripts/docker-compose.yml down",
    "db:start:pgnative": "docker-compose -f scripts/docker-compose.yml up --build -d pgnative && docker-compose -f scripts/docker-compose.yml up waitpgnative",
    "db:stop:pgnative": "docker-compose -f scripts/docker-compose.yml down",
    "db:start:mysql": "docker-compose -f scripts/docker-compose.yml up --build -d mysql && docker-compose -f scripts/docker-compose.yml up waitmysql",
    "db:stop:mysql": "docker-compose -f scripts/docker-compose.yml down",
    "db:start:mssql": "docker-compose -f scripts/docker-compose.yml up --build -d mssql && docker-compose -f scripts/docker-compose.yml up waitmssql",
    "db:stop:mssql": "docker-compose -f scripts/docker-compose.yml down",
    "db:start:cockroachdb": "docker-compose -f scripts/docker-compose.yml up --build -d cockroachdb && docker-compose -f scripts/docker-compose.yml up waitcockroachdb",
    "db:stop:cockroachdb": "docker-compose -f scripts/docker-compose.yml down",
    "db:start:oracle": "docker-compose -f scripts/docker-compose.yml up --build -d oracledb && docker-compose -f scripts/docker-compose.yml up waitoracledb",
    "db:stop:oracle": "docker-compose -f scripts/docker-compose.yml down",
    "stress:init": "docker-compose -f scripts/stress-test/docker-compose.yml up --no-start && docker-compose -f scripts/stress-test/docker-compose.yml start",
    "stress:test": "node scripts/stress-test/knex-stress-test.js | grep -A 5 -B 60 -- '- STATS '",
    "stress:destroy": "docker-compose -f scripts/stress-test/docker-compose.yml stop"
  },
  "dependencies": {
    "colorette": "2.0.19",
    "commander": "^10.0.0",
    "debug": "4.3.4",
    "escalade": "^3.1.1",
    "esm": "^3.2.25",
    "get-package-type": "^0.1.0",
    "getopts": "2.3.0",
    "interpret": "^2.2.0",
    "lodash": "^4.17.21",
    "pg-connection-string": "2.6.2",
    "rechoir": "^0.8.0",
    "resolve-from": "^5.0.0",
    "tarn": "^3.0.2",
    "tildify": "2.0.0"
  },
  "peerDependenciesMeta": {
    "tedious": {
      "optional": true
    },
    "mysql": {
      "optional": true
    },
    "mysql2": {
      "optional": true
    },
    "pg": {
      "optional": true
    },
    "pg-native": {
      "optional": true
    },
    "sqlite3": {
      "optional": true
    },
    "better-sqlite3": {
      "optional": true
    }
  },
  "lint-staged": {
    "*": "prettier --ignore-unknown --write",
    "*.js": "eslint --cache --fix"
  },
  "devDependencies": {
    "@tsconfig/recommended": "^1.0.1",
    "@types/node": "^20.4.0",
    "better-sqlite3": "^9.1.1",
    "chai": "^4.3.6",
    "chai-as-promised": "^7.1.1",
    "chai-subset-in-order": "^3.1.0",
    "cli-testlab": "^2.2.0",
    "coveralls": "^3.1.1",
    "cross-env": "^7.0.3",
    "dtslint": "4.2.1",
    "eslint": "^8.54.0",
    "eslint-config-prettier": "^8.6.0",
    "eslint-plugin-import": "^2.29.0",
    "eslint-plugin-mocha-no-only": "^1.1.1",
    "eslint-plugin-prettier": "^4.2.1",
    "husky": "^8.0.1",
    "jake": "^10.8.5",
    "JSONStream": "^1.3.5",
    "lint-staged": "^13.0.0",
    "mocha": "^10.0.0",
    "mock-fs": "^5.1.4",
    "mysql": "^2.18.1",
    "mysql2": "^3.2.0",
    "nyc": "^15.1.0",
    "oracledb": "^6.1.0",
    "pg": "^8.8.0",
    "pg-query-stream": "^4.2.4",
    "prettier": "2.8.7",
    "rimraf": "^5.0.5",
    "sinon": "^15.0.1",
    "sinon-chai": "^3.7.0",
    "source-map-support": "^0.5.21",
    "sqlite3": "^5.0.11",
    "tap-spec": "^5.0.0",
    "tape": "^5.6.0",
    "tedious": "^16.6.1",
    "toxiproxy-node-client": "^2.0.6",
    "ts-node": "^10.9.1",
    "tsd": "^0.28.1",
    "typescript": "5.0.4"
  },
  "buildDependencies": [
    "rimraf"
  ],
  "bin": {
    "knex": "./bin/cli.js"
  },
  "repository": {
    "type": "git",
    "url": "git://github.com/knex/knex.git"
  },
  "homepage": "https://knex.github.io/documentation/",
  "keywords": [
    "sql",
    "query",
    "postgresql",
    "postgres",
    "mysql",
    "cockroachdb",
    "sqlite3",
    "oracle",
    "mssql",
    "builder",
    "querybuilder",
    "build",
    "db",
    "database"
  ],
  "author": {
    "name": "Tim Griesser",
    "web": "https://github.com/tgriesser"
  },
  "contributors": [
    {
      "name": "Mikael Lepisto"
    },
    {
      "name": "Igor Savin",
      "web": "https://www.codeflashbacks.com"
    },
    {
      "name": "Olivier Cavadenti"
    },
    {
      "name": "Simon Liden"
    },
    {
      "name": "Paul Gaurab",
      "web": "https://lorefnon.tech"
    },
    {
      "name": "Brian Lauber",
      "web": "https://briandamaged.org"
    }
  ],
  "browser": {
    "./lib/migrations/migrate/Migrator.js": "./lib/util/noop.js",
    "./lib/bin/cli.js": "./lib/util/noop.js",
    "./lib/migrations/seed/Seeder.js": "./lib/util/noop.js",
    "tedious": false,
    "mysql": false,
    "mysql2": false,
    "pg": false,
    "pg-native": false,
    "pg-query-stream": false,
    "oracle": false,
    "sqlite3": false,
    "better-sqlite3": false,
    "oracledb": false
  },
  "react-native": {
    "./lib/migrate": "./lib/util/noop.js",
    "./lib/seed": "./lib/util/noop.js"
  },
  "files": [
    "bin/*",
    "lib/",
    "lib/**/*.js",
    "!lib/**/*.ts",
    "!lib/**/*.d.ts",
    "!lib/**/*.js.map",
    "!lib/.gitignore",
    "scripts/*",
    "types/index.d.ts",
    "types/result.d.ts",
    "types/tables.d.ts",
    "CHANGELOG.md",
    "CONTRIBUTING.md",
    "knex.js",
    "knex.mjs",
    "LICENSE",
    "README.md",
    "UPGRADING.md"
  ],
  "license": "MIT",
  "tonicExampleFilename": "scripts/runkit-example.js",
  "nyc": {
    "check-coverage": true,
    "lines": 84,
    "statements": 82,
    "functions": 83,
    "branches": 69,
    "extension": [
      ".js"
    ],
    "exclude": [
      "lib/dialects/oracle",
      "lib/dialects/oracledb",
      "test/**/*.spec.js"
    ]
  },
  "tsd": {
    "directory": "test-tsd",
    "compilerOptions": {
      "esModuleInterop": false,
      "module": "commonjs",
      "target": "ES2017"
    }
  }
}
