{"_id":"@autographcraft/mongodb","_rev":"13-56390c69b2730af93df990b39a7823a8","name":"@autographcraft/mongodb","dist-tags":{"latest":"1.6.0"},"versions":{"1.0.1":{"name":"@autographcraft/mongodb","version":"1.0.1","author":{"name":"Ben Jeater","email":"benjeater+autographcraft@gmail.com"},"license":"MIT","_id":"@autographcraft/mongodb@1.0.1","maintainers":[{"name":"benjeater","email":"benjeater+npm@gmail.com"}],"dist":{"shasum":"01e4cf13f97559fe576cf043b4d0d9025839104d","tarball":"https://registry.npmjs.org/@autographcraft/mongodb/-/mongodb-1.0.1.tgz","fileCount":73,"integrity":"sha512-bgqXvU5U3DJHnjtGPnYy+c2cWtOpGJLUrkZ5P9HtzAGd1tcBXjcfGLjwx3Rm932UWj/j4PJ5EXO/K3eW5/R/Yw==","signatures":[{"sig":"MEUCIQC4WAXX5rivZhcYlnfUE4Wr2/SS20SNOv+8C2Qf3ewpZwIgMSdG442lMjYRTahVWv6J8X+a39hshhIr8zGonrl8/iw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":74091},"main":"dist/app.js","type":"module","types":"dist/app","gitHead":"c1ef91205ada14acbeb1fa29bfcb7bb6d33426ff","scripts":{"bump":"npm version prerelease --no-git-tag-version","lint":"eslint","test":"jest","build":"npm run compile","clean":"rm -rf dist/*","start":"npm run compile && dotenvx run --quiet -- node dist/app.js","testW":"jest --watch","compile":"tsc -p tsconfig.json && tsc-alias","prepack":"npm run compile && jest","startHot":"npm run compile && dotenvx run --quiet -- nodemon -q dist/app.js","bumpPatch":"npm version patch --no-git-tag-version","startVerbose":"npm run compile && dotenvx run -- nodemon dist/app.js,"},"_npmUser":{"name":"benjeater","email":"benjeater+npm@gmail.com"},"_npmVersion":"10.9.2","description":"The MongoDB resolver plugin for AutoGraphCraft","directories":{},"_nodeVersion":"23.2.0","dependencies":{"graphql":"^15.5.0","mongoose":"^8.8.3","@autographcraft/generate":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.1","lodash":"^4.17.21","globals":"^15.12.0","nodemon":"^3.1.7","ts-jest":"^29.2.5","prettier":"3.3.3","tsc-alias":"^1.8.10","@eslint/js":"^8.57.1","typescript":"^5.6.3","@types/jest":"^29.5.14","@jest/globals":"^29.7.0","@types/eslint":"^9.6.1","@types/lodash":"^4.17.13","@dotenvx/dotenvx":"^1.22.0","typescript-eslint":"^7.18.0","eslint-config-prettier":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/mongodb_1.0.1_1734592941571_0.09491469478492554","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@autographcraft/mongodb","version":"1.1.0","author":{"name":"Ben Jeater","email":"benjeater+autographcraft@gmail.com"},"license":"MIT","_id":"@autographcraft/mongodb@1.1.0","maintainers":[{"name":"benjeater","email":"benjeater+npm@gmail.com"}],"dist":{"shasum":"1e611071baaaeaeefb6e9ec35067ebf423f2d8ef","tarball":"https://registry.npmjs.org/@autographcraft/mongodb/-/mongodb-1.1.0.tgz","fileCount":78,"integrity":"sha512-7L9OlIT+9ysqc1mpz2P+AHyJFcPRfODu6F/BKwHfOsi2IbcfM8q3YSfBpu+dKHruoo+Z1nJ07xzZyAvZQZrKag==","signatures":[{"sig":"MEUCIG17OVNqscb+SCPddKVFcov9NN3BFf2bbawbeNQxsADyAiEAm4q1RS4J3iDsPkLuWvbnUFvP2Ovhnrithx8noLE7sDw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":94961},"main":"dist/app.js","type":"module","types":"dist/app","gitHead":"e78913f779aef5f371944a40d44b7159f0ffc5e9","scripts":{"bump":"npm version prerelease --no-git-tag-version","lint":"eslint","test":"jest","build":"npm run compile","clean":"rm -rf dist/*","start":"npm run compile && dotenvx run --quiet -- node dist/app.js","testW":"jest --watch","compile":"tsc -p tsconfig.json && tsc-alias","prepack":"npm run compile && jest","startHot":"npm run compile && dotenvx run --quiet -- nodemon -q dist/app.js","bumpPatch":"npm version patch --no-git-tag-version","startVerbose":"npm run compile && dotenvx run -- nodemon dist/app.js,"},"_npmUser":{"name":"benjeater","email":"benjeater+npm@gmail.com"},"_npmVersion":"10.9.2","description":"The MongoDB resolver plugin for AutoGraphCraft","directories":{},"_nodeVersion":"23.2.0","dependencies":{"graphql":"^15.5.0","mongoose":"^8.8.3","@autographcraft/core":"^1.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.1","lodash":"^4.17.21","globals":"^15.12.0","nodemon":"^3.1.7","ts-jest":"^29.2.5","prettier":"3.3.3","tsc-alias":"^1.8.10","@eslint/js":"^8.57.1","typescript":"^5.6.3","@types/jest":"^29.5.14","@jest/globals":"^29.7.0","@types/eslint":"^9.6.1","@types/lodash":"^4.17.13","@dotenvx/dotenvx":"^1.22.0","typescript-eslint":"^7.18.0","eslint-config-prettier":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/mongodb_1.1.0_1735021149102_0.5897079972062318","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@autographcraft/mongodb","version":"1.1.1","author":{"name":"Ben Jeater","email":"benjeater+autographcraft@gmail.com"},"license":"MIT","_id":"@autographcraft/mongodb@1.1.1","maintainers":[{"name":"benjeater","email":"benjeater+npm@gmail.com"}],"homepage":"https://github.com/benjeater/autographcraft#readme","bugs":{"url":"https://github.com/benjeater/autographcraft/issues"},"dist":{"shasum":"96858c4718e9384ec8628756070f68b1f80d40ec","tarball":"https://registry.npmjs.org/@autographcraft/mongodb/-/mongodb-1.1.1.tgz","fileCount":78,"integrity":"sha512-IRZKZZ532AOUb0gaQFGNdeLtXjqQsYY8U/YBv0K3DBTJDovbPdfQsV5q10FJ7R/Z8hY7BKvlHFP0gt4inYqzpg==","signatures":[{"sig":"MEQCIDXr6S7vA7ZaqM7lLnGfOjgZnL3N2x/1jrVok88u4jUjAiB37MTQvpjmPv8J+iUiScCG+LIQs3wJUZy7f4oJRsWeJg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":95024},"main":"dist/app.js","type":"module","types":"dist/app","gitHead":"e78913f779aef5f371944a40d44b7159f0ffc5e9","scripts":{"bump":"npm version prerelease --no-git-tag-version","lint":"eslint","test":"jest","build":"npm run compile","clean":"rm -rf dist/*","start":"npm run compile && dotenvx run --quiet -- node dist/app.js","testW":"jest --watch","compile":"tsc -p tsconfig.json && tsc-alias","prepack":"npm run compile && jest","startHot":"npm run compile && dotenvx run --quiet -- nodemon -q dist/app.js","bumpPatch":"npm version patch --no-git-tag-version","startVerbose":"npm run compile && dotenvx run -- nodemon dist/app.js,"},"_npmUser":{"name":"benjeater","email":"benjeater+npm@gmail.com"},"repository":{"url":"git+https://github.com/benjeater/autographcraft.git","type":"git"},"_npmVersion":"10.9.2","description":"The MongoDB resolver plugin for AutoGraphCraft","directories":{},"_nodeVersion":"23.2.0","dependencies":{"graphql":"^15.5.0","mongoose":"^8.8.3","@autographcraft/core":"^1.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.1","lodash":"^4.17.21","globals":"^15.12.0","nodemon":"^3.1.7","ts-jest":"^29.2.5","prettier":"3.3.3","tsc-alias":"^1.8.10","@eslint/js":"^8.57.1","typescript":"^5.6.3","@types/jest":"^29.5.14","@jest/globals":"^29.7.0","@types/eslint":"^9.6.1","@types/lodash":"^4.17.13","@dotenvx/dotenvx":"^1.22.0","typescript-eslint":"^7.18.0","eslint-config-prettier":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/mongodb_1.1.1_1735021872978_0.11426866257355117","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@autographcraft/mongodb","version":"1.1.2","author":{"name":"Ben Jeater","email":"benjeater+autographcraft@gmail.com"},"license":"MIT","_id":"@autographcraft/mongodb@1.1.2","maintainers":[{"name":"benjeater","email":"benjeater+npm@gmail.com"}],"homepage":"https://github.com/benjeater/autographcraft#readme","bugs":{"url":"https://github.com/benjeater/autographcraft/issues"},"dist":{"shasum":"c28726530bcdd1b975553f12c83d424a8a71f955","tarball":"https://registry.npmjs.org/@autographcraft/mongodb/-/mongodb-1.1.2.tgz","fileCount":78,"integrity":"sha512-Jtpt5xOTa7zyBRtDJr9+WJ433sTsk2JiGi9P5N79RAr+146sD3b1y5NUTDcSGVlQLIuJfVBBVXDCts+JT7F7OQ==","signatures":[{"sig":"MEUCIQD0VKK68kZBdF+DtbrtsEzwTRsMXVUPnxYWLNe0oMelWwIgY1Oy98yPmGJPT+vy2zYSp84GUAIQUGvRFxIzZ1jxmhA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":95401},"main":"dist/app.js","type":"module","types":"dist/app","gitHead":"bd1ba51ae9bf6aad77325c14214358935bbd7176","scripts":{"bump":"npm version prerelease --no-git-tag-version","lint":"eslint","test":"jest","build":"npm run compile","clean":"rm -rf dist/*","start":"npm run compile && dotenvx run --quiet -- node dist/app.js","testW":"jest --watch","compile":"tsc -p tsconfig.json && tsc-alias","prepack":"npm run compile && jest","startHot":"npm run compile && dotenvx run --quiet -- nodemon -q dist/app.js","bumpPatch":"npm version patch","startVerbose":"npm run compile && dotenvx run -- nodemon dist/app.js,"},"_npmUser":{"name":"benjeater","email":"benjeater+npm@gmail.com"},"repository":{"url":"git+https://github.com/benjeater/autographcraft.git","type":"git"},"_npmVersion":"10.9.2","description":"The MongoDB resolver plugin for AutoGraphCraft","directories":{},"_nodeVersion":"23.2.0","dependencies":{"graphql":"^15.5.0","mongoose":"^8.8.3","@autographcraft/core":"^1.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.1","lodash":"^4.17.21","globals":"^15.12.0","nodemon":"^3.1.7","ts-jest":"^29.2.5","prettier":"3.3.3","tsc-alias":"^1.8.10","@eslint/js":"^8.57.1","typescript":"^5.6.3","@types/jest":"^29.5.14","@jest/globals":"^29.7.0","@types/eslint":"^9.6.1","@types/lodash":"^4.17.13","@dotenvx/dotenvx":"^1.22.0","typescript-eslint":"^7.18.0","eslint-config-prettier":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/mongodb_1.1.2_1735294774185_0.08444468845123798","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@autographcraft/mongodb","version":"1.1.3","author":{"name":"Ben Jeater","email":"benjeater+autographcraft@gmail.com"},"license":"MIT","_id":"@autographcraft/mongodb@1.1.3","maintainers":[{"name":"benjeater","email":"benjeater+npm@gmail.com"}],"homepage":"https://github.com/benjeater/autographcraft#readme","bugs":{"url":"https://github.com/benjeater/autographcraft/issues"},"dist":{"shasum":"4e6fe90f866ec5968be359bdcb666e1f4895f527","tarball":"https://registry.npmjs.org/@autographcraft/mongodb/-/mongodb-1.1.3.tgz","fileCount":78,"integrity":"sha512-7sBaXLo7LRTJJMgNDQoeBmX8+53BxwhPMr2RzNSzne4jQQOwnSK9to5JcM0IqUvL5INWRuu70/K2ob4Ua6LAWQ==","signatures":[{"sig":"MEYCIQDS8JU64lb88HLnXjpg3DxO2+zybmQe1VftLvZyPbnpzwIhAPXAcKWMpTJt7A72K3rx3yY1DuoCOrEcmg72YlaOZbCB","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":95401},"main":"dist/app.js","type":"module","types":"dist/app","gitHead":"fc460df3f6e5d2f8123aec8a36f9d1bc02457c8d","scripts":{"bump":"npm version prerelease --no-git-tag-version","lint":"eslint","test":"jest","build":"npm run compile","clean":"rm -rf dist/*","start":"npm run compile && dotenvx run --quiet -- node dist/app.js","testW":"jest --watch","compile":"tsc -p tsconfig.json && tsc-alias","prepack":"npm run compile && jest","startHot":"npm run compile && dotenvx run --quiet -- nodemon -q dist/app.js","bumpPatch":"npm version patch","startVerbose":"npm run compile && dotenvx run -- nodemon dist/app.js,"},"_npmUser":{"name":"benjeater","email":"benjeater+npm@gmail.com"},"repository":{"url":"git+https://github.com/benjeater/autographcraft.git","type":"git"},"_npmVersion":"10.9.2","description":"The MongoDB resolver plugin for AutoGraphCraft","directories":{},"_nodeVersion":"23.2.0","dependencies":{"graphql":"^15.5.0","mongoose":"^8.8.3","@autographcraft/core":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.1","lodash":"^4.17.21","globals":"^15.12.0","nodemon":"^3.1.7","ts-jest":"^29.2.5","prettier":"3.3.3","tsc-alias":"^1.8.10","@eslint/js":"^8.57.1","typescript":"^5.6.3","@types/jest":"^29.5.14","@jest/globals":"^29.7.0","@types/eslint":"^9.6.1","@types/lodash":"^4.17.13","@dotenvx/dotenvx":"^1.22.0","typescript-eslint":"^7.18.0","eslint-config-prettier":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/mongodb_1.1.3_1735369283413_0.4188968041580734","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"@autographcraft/mongodb","version":"1.1.4","author":{"name":"Ben Jeater","email":"benjeater+autographcraft@gmail.com"},"license":"MIT","_id":"@autographcraft/mongodb@1.1.4","maintainers":[{"name":"benjeater","email":"benjeater+npm@gmail.com"}],"homepage":"https://github.com/benjeater/autographcraft#readme","bugs":{"url":"https://github.com/benjeater/autographcraft/issues"},"dist":{"shasum":"01fe502a70faaac34091bdb0eea08c99c64d2cfe","tarball":"https://registry.npmjs.org/@autographcraft/mongodb/-/mongodb-1.1.4.tgz","fileCount":75,"integrity":"sha512-dgs7+XTaRBqH9sYj4luFypdjj8mwc4MJ0A3XpOoIWWaKj/W0osJ+cK3u++05fYjuk30a4ziBLd511CbHDWfmgQ==","signatures":[{"sig":"MEUCIEZm4tHrdvynveTcHAs27AFmsOC2CsRGOvBGvmBmwKh+AiEA8+t/YITgDKUdoPOp4C7o1bqgO38qDpBXAPQSnw2jiwc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":94190},"main":"dist/app.js","type":"module","types":"dist/app","gitHead":"5c9eba26590fc32db8233845784f5a4bb1af2f45","scripts":{"bump":"npm version prerelease --no-git-tag-version","lint":"eslint","test":"jest","build":"npm run compile","clean":"rm -rf dist/*","start":"npm run compile && dotenvx run --quiet -- node dist/app.js","testW":"jest --watch","compile":"tsc -p tsconfig.build.json && tsc-alias","prepack":"npm run compile && jest","startHot":"npm run compile && dotenvx run --quiet -- nodemon -q dist/app.js","bumpPatch":"npm version patch","startVerbose":"npm run compile && dotenvx run -- nodemon dist/app.js,"},"_npmUser":{"name":"benjeater","email":"benjeater+npm@gmail.com"},"repository":{"url":"git+https://github.com/benjeater/autographcraft.git","type":"git"},"_npmVersion":"10.9.2","description":"The MongoDB resolver plugin for AutoGraphCraft","directories":{},"_nodeVersion":"23.2.0","dependencies":{"graphql":"^15.5.0","mongoose":"^8.8.3","@autographcraft/core":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.1","lodash":"^4.17.21","globals":"^15.12.0","nodemon":"^3.1.7","ts-jest":"^29.2.5","prettier":"3.3.3","tsc-alias":"^1.8.10","@eslint/js":"^8.57.1","typescript":"^5.6.3","@types/jest":"^29.5.14","@jest/globals":"^29.7.0","@types/eslint":"^9.6.1","@types/lodash":"^4.17.13","@dotenvx/dotenvx":"^1.22.0","typescript-eslint":"^7.18.0","eslint-config-prettier":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/mongodb_1.1.4_1735380203933_0.4338347411167771","host":"s3://npm-registry-packages-npm-production"}},"1.1.7":{"name":"@autographcraft/mongodb","version":"1.1.7","author":{"name":"Ben Jeater","email":"benjeater+autographcraft@gmail.com"},"license":"MIT","_id":"@autographcraft/mongodb@1.1.7","maintainers":[{"name":"benjeater","email":"benjeater+npm@gmail.com"}],"homepage":"https://github.com/benjeater/autographcraft#readme","bugs":{"url":"https://github.com/benjeater/autographcraft/issues"},"dist":{"shasum":"b69aad6a69b06c1889a5701c9cbeeea0aa57eb86","tarball":"https://registry.npmjs.org/@autographcraft/mongodb/-/mongodb-1.1.7.tgz","fileCount":143,"integrity":"sha512-c3L6mn5QOEXQAVPh6+RTcR8JDlX5eyN7WDMtdZbSARb+tqFNHkGNaj1H4pohKhT41MOpIK+kDUiEsW1tvG86dw==","signatures":[{"sig":"MEUCID2+13Y0pkoxCk5c6EI/B5m2zNx89pfm7w4Fd0xuwTHJAiEA9i75gzezvoP6CuCIvKXbEECD7c31pT8BIcPCQPXPoNg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310728},"main":"./dist/commonjs/app.js","type":"module","types":"./dist/commonjs/app","module":"./dist/esm/app.js","exports":{".":{"import":{"types":"./dist/esm/app.d.ts","default":"./dist/esm/app.js"},"require":{"types":"./dist/commonjs/app.d.ts","default":"./dist/commonjs/app.js"}},"./README.md":"./README.md","./README-*.md":"./README-*.md","./package.json":"./package.json"},"gitHead":"373278d0c70056303f712dc073005d75a72a6592","scripts":{"lint":"eslint","test":"jest","build":"npm run compile","clean":"rm -rf dist/*","start":"npm run compile && dotenvx run --quiet -- node dist/esm/app.js","testW":"jest --watch","compile":"tsc -b tsconfig.buildesm.json && tsc -b tsconfig.buildcjs.json && tsc-alias","prepack":"npm run compile && jest","startHot":"npm run compile && dotenvx run --quiet -- nodemon -q dist/esm/app.js","startVerbose":"npm run compile && dotenvx run -- nodemon dist/esm/app.js,"},"_npmUser":{"name":"benjeater","email":"benjeater+npm@gmail.com"},"repository":{"url":"git+https://github.com/benjeater/autographcraft.git","type":"git"},"_npmVersion":"10.9.2","description":"The MongoDB resolver plugin for AutoGraphCraft","directories":{},"_nodeVersion":"23.2.0","dependencies":{"graphql":"^15.5.0","mongoose":"^8.8.3","@autographcraft/core":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.1","lodash":"^4.17.21","globals":"^15.12.0","nodemon":"^3.1.7","ts-jest":"^29.2.5","prettier":"3.3.3","tsc-alias":"^1.8.10","@eslint/js":"^8.57.1","typescript":"^5.6.3","@types/jest":"^29.5.14","@jest/globals":"^29.7.0","@types/eslint":"^9.6.1","@types/lodash":"^4.17.13","@dotenvx/dotenvx":"^1.22.0","typescript-eslint":"^7.18.0","eslint-config-prettier":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/mongodb_1.1.7_1735545429818_0.33068890658535643","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@autographcraft/mongodb","version":"1.2.0","author":{"name":"Ben Jeater","email":"hello@autographcraft.com"},"license":"MIT","_id":"@autographcraft/mongodb@1.2.0","maintainers":[{"name":"benjeater","email":"benjeater+npm@gmail.com"}],"homepage":"https://github.com/benjeater/autographcraft#readme","bugs":{"url":"https://github.com/benjeater/autographcraft/issues"},"dist":{"shasum":"e5f7faaf7ac23b44139c3a8f22db389f53dc7c14","tarball":"https://registry.npmjs.org/@autographcraft/mongodb/-/mongodb-1.2.0.tgz","fileCount":148,"integrity":"sha512-4tsA5oIwmQja2szMvwVjbGb2xb/vfZnixa4n8Uk5PZhYLMPBVmdzZTDr40alEKWBl3Z7fcPkXhWCw80c+h3JoA==","signatures":[{"sig":"MEYCIQCOmfDh3hrOkrtVX94EWqiZfWIYeqjLC3QxHX3sbKT3BAIhANlzXlbjWmUvZ+D61SidPKohRcgmPS6HmVGUUoqILHM/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":339689},"main":"./dist/commonjs/app.js","type":"module","types":"./dist/commonjs/app","module":"./dist/esm/app.js","exports":{".":{"import":{"types":"./dist/esm/app.d.ts","default":"./dist/esm/app.js"},"require":{"types":"./dist/commonjs/app.d.ts","default":"./dist/commonjs/app.js"}},"./README.md":"./README.md","./README-*.md":"./README-*.md","./package.json":"./package.json"},"gitHead":"ffcb368ce8b575fcea280dca751ccce2bbecf331","scripts":{"lint":"eslint","test":"jest","build":"npm run compile","clean":"rimraf dist","start":"npm run compile && dotenvx run --quiet -- node dist/esm/app.js","testW":"jest --watch","compile":"tsc -b tsconfig.buildesm.json && tsc -b tsconfig.buildcjs.json && tsc-alias","prepack":"npm run compile && jest","startHot":"npm run compile && dotenvx run --quiet -- nodemon -q dist/esm/app.js","startVerbose":"npm run compile && dotenvx run -- nodemon dist/esm/app.js,"},"_npmUser":{"name":"benjeater","email":"benjeater+npm@gmail.com"},"repository":{"url":"git+https://github.com/benjeater/autographcraft.git","type":"git"},"_npmVersion":"11.0.0","description":"The MongoDB resolver plugin for AutoGraphCraft","directories":{},"_nodeVersion":"23.2.0","dependencies":{"lodash":"^4.17.21","graphql":"^15.5.0","mongoose":"^8.8.3","@autographcraft/core":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.1","globals":"^15.12.0","nodemon":"^3.1.7","ts-jest":"^29.2.5","prettier":"3.3.3","tsc-alias":"^1.8.10","@eslint/js":"^8.57.1","typescript":"^5.6.3","@types/jest":"^29.5.14","@jest/globals":"^29.7.0","@types/eslint":"^9.6.1","@types/lodash":"^4.17.13","@dotenvx/dotenvx":"^1.22.0","typescript-eslint":"^7.18.0","eslint-config-prettier":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/mongodb_1.2.0_1735902370043_0.8004899590687449","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@autographcraft/mongodb","version":"1.2.1","author":{"name":"Ben Jeater","email":"hello@autographcraft.com"},"license":"MIT","_id":"@autographcraft/mongodb@1.2.1","maintainers":[{"name":"benjeater","email":"benjeater+npm@gmail.com"}],"homepage":"https://github.com/benjeater/autographcraft#readme","bugs":{"url":"https://github.com/benjeater/autographcraft/issues"},"dist":{"shasum":"c62ccd5f8299500df7bf9d3902ac21c7203f13b9","tarball":"https://registry.npmjs.org/@autographcraft/mongodb/-/mongodb-1.2.1.tgz","fileCount":148,"integrity":"sha512-lJn2qXRRkhiNDrLTboB+tQ+caHYr7WyKTOD3qFk/tn2S0AUhoGL8XHMBzWU2wWMsS2NFMOL7LPk+y/gR+FePPg==","signatures":[{"sig":"MEUCICnwsnqZct0ykkSNPc2bSoSJhKjY+5Bcq8YZhT187m0mAiEA+/7D5U6ZUhyBhk40MyWnwTaasBIepzVN7DgACqOs2Hk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":341292},"main":"./dist/commonjs/app.js","type":"module","types":"./dist/commonjs/app","module":"./dist/esm/app.js","exports":{".":{"import":{"types":"./dist/esm/app.d.ts","default":"./dist/esm/app.js"},"require":{"types":"./dist/commonjs/app.d.ts","default":"./dist/commonjs/app.js"}},"./README.md":"./README.md","./README-*.md":"./README-*.md","./package.json":"./package.json"},"gitHead":"38d3efa8337dc2951159703fe9ee950554650c78","scripts":{"lint":"eslint","test":"jest","build":"npm run compile","clean":"rimraf dist","start":"npm run compile && dotenvx run --quiet -- node dist/esm/app.js","testW":"jest --watch","compile":"tsc -b tsconfig.buildesm.json && tsc -b tsconfig.buildcjs.json && tsc-alias","prepack":"npm run compile && jest","startHot":"npm run compile && dotenvx run --quiet -- nodemon -q dist/esm/app.js","startVerbose":"npm run compile && dotenvx run -- nodemon dist/esm/app.js,"},"_npmUser":{"name":"benjeater","email":"benjeater+npm@gmail.com"},"repository":{"url":"git+https://github.com/benjeater/autographcraft.git","type":"git"},"_npmVersion":"11.0.0","description":"The MongoDB resolver plugin for AutoGraphCraft","directories":{},"_nodeVersion":"23.2.0","dependencies":{"graphql":"^15.5.0","mongoose":"^8.8.3","lodash.clonedeep":"^4.5.0","@autographcraft/core":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.1","globals":"^15.12.0","nodemon":"^3.1.7","ts-jest":"^29.2.5","prettier":"3.3.3","tsc-alias":"^1.8.10","@eslint/js":"^8.57.1","typescript":"^5.6.3","@types/jest":"^29.5.14","@jest/globals":"^29.7.0","@types/eslint":"^9.6.1","@dotenvx/dotenvx":"^1.22.0","typescript-eslint":"^7.18.0","eslint-config-prettier":"^9.1.0","@types/lodash.clonedeep":"^4.5.9"},"_npmOperationalInternal":{"tmp":"tmp/mongodb_1.2.1_1736064350528_0.44683288103415086","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@autographcraft/mongodb","version":"1.3.0","author":{"name":"AutoGraphCraft","email":"hello@autographcraft.com"},"license":"MIT","_id":"@autographcraft/mongodb@1.3.0","maintainers":[{"name":"benjeater","email":"benjeater+npm@gmail.com"}],"homepage":"https://github.com/benjeater/autographcraft#readme","bugs":{"url":"https://github.com/benjeater/autographcraft/issues"},"dist":{"shasum":"939f6e6a961b0b69d7310cdb7262210668cedae4","tarball":"https://registry.npmjs.org/@autographcraft/mongodb/-/mongodb-1.3.0.tgz","fileCount":148,"integrity":"sha512-c/G6x6RCSaiGxPUGx+Kf2rAaVkoOM2OvAB8gg5DtbOHk1THZ91vL51hr/aqYk/49UXoaFM8y9+r+WFw0syvi6g==","signatures":[{"sig":"MEUCIHfWKfXP2/wuE7+Eb9M1qepQEUlShmYvahPhNZCC837YAiEAwTGlYYnD1Hu4y2cDcKL70xcOGueXhlQbCdRvlpIvOPU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":341296},"main":"./dist/commonjs/app.js","type":"module","types":"./dist/commonjs/app","module":"./dist/esm/app.js","exports":{".":{"import":{"types":"./dist/esm/app.d.ts","default":"./dist/esm/app.js"},"require":{"types":"./dist/commonjs/app.d.ts","default":"./dist/commonjs/app.js"}},"./README.md":"./README.md","./README-*.md":"./README-*.md","./package.json":"./package.json"},"gitHead":"c6ae69da6bdacbdd77daba547dd385c8a15b9809","scripts":{"lint":"eslint","test":"jest","build":"npm run compile","clean":"rimraf dist","start":"npm run compile && dotenvx run --quiet -- node dist/esm/app.js","testW":"jest --watch","compile":"tsc -b tsconfig.buildesm.json && tsc -b tsconfig.buildcjs.json && tsc-alias","prepack":"npm run compile && jest","startHot":"npm run compile && dotenvx run --quiet -- nodemon -q dist/esm/app.js","startVerbose":"npm run compile && dotenvx run -- nodemon dist/esm/app.js,"},"_npmUser":{"name":"benjeater","email":"benjeater+npm@gmail.com"},"repository":{"url":"git+https://github.com/benjeater/autographcraft.git","type":"git"},"_npmVersion":"11.0.0","description":"The MongoDB resolver plugin for AutoGraphCraft","directories":{},"_nodeVersion":"23.2.0","dependencies":{"graphql":"^15.5.0","mongoose":"^8.8.3","lodash.clonedeep":"^4.5.0","@autographcraft/core":"^1.3.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.1","globals":"^15.12.0","nodemon":"^3.1.7","ts-jest":"^29.2.5","prettier":"3.3.3","tsc-alias":"^1.8.10","@eslint/js":"^8.57.1","typescript":"^5.6.3","@types/jest":"^29.5.14","@jest/globals":"^29.7.0","@types/eslint":"^9.6.1","@dotenvx/dotenvx":"^1.22.0","typescript-eslint":"^7.18.0","eslint-config-prettier":"^9.1.0","@types/lodash.clonedeep":"^4.5.9"},"_npmOperationalInternal":{"tmp":"tmp/mongodb_1.3.0_1736239210317_0.27413473128751153","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@autographcraft/mongodb","version":"1.4.0","author":{"name":"AutoGraphCraft","email":"hello@autographcraft.com"},"license":"MIT","_id":"@autographcraft/mongodb@1.4.0","maintainers":[{"name":"benjeater","email":"benjeater+npm@gmail.com"}],"homepage":"https://github.com/benjeater/autographcraft#readme","bugs":{"url":"https://github.com/benjeater/autographcraft/issues"},"dist":{"shasum":"d8ddd04dd584de3a96b613798e5412fdcec27562","tarball":"https://registry.npmjs.org/@autographcraft/mongodb/-/mongodb-1.4.0.tgz","fileCount":148,"integrity":"sha512-O6IjcQI0IPDPG0tFP1RCIL0Nrc3KgDpF3LL8qJF/cJSZv768oDAumMilwJp0+QLzNKdLL56p0d/hJww2gYF4JQ==","signatures":[{"sig":"MEUCIQCEqrlKa2tdccWu4J3bFRWCPloo/ItFNunhT/G1ErmPQgIgHWkt7T0r5aKXX0Jvtiwgp8Wb8jlxpi5OMoOxBhQmc14=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":342107},"main":"./dist/commonjs/app.js","type":"module","types":"./dist/commonjs/app","module":"./dist/esm/app.js","exports":{".":{"import":{"types":"./dist/esm/app.d.ts","default":"./dist/esm/app.js"},"require":{"types":"./dist/commonjs/app.d.ts","default":"./dist/commonjs/app.js"}},"./README.md":"./README.md","./README-*.md":"./README-*.md","./package.json":"./package.json"},"gitHead":"da394ea4902dcde9ebee2c5d4835457e7d30f594","scripts":{"lint":"eslint","test":"jest","build":"npm run compile","clean":"rimraf dist","start":"npm run compile && dotenvx run --quiet -- node dist/esm/app.js","testW":"jest --watch","compile":"tsc -b tsconfig.buildesm.json && tsc -b tsconfig.buildcjs.json && tsc-alias","prepack":"npm run compile && jest","startHot":"npm run compile && dotenvx run --quiet -- nodemon -q dist/esm/app.js","startVerbose":"npm run compile && dotenvx run -- nodemon dist/esm/app.js,"},"_npmUser":{"name":"benjeater","email":"benjeater+npm@gmail.com"},"repository":{"url":"git+https://github.com/benjeater/autographcraft.git","type":"git"},"_npmVersion":"11.0.0","description":"The MongoDB resolver plugin for AutoGraphCraft","directories":{},"_nodeVersion":"23.2.0","dependencies":{"graphql":"^15.5.0","mongoose":"^8.8.3","lodash.clonedeep":"^4.5.0","@autographcraft/core":"^1.3.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.1","globals":"^15.12.0","nodemon":"^3.1.7","ts-jest":"^29.2.5","prettier":"3.3.3","tsc-alias":"^1.8.10","@eslint/js":"^8.57.1","typescript":"^5.6.3","@types/jest":"^29.5.14","@jest/globals":"^29.7.0","@types/eslint":"^9.6.1","@dotenvx/dotenvx":"^1.22.0","typescript-eslint":"^7.18.0","eslint-config-prettier":"^9.1.0","@types/lodash.clonedeep":"^4.5.9"},"_npmOperationalInternal":{"tmp":"tmp/mongodb_1.4.0_1736527741196_0.613223586136665","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@autographcraft/mongodb","version":"1.5.0","author":{"name":"AutoGraphCraft","email":"hello@autographcraft.com"},"license":"MIT","_id":"@autographcraft/mongodb@1.5.0","maintainers":[{"name":"benjeater","email":"benjeater+npm@gmail.com"}],"homepage":"https://github.com/benjeater/autographcraft#readme","bugs":{"url":"https://github.com/benjeater/autographcraft/issues"},"dist":{"shasum":"abe7a3afc4888765ab5c2524dc86065b33b1c37f","tarball":"https://registry.npmjs.org/@autographcraft/mongodb/-/mongodb-1.5.0.tgz","fileCount":148,"integrity":"sha512-8vjG/dJmtgzImd8igosmRD6fgfQdbkCW0N40YrKpOFCwrB8Hyv6i/Z4SOAkpYczF/tvtKuW7HWGIy25Cs2gwHA==","signatures":[{"sig":"MEYCIQCsc413GOHVZ13c7MVeEfKl7uskDjyz15tUddGHQ8TCSwIhAPnWV5cthx6mUer1HvFqutAs2T6H0VVx9MefEgmuKmmr","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":342894},"main":"./dist/commonjs/app.js","type":"module","types":"./dist/commonjs/app","module":"./dist/esm/app.js","exports":{".":{"import":{"types":"./dist/esm/app.d.ts","default":"./dist/esm/app.js"},"require":{"types":"./dist/commonjs/app.d.ts","default":"./dist/commonjs/app.js"}},"./README.md":"./README.md","./README-*.md":"./README-*.md","./package.json":"./package.json"},"gitHead":"32e3e32c0be01dcc7eb97715ed5d5b4e79dba3e4","scripts":{"lint":"eslint","test":"jest","build":"npm run compile","clean":"rimraf dist","start":"npm run compile && dotenvx run --quiet -- node dist/esm/app.js","testW":"jest --watch","compile":"tsc -b tsconfig.buildesm.json && tsc -b tsconfig.buildcjs.json && tsc-alias","prepack":"npm run compile && jest","startHot":"npm run compile && dotenvx run --quiet -- nodemon -q dist/esm/app.js","startVerbose":"npm run compile && dotenvx run -- nodemon dist/esm/app.js,"},"_npmUser":{"name":"benjeater","email":"benjeater+npm@gmail.com"},"repository":{"url":"git+https://github.com/benjeater/autographcraft.git","type":"git"},"_npmVersion":"11.0.0","description":"The MongoDB resolver plugin for AutoGraphCraft","directories":{},"_nodeVersion":"23.2.0","dependencies":{"graphql":"^15.5.0","mongoose":"^8.8.3","lodash.clonedeep":"^4.5.0","@autographcraft/core":"^1.5.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.1","globals":"^15.12.0","nodemon":"^3.1.7","ts-jest":"^29.2.5","prettier":"3.3.3","tsc-alias":"^1.8.10","@eslint/js":"^8.57.1","typescript":"^5.6.3","@types/jest":"^29.5.14","@jest/globals":"^29.7.0","@types/eslint":"^9.6.1","@dotenvx/dotenvx":"^1.22.0","typescript-eslint":"^7.18.0","eslint-config-prettier":"^9.1.0","@types/lodash.clonedeep":"^4.5.9"},"_npmOperationalInternal":{"tmp":"tmp/mongodb_1.5.0_1736755723521_0.27065857881892863","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"@autographcraft/mongodb","version":"1.6.0","description":"MongoDB and Mongoose resolver implementations for AutoGraphCraft-generated GraphQL APIs","keywords":["autographcraft","graphql","graphql-api","graphql-resolvers","mongodb","mongoose","database","code-generation","typescript"],"homepage":"https://github.com/benjeater/autographcraft#readme","bugs":{"url":"https://github.com/benjeater/autographcraft/issues"},"repository":{"type":"git","url":"git+https://github.com/benjeater/autographcraft.git","directory":"packages/mongodb"},"license":"MIT","author":{"name":"AutoGraphCraft","email":"hello@autographcraft.com"},"type":"module","engines":{"node":"^20.19.0 || ^22.13.0 || >=24"},"publishConfig":{"access":"public"},"main":"./dist/commonjs/app.js","module":"./dist/esm/app.js","types":"./dist/commonjs/app.d.ts","exports":{"./package.json":"./package.json","./README.md":"./README.md","./README-*.md":"./README-*.md",".":{"import":{"types":"./dist/esm/app.d.ts","default":"./dist/esm/app.js"},"require":{"types":"./dist/commonjs/app.d.ts","default":"./dist/commonjs/app.js"}}},"scripts":{"clean":"rimraf dist","compile":"tsc -b tsconfig.buildesm.json && tsc -b tsconfig.buildcjs.json && tsc-alias","test":"NODE_OPTIONS=--experimental-vm-modules jest","testW":"NODE_OPTIONS=--experimental-vm-modules jest --watch","prepack":"npm run compile && npm test","build":"npm run compile","start":"npm run compile && dotenvx run --quiet -- node dist/esm/app.js","startHot":"npm run compile && dotenvx run --quiet -- nodemon -q dist/esm/app.js","startVerbose":"npm run compile && dotenvx run -- nodemon dist/esm/app.js,","lint":"eslint"},"dependencies":{"@autographcraft/core":"^1.6.0","graphql":"^17.0.2","lodash.clonedeep":"^4.5.0","mongoose":"^9.9.4"},"devDependencies":{"@dotenvx/dotenvx":"^2.22.0","@eslint/js":"^10.0.1","@jest/globals":"^30.5.0","@types/eslint":"^9.6.1","@types/jest":"^30.0.0","@types/lodash.clonedeep":"^4.5.9","eslint":"^10.9.1","eslint-config-prettier":"^10.1.8","globals":"^17.11.0","jest":"^30.5.0","nodemon":"^3.1.14","prettier":"^3.9.6","ts-jest":"^29.4.12","tsc-alias":"^1.9.2","typescript":"^5.6.3","typescript-eslint":"^8.68.0"},"gitHead":"d0d8abacdfdac31a70053d260846ee41e4c75d20","_id":"@autographcraft/mongodb@1.6.0","_nodeVersion":"24.20.0","_npmVersion":"11.19.0","dist":{"integrity":"sha512-4T+V7HsZ+uQXCyAuoFL+A29fbGRCqh4WckbXLLz9CyRX5cexq0QANRA2BTgrrV1FHQZyqJojathkOx9QdAQPIw==","shasum":"7b4b82d72bdf94a626195acc657d25895d188c5c","tarball":"https://registry.npmjs.org/@autographcraft/mongodb/-/mongodb-1.6.0.tgz","fileCount":148,"unpackedSize":361272,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCT7/hwYc0KyDzWX4dIFRYdVWOnd3n9GNxiAQGO/D1sMgIgHAXLxpyHqXXrbXEqICZaBkgCZXgSMKrvHB6RMEeryP4="}]},"_npmUser":{"name":"benjeater","email":"benjeater+npm@gmail.com"},"directories":{},"maintainers":[{"name":"benjeater","email":"benjeater+npm@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mongodb_1.6.0_1788071718935_0.2956340402005393"},"_hasShrinkwrap":false}},"time":{"created":"2024-12-19T07:22:21.450Z","modified":"2026-08-30T06:35:19.221Z","1.0.1":"2024-12-19T07:22:21.756Z","1.1.0":"2024-12-24T06:19:09.278Z","1.1.1":"2024-12-24T06:31:13.176Z","1.1.2":"2024-12-27T10:19:34.372Z","1.1.3":"2024-12-28T07:01:23.583Z","1.1.4":"2024-12-28T10:03:24.128Z","1.1.7":"2024-12-30T07:57:10.056Z","1.2.0":"2025-01-03T11:06:10.260Z","1.2.1":"2025-01-05T08:05:50.743Z","1.3.0":"2025-01-07T08:40:10.527Z","1.4.0":"2025-01-10T16:49:01.392Z","1.5.0":"2025-01-13T08:08:43.723Z","1.6.0":"2026-08-30T06:35:19.069Z"},"bugs":{"url":"https://github.com/benjeater/autographcraft/issues"},"author":{"name":"AutoGraphCraft","email":"hello@autographcraft.com"},"license":"MIT","homepage":"https://github.com/benjeater/autographcraft#readme","repository":{"type":"git","url":"git+https://github.com/benjeater/autographcraft.git","directory":"packages/mongodb"},"description":"MongoDB and Mongoose resolver implementations for AutoGraphCraft-generated GraphQL APIs","maintainers":[{"name":"benjeater","email":"benjeater+npm@gmail.com"}],"readme":"<h1 align=\"center\">Welcome to AutoGraphCraft</h1>\n\n- [Description](#description)\n  - [Features](#features)\n- [Install](#install)\n- [Setup](#setup)\n  - [Initialise the Package](#initialise-the-package)\n  - [Running the Package](#running-the-package)\n  - [Running the Package in CI/CD](#running-the-package-in-cicd)\n  - [Implement the Package](#implement-the-package)\n  - [Update Configuration](#update-configuration)\n- [Usage](#usage)\n  - [Specifying the Schema](#specifying-the-schema)\n  - [Implementing the Generated Output](#implementing-the-generated-output)\n  - [Custom Resolvers](#custom-resolvers)\n- [Other Readmes](#other-readmes)\n- [Getting Help](#getting-help)\n- [Author](#author)\n- [Show your support](#show-your-support)\n\n## Description\n\nAutoGraphCraft can generate an entire GraphQL API from GraphQL schema files, including the resolver functions, authorisation logic, entity relationships, database schema and typescript types.\n\n### Features\n\n- **Best Practices**: AutoGraphCraft follows best practices for GraphQL and database design\n- **Type Generation**: AutoGraphCraft will generate the typescript types for the schema files, including the types for the resolvers and context\n- **Resolver Generation**: AutoGraphCraft will generate the entire GraphQL API from the schema files, including the resolvers, types, and context.\n- **Customisable**: The generated output can be customised by adding additional custom resolver\n- **Database Agnostic**: The resolvers can be generated for the database you are using by installing the appropriate resolver package\n- **Type Safe**: The generated types are fully typed and can be used in your application to ensure type safety\n- **Relationships**: The resolvers can be generated to include relationships between entities\n- **Authentication**: Allow/Disallow access to data/entites based on the caller's permissions\n\n## Install\n\nThe AutoGraphCraft requires two packages to be installed; the generation package and a resolver package.\n\nThe generate package is only required as part of your build process, so should be installed as a dev dependency:\n\n```sh\nnpm install @autographcraft/generate --save-dev\n```\n\nThen you will need to install a resolver package. This package will be used to resolve the data from your database. The resolver package should be installed as a regular dependency:\n\n```sh\nnpm install @autographcraft/[package-name]\n```\n\nFor instance, if you wanted to use MongoDB as your database, you would install the MongoDB package by running:\n\n```sh\nnpm install @autographcraft/mongodb\n```\n\n## Setup\n\n### Initialise the Package\n\nThe package needs to be initalised before it is first run, otherwise it will not be able to generate any output. The initialisation will perform two steps:\n\n1. Add the `autographcraft.config.js` file to the root of your project\n2. Add additional configuration to your `gitignore` file\n\nThe configuration file will specify where the source and target directories are for the generation process. Each of these options is detailed in the [Configuration Readme](./README-CONFIGURATION.md).\n\nThe initialisation is a guided process to create the configuration which can be called with:\n\n```sh\nnpx autographcraft init\n```\n\nIf you wish to initialise with the default settings, use the `--default` flag:\n\n```sh\nnpx autographcraft init --default\n\n# OR\n\nnpx autographcraft init -d\n```\n\n### Running the Package\n\n> **NOTE:**  \n> If you are following these steps in order, you will not currently have a defined schema.  The generation process will warn you that there is no schema and will not generate any files.  This is expected behaviour.  To add a schema, see the [Specifying the Schema](#specifying-the-schema) section.\n\nThe package can be run using the `generate` command:\n\n```sh\nnpx autographcraft generate\n```\n\nThis will collect all the generation information and call the AutoGraphCraft API to generate the required files.  If you are not signed in, you will be directed to sign in or sign up to the AutoGraphCraft platform in your browser.\n\nThe generation process will only request the generation of the files if the schema or configuration has changed since it was last run.  This is to prevent unnecessary generation of files and delays in the build process.  If you wish to generate the files again without making any changes, you can use the `--force` flag:\n\n```sh\nnpx autographcraft generate --force\n\n# OR\n\nnpx autographcraft generate -f\n```\n\nIf you wish to turn off the logging output when running the `generate` command, add the `--quiet` flag to the end of the command.\n\n```sh\nnpx autographcraft generate --quiet\n\n# OR\n\nnpx autographcraft generate -q\n```\n\nIf you remove a model from the schema, you may also wish to remove the generated files from your project.  This can be done by running the `--clean-models` flag:\n\n```sh\nnpx autographcraft generate --clean-models\n\n# OR\n\nnpx autographcraft generate -m\n```\n\n> **NOTE:**  \n> The `--clean-models` flag will remove the entire model directory, including any committed files in the `hookIns` directory.\n\nIf you need help at any time, run the command `npx autographcraft help` to open the full documentation.\n\n### Running the Package in CI/CD\n\nIf you are running the package in a CI/CD pipeline, you will want to run the package without the requirement to sign-in via the AutoGraphCraft website.  This can be done by setting providing the `--username` and `--password` flags to the `generate` command:\n\n```sh\nnpx autographcraft generate --username 'your-username' --password 'your-password'\n```\n\nThe `generate` command must be run before the build process to ensure the resolvers and types are generated before the build process starts.\n\n> **NOTE:**  \n> The `--username` and `--password` can be wrapped in quotes if they contain special characters.  For instance, passwords containing `!` or `&` should always be wrapped in quotes.\n\n### Implement the Package\n\nAdd the following script to your `package.json` file:\n\n```json\n\"scripts\": {\n  \"generate\": \"npx autographcraft generate\"\n}\n```\n\nIf you wish to have the types generated on every build (recommended), add `generate` to the `prebuild` script:\n\n```json\n\"scripts\": {\n  \"prebuild\": \"npm run generate\",\n  \"generate\": \"npx autographcraft generate\"\n}\n```\n\n### Update Configuration\n\nThe configuration should be updated via the `config set` command. Further details can be found in the [Configuration Readme](./README-CONFIGURATION.md).\n\n## Usage\n\n### Specifying the Schema\n\nIn order to generate the types, you will need to specify the schema. This is done by creating `.graphql` files in the `schemaSourceDirectory` directory specified in the `autographcraft.config.js` file.  For instance, the `User` schema might be defined in a file called `User.graphql` in the `src/schemas` directory:\n\nA standard schema file for a user might look like:\n\n```graphql\n# src/schemas/User.graphql\n\ntype User @model {\n  id: ID!\n  name: String!\n  email: String!\n}\n```\n\nThe `@model` directive on the `User` type is used to specify that this type should be used to generate resolvers. The `id` field is required and should be of type `ID!`.  All other fields are optional.\n\nModels can be connected to other models by specifying a field as a type of another model.  In the example below, a `User` can have many `Post`s and a `Post` can have one `User`:\n\n```graphql\ntype User @model {\n  id: ID!\n  name: String!\n  email: String!\n  posts: [Post] @hasMany(targetIndexName: \"byCreatedByUserId\")\n}\n\ntype Post @model {\n  id: ID!\n  createdByUserId: ID! @index(name: \"byCreatedByUserId\")\n  user: User @hasOne(idField: \"createdByUserId\")\n  title: String!\n  content: String!\n}\n```\n\nFurther information on how to define schemas can be found in the [Schema Readme](./README-SCHEMA.md).\n\n### Implementing the Generated Output\n\nThe generated files includes the resolvers, typedefs, and context generation for a GraphQL server.  The resolvers have been tested with [Apollo Server](https://www.apollographql.com/docs/apollo-server) and [GraphQL Yoga](https://the-guild.dev/graphql/yoga-server), but should work with most GraphQL servers.\n\nThe resolvers can be found in the directory specified by the `generatedTypesDirectory` in the `autographcraft.config.js` file and can be imported using the default export:\n\n```typescript\nimport resolvers from './generatedTypes/resolvers'\n```\n\nThe typedefs can be found in the directory specified by the `generatedTypesDirectory` in the `autographcraft.config.js` file and can be imported using the `loadFiles` utility from `@graphql-tools/load-files`:\n\n```typescript\nimport { loadFiles } from \"@graphql-tools/load-files\";\nconst typeDefs = await loadFiles(\"src/generatedTypes/typeDefs.graphql\");\n```\n\nThese can then be combined to create the the GraphQL server:\n\n```typescript\nimport { ApolloServer } from 'apollo-server';\nimport { loadFiles } from '@graphql-tools/load-files';\nimport resolvers from './generatedTypes/resolvers';\n\nconst typeDefs = await loadFiles('src/generatedTypes/typeDefs.graphql');\n\nconst server = new ApolloServer({\n  typeDefs,\n  resolvers,\n});\n```\n\nThe context can be generated using the `createAutoGraphCraftContext` function from the `generatedUtilsDirectory` in the `autographcraft.config.js` file:\n\n```typescript\nimport { config } from \"../autographcraft.config.js\";\nimport {\n  type AutoGraphCraftContextParams,\n  createAutoGraphCraftContext,\n} from \"./generatedUtils\";\n\nconst autoGraphCraftContextParams: AutoGraphCraftContextParams = {\n  mongooseConnection: yourMongooseConnection,\n  config,\n  authInitialisationData: {},\n};\n\nconst context = async (initialContext) => {\n  // Create the context required for the resolvers\n  const autographcraftContext = await createAutoGraphCraftContext(\n    autoGraphCraftContextParams,\n  );\n  \n  // Combine the initial context with the autographcraft context\n  const combinedContext = {\n    ...initialContext,\n    ...autographcraftContext,\n  };\n  return combinedContext;\n};\n```\n\nThen you can start the Apollo Server:\n\n```typescript\nconst { url } = await startStandaloneServer(server, {\n  listen: { port: 3000 },\n  context,\n});\n\nconsole.log(`🚀  Server ready at: ${url}`);\n```\n\nFull examples of how to implement the generated files can be found in the [Examples](./examples) directory.\n\n### Custom Resolvers\n\nSome queries and mutations may require custom resolvers because a functionality is required that does not fit within the CRUDL architecture; using the example from the previous section, there may be a requirement to count the number of posts that a user has made.\n\nTo create a new custom query or custom mutation, create a new `.graphql` file in the `schemaSourceDirectory` directory.  The file should contain the `Query` or `Mutation` type:\n\n```graphql\ntype Query {\n  countPostsByUser(userId: ID!): Int!\n}\n\ntype Mutation {\n  deleteAllPostsByUser(userId: ID!): [Post]\n}\n```\n\nMultiple `type Query` and `type Mutation` types can be defined in the `schemaSourceDirectory` directory files and will be combined into the final schema.\n\nThe custom resolvers will be created based on each query and mutation, and will be placed in the `queriesDirectory` directory or the `mutationsDirectory` directory from the `autographcraft.config.js` file.  The custom queries and mutations will already be imported into the resolvers file, so they can be used without any modification to the GraphQL server.\n\nEach of the custom resolvers will be typed based on the schema.  You can then implement the required logic in the custom resolver.\n\n## Other Readmes\n\n- [Configuration](./README-CONFIGURATION.md)\n- [Schema](./README-SCHEMA.md)\n- [Directive - @model](./README-DIRECTIVE-MODEL.md)\n- [Directive - @index](./README-DIRECTIVE-INDEX.md)\n- [Directive - @hasOne relationships](./README-DIRECTIVE-RELATIONSHIPS.md)\n- [Directive - @hasMany relationships](./README-DIRECTIVE-RELATIONSHIPS.md)\n- [Directive - @modelAuth](./README-DIRECTIVE-MODEL-AUTH.md)\n- [Directive - @fieldAuth](./README-DIRECTIVE-FIELD-AUTH.md)\n- [Hook-in Files](./README-HOOK-IN-FILES.md)\n\n## Getting Help\n\nFor any non-security related bugs, questions, or comments, please use the [Issues](https://github.com/benjeater/autographcraft/issues) system in the GitHub Repository.\n\nFor security disclosures, please email <security@autographcraft.com> with details of the issue and someone will get back to you in private.\n\n## Author\n\n👤 **Ben Jeater <hello@autographcraft.com>**\n\n## Show your support\n\nGive a ⭐️ if this project helped you!\n\n---\n\n_This README was generated with ❤️ by [readme-md-generator](https://github.com/kefranabg/readme-md-generator)_\n","readmeFilename":"README.md","keywords":["autographcraft","graphql","graphql-api","graphql-resolvers","mongodb","mongoose","database","code-generation","typescript"]}