{
    "name": "graphql-knowledge",
    "version": "1.0.0",
    "repository": "git@github.com:theorchard/graphql-knowledge.git",
    "private": true,
    "engines": {
        "node": ">=22.19.0"
    },
    "prettier": "@theorchard/prettier-config",
    "lint-staged": {
        "*.{js,jsx,ts,tsx,scss,css,json,md,yaml}": [
            "prettier --write"
        ]
    },
    "scripts": {
        "start": "yarn nodemon --exec ts-node --project ./tsconfig.json -r dotenv/config ./src/index.ts",
        "lint": "yarn lint:js && yarn lint:schema",
        "lint:js": "eslint --ext .js,.ts --cache --cache-location .cache/.eslintcache src lib tests",
        "lint:schema": "graphql-schema-linter src/schema/*.graphql",
        "format": "prettier --write .",
        "format:check": "prettier --check .",
        "test": "yarn format:check && yarn test:unit && yarn lint",
        "test:unit": "jest --testPathIgnorePatterns tests/**/* --coverage",
        "test:integration": "dotenv -c test -- jest --detectOpenHandles --forceExit --runInBand --testPathIgnorePatterns src/**/*",
        "test:integration:local": "dotenv -c test -- jest --config jest.local.config.js tests/integration/",
        "clean": "rm -rf build && mkdir build",
        "build:server": "yarn tsc -p ./tsconfig.build.json",
        "build:cypher": "cd src && find . -name '*.cypher' -exec sh -c 'mkdir -p \"../build/$(dirname \"{}\")\" && cp \"{}\" \"../build/{}\"' \\;",
        "build:schema": "mkdir -p ./build/src && cp -R ./src/schema ./build/src",
        "build": "yarn clean && yarn build:server && yarn build:cypher && yarn build:schema"
    },
    "dependencies": {
        "@apollo/datasource-rest": "^6.4.1",
        "@apollo/utils.keyvaluecache": "^4.0.0",
        "@sentry/node": "^10.27.0",
        "@theorchard/connector-neo4j": "^2.0.4",
        "@theorchard/connector-splitio": "^4.0.1",
        "@theorchard/connector-spotify": "^1.4.1",
        "@theorchard/connector-universal-links": "^3.1.0",
        "@theorchard/constants": "^1.4.0",
        "@theorchard/dataloader-cypher": "^2.1.0",
        "@theorchard/dataloader-redis-zod": "^1.1.1",
        "@theorchard/dataloader-zod": "^1.0.0",
        "@theorchard/graphql-server": "^5.0.2",
        "@theorchard/jwt-service-handler": "^4.6.6",
        "@theorchard/social-media-link-parser": "^1.0.9",
        "axios": "^1.16.0",
        "dataloader": "^2.2.2",
        "dd-trace": "^5.80.0",
        "form-data": "^4.0.6",
        "graphql": "^16.8.1",
        "ioredis": "^5.7.0",
        "json-stable-stringify": "^1.1.1",
        "kafkajs": "1.16.0",
        "lodash": "^4.18.0",
        "moment": "^2.29.4",
        "neo4j-driver": "^6.0.0",
        "qs": ">=6.15.0",
        "snowflake-sdk": "^2.3.6",
        "zod": "^4.1.8"
    },
    "devDependencies": {
        "@eslint/eslintrc": "^3.3.1",
        "@faker-js/faker": "^10.1.0",
        "@theorchard/eslint-config-ts": "^3.0.0",
        "@theorchard/eslint-config-ts-prettier": "^2.1.1",
        "@theorchard/prettier-config": "^1.0.0",
        "@types/jest": "^30.0.0",
        "@types/json-stable-stringify": "^1.0.36",
        "@types/lodash": "^4.17.24",
        "@types/node": "^24.3.1",
        "@types/spotify-web-api-node": "^5.0.11",
        "@typescript-eslint/eslint-plugin": "^6.4.0",
        "@typescript-eslint/parser": "^6.4.0",
        "dotenv-cli": "^10.0.0",
        "eslint": "^9.37.0",
        "eslint-plugin-jest": "^29.0.1",
        "eslint-plugin-n": "^17.23.1",
        "eslint-plugin-promise": "^7.2.1",
        "graphql-request": "^7.3.0",
        "graphql-schema-linter": "^3.0.1",
        "jest": "^30.1.3",
        "nodemon": "^3.1.10",
        "prettier": "3.6.2",
        "ts-jest": "^29.4.3",
        "ts-node": "^10.9.2",
        "typescript": "^5.9.2"
    },
    "resolutions": {
        "@apollo/datasource-rest/lru-cache": "^10.4.3",
        "@apollo/federation-internals": "^2.11.6",
        "@apollo/utils.keyvaluecache/lru-cache": "^11.0.0",
        "@protobufjs/utf8": "^1.1.1",
        "@sentry/node-core": ">=10.27.0",
        "@smithy/config-resolver": "^4.4.0",
        "@tootallnate/once": ">=3.0.1",
        "ajv": "^6.14.0",
        "axios": "^1.16.0",
        "bn.js": ">=5.2.3",
        "body-parser": ">=2.2.1",
        "brace-expansion": "^5.0.6",
        "diff": ">=4.0.4",
        "express": "^5.2.0",
        "fast-xml-parser": "^5.7.0",
        "flatted": ">=3.4.2",
        "follow-redirects": "^1.16.0",
        "formidable": ">=3.2.4",
        "glob": "^10.5.0",
        "handlebars": ">=4.7.9",
        "js-yaml": ">=4.1.1",
        "jws": ">=4.0.1",
        "lodash": "^4.18.0",
        "lodash-es": "^4.18.0",
        "minimatch": ">=9.0.7",
        "picomatch": "^4.0.4",
        "protobufjs": "^7.5.6",
        "qs": ">=6.15.0",
        "shell-quote": ">=1.8.4",
        "test-exclude": "^7.0.1",
        "uuid": ">=14.0.0"
    },
    "packageManager": "yarn@1.22.22+sha1.ac34549e6aa8e7ead463a7407e1c7390f61a6610"
}
