{
  "name": "@phrasecode/odata",
  "version": "0.3.1",
  "description": "Modern OData v4 server library for Node.js with TypeScript support. Build standards-compliant REST APIs for Express, serverless AWS Lambda, Azure Functions, and Next.js API routes. Automatic query handling, metadata generation, and support for PostgreSQL, MySQL, Oracle, etc.",
  "main": "dist/index.js",
  "module": "dist/index.mjs",
  "types": "dist/index.d.ts",
  "exports": {
    ".": {
      "import": "./dist/index.mjs",
      "require": "./dist/index.js",
      "types": "./dist/index.d.ts"
    }
  },
  "files": [
    "dist",
    "README.md",
    "LICENSE"
  ],
  "sideEffects": false,
  "scripts": {
    "build": "node scripts/build.js",
    "build:cjs": "tsc -p tsconfig.build.json",
    "build:esm": "tsc -p tsconfig.esm.json",
    "build:watch": "tsc -p tsconfig.build.json --watch",
    "clean": "rimraf dist dist-esm",
    "dev": "nodemon --exec ts-node examples/express-app/server.ts",
    "test": "npm run test:unit",
    "test:unit": "jest --config jest.config.unit.js",
    "test:e2e": "jest --config jest.config.e2e.js --runInBand",
    "lint": "eslint \"src/**/*.ts\" \"__tests__/**/*.ts\"",
    "lint:fix": "eslint \"src/**/*.ts\" \"__tests__/**/*.ts\" --fix",
    "format": "prettier --write \"src/**/*.ts\" \"examples/**/*.ts\"",
    "format:check": "prettier --check \"src/**/*.ts\" \"examples/**/*.ts\"",
    "typecheck": "tsc --noEmit",
    "prepare": "npm run build",
    "prepublishOnly": "npm run test && npm run clean && npm run build",
    "prepack": "node scripts/pre-publish-check.js",
    "check": "npm run lint && npm run typecheck && npm run test",
    "release": "npm publish --access public",
    "test:api": "ts-node examples/express-app/test-runner.ts all"
  },
  "keywords": [
    "odata",
    "odata-v4",
    "odata-server",
    "rest",
    "rest-api",
    "api",
    "typescript",
    "nodejs",
    "express",
    "nextjs",
    "serverless",
    "lambda",
    "azure-functions",
    "database",
    "orm",
    "sequelize",
    "postgresql",
    "mysql",
    "sqlite",
    "query",
    "filter",
    "expand"
  ],
  "author": {
    "name": "Phrasecode Pvt Ltd",
    "email": "hello@phrasecode.com",
    "url": "https://phrasecode.com/"
  },
  "license": "MIT",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/Phrasecode/odata.git"
  },
  "bugs": {
    "url": "https://github.com/Phrasecode/odata/issues"
  },
  "homepage": "https://github.com/Phrasecode/odata#readme",
  "engines": {
    "node": ">=14.0.0"
  },
  "peerDependencies": {
    "express": "^4.0.0",
    "mariadb": ">=3.0.0",
    "mysql2": ">=2.0.0 || >=3.0.0",
    "oracledb": ">=5.0.0",
    "pg": ">=8.0.0",
    "pg-hstore": ">=2.3.0",
    "sqlite3": ">=5.0.0",
    "tedious": ">=6.0.0"
  },
  "peerDependenciesMeta": {
    "express": {
      "optional": true
    },
    "pg": {
      "optional": true
    },
    "pg-hstore": {
      "optional": true
    },
    "mysql2": {
      "optional": true
    },
    "mariadb": {
      "optional": true
    },
    "sqlite3": {
      "optional": true
    },
    "tedious": {
      "optional": true
    },
    "oracledb": {
      "optional": true
    }
  },
  "dependencies": {
    "qs": "^6.14.0",
    "sequelize": "^6.37.7",
    "tslib": "^2.6.0"
  },
  "devDependencies": {
    "@types/better-sqlite3": "^7.6.13",
    "@types/cors": "^2.8.19",
    "@types/express": "^5.0.5",
    "@types/jest": "^29.5.2",
    "@types/node": "^20.3.1",
    "@types/supertest": "^2.0.12",
    "@typescript-eslint/eslint-plugin": "^8.0.0",
    "@typescript-eslint/parser": "^8.0.0",
    "better-sqlite3": "^12.4.1",
    "cors": "^2.8.5",
    "dotenv": "^17.2.2",
    "eslint": "^9.39.1",
    "express": "^4.18.2",
    "jest": "^29.5.0",
    "nodemon": "^3.0.1",
    "pg": "^8.16.3",
    "prettier": "^3.6.2",
    "prettier-plugin-organize-imports": "^4.3.0",
    "rimraf": "^5.0.1",
    "sqlite3": "^5.1.7",
    "supertest": "^6.3.3",
    "ts-jest": "^29.1.0",
    "ts-node": "^10.9.1",
    "typescript": "^5.1.3"
  }
}
