{"_id":"nexus-future","_rev":"171-3ad389d6aa4911b0a88d27945aa8a1e8","name":"nexus-future","dist-tags":{"latest":"0.12.0","next":"0.13.0-next.17","pr.419":"0.0.0-pr.419.23.7e69609","pr.422":"0.0.0-pr.422.1.3d85034","pr.409":"0.0.0-pr.409.2.af33536","pr.384":"0.0.0-pr.384.1.4d8ab8f","pr.429":"0.0.0-pr.429.7.504fd3b","pr.430":"0.0.0-pr.430.14.9f94e3b","pr.436":"0.0.0-pr.436.1.2582639","pr.439":"0.0.0-pr.439.3.caf1a2e","pr.494":"0.0.0-pr.494.3.49a90fb","pr.517":"0.0.0-pr.517.1.50fb2ea","pr.534":"0.0.0-pr.534.5.6af829c","pr.542":"0.0.0-pr.542.1.fa080bf","pr.548":"0.0.0-pr.548.2.00f60b7"},"versions":{"0.4.0":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.4.0","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus-future":"dist/cli/main.js"},"dependencies":{"@types/debug":"^4.1.5","@types/express":"^4.17.2","@types/pino":"^5.15.1","anymatch":"^3.1.1","arg":"^4.1.1","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","debug":"^4.1.1","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","graphql-request":"^1.8.2","lodash":"^4.17.15","nexus":"^0.12.0-rc.5","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","tree-kill":"^1.2.1","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/dotenv":"8.2.0","@types/jest":"24.9.1","@types/lodash":"4.14.149","@types/node":"12.12.25","@types/node-fetch":"2.5.4","@types/prompts":"2.0.3","doctoc":"1.4.0","dripip":"0.5.0","husky":"4.2.1","jest":"25.1.0","prettier":"1.19.1","pretty-quick":"2.0.1","strip-ansi":"6.0.0","ts-jest":"25.0.0","type-fest":"0.9.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"docs:dev":"docsify serve docs","release:stable":"dripip stable","release:preview":"dripip preview","publish:pr":"PR=$(hub pr show -f '%I') && yarn publish --tag pr.${PR} --no-git-tag-version --new-version \"0.0.0-pr.${PR}.$(git show -s head --format='%h')\" && git commit -am 'ver' && git push","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","dev:test":"jest --watch --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"description":"<br>","_id":"nexus-future@0.4.0","dist":{"shasum":"0048e54405bede34201a4bb861a73072c80070c0","integrity":"sha512-88DcY3aRSySpN9kFuOjfmn+uWA3rWCHi6HziiGVnwS5umFl0Y941PUZUWNoSu/eRzxNcPjoZyd8uSnQXXQJEgw==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.4.0.tgz","fileCount":429,"unpackedSize":698062,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeL1UcCRA9TVsSAnZWagAAb44P/3va+MXEvBL2cLWNeqP6\nUUXwcJWynrs7CQqn+V+9azJyNfxE+4gQtz8UqFagLfYUd1W1KdMKktsfLR7G\nbdVk3OuCByHlsR4tZeeNUYxah8ULyNZWFsMtM9MllFV1W+am/RaTX4Y22OkN\njvfXpNJMPLGzpLKVDpG/SOjYGXHxlsZ0h4HsrFKUHYk4iavxmDNvdOLMj+Cy\nIX/jsb1iJDBQLQIhKvlF2/V77RKxANUZCUgG2VFQthRHVVwdwDwcfT/XrG2R\nHakuQQYHqotbYPoZ5UpZDSB6DrCJPh7AokdyuQPeV0hVJY3ePsXSLy650YDa\nMkkr+GsATcgfAJM6WbVFpQ0i/uMnU6p5P4XjwWbCD8A2nCuxngT0RcLmwZRi\nOFCQ6BLgHwZWeuz0Se9sq+J6B9jfc9Asc6DdDUjB7SySv8FhoVOWDsPy1mLw\nIO9jEOVkZv5Va3uO3a4W1OMTpaKbxDI/HEY8dQxkDJlTwZK5UJWf92MVYHfl\ntBojfp/K6o6aLBBYdTtv1AMFwZKPB3IhRXONZsh5SB5YHUIVpAxq4z92gDj5\nJxM397sgXUghQVvIIw8oE82TBH92I0LviKgr+LSR/1W2+645y/oC6Nkmrsp2\nEQNB8Z/xSEPCdY1ced3onACDsHa1BS0iCoBdyTdhuqhVPkWF+gnD+F/kafE3\nCtf3\r\n=B4so\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEZE8KKEo3qIrvmFUIGj6j8WRFq21rLf153bGKNSiyRFAiEAnWK2Q2TY4JlFaMH+MFK6xaxdEdy83qbtTyn4tqA4894="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.4.0_1580160284101_0.5908614846975984"},"_hasShrinkwrap":false,"deprecated":"nexus-future is now just called nexus"},"0.5.0":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.5.0","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus-future":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.9","@types/debug":"^4.1.5","@types/express":"^4.17.2","@types/pino":"^5.15.1","anymatch":"^3.1.1","arg":"^4.1.1","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","debug":"^4.1.1","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","graphql-request":"^1.8.2","lodash":"^4.17.15","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","tree-kill":"^1.2.1","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/dotenv":"8.2.0","@types/jest":"24.9.1","@types/lodash":"4.14.149","@types/node":"12.12.25","@types/node-fetch":"2.5.4","@types/prompts":"2.0.3","doctoc":"1.4.0","dripip":"0.5.0","husky":"4.2.1","jest":"25.1.0","prettier":"1.19.1","pretty-quick":"2.0.1","strip-ansi":"6.0.0","ts-jest":"25.0.0","type-fest":"0.9.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"docs:dev":"docsify serve docs","release:stable":"dripip stable","release:preview":"dripip preview","publish:pr":"PR=$(hub pr show -f '%I') && yarn publish --tag pr.${PR} --no-git-tag-version --new-version \"0.0.0-pr.${PR}.$(git show -s head --format='%h')\" && git commit -am 'ver' && git push","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","dev:test":"jest --watch --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"description":"<br>","_id":"nexus-future@0.5.0","dist":{"shasum":"a589fcbf426d015fa9bfa71bf9a00d73bb546869","integrity":"sha512-peb1RfNaD1JCBXP952ndWtXcptwMgeTaUg7v9E87uIWiU57+a4BSTPeNoowyxdaVtzni9Vua0d8yX6EL6/7dww==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.5.0.tgz","fileCount":429,"unpackedSize":698412,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeMEQXCRA9TVsSAnZWagAAYc0P/3SY+jgSbS0fWXdiLGL2\nlSzbuIfV+FJRcRvot6DTYHWsS3IRjBS/PKLiwHI0c+2W2khDZgkyvY1sNzLC\nA/MPmZQRkExNsS8r7Ykc9DMs7mxlRBuTrYsauHe9MqU5xwvBLnTeg+7PLLn7\neq+d4DcW/CrakcT90IwArnFS9x3hPrcLYifE1INF0Po+7guAExkFZ6UReF0B\n5yP/S3u1OYWTV1ztvi1BCLc29FCdikFYKpkeAhLufRvf+0pz0hm10/9RgUhv\noyYDtsmvdUSykPYPtp6YbAyTqQDwJwR9LGz9Laf4YX6fIaNoTtsd63nnTNuu\nwd+iS4N1NO5m7/Bq5aAtg2um0ewAuGG8/ednKxZOAp5GeTCruk1DkL460VwD\nRuG3XVpMcLIG49NwcZJinxu0mJdsseprZyHP/a7lIwWdNfFKoBNw/s/rqraP\nrLm7TwxzJ9AgJ7a/4va8ObBojgr+TSfe+rMRAZehdcfdU/SDWi/5VbLkm7J+\nF1ipyL3vFL02416SUqQr39X3sYoy4rjsS1AxKfdJ1cyVNWkc3wUDY/TrFNw0\nuTT+7iL6/D1Vdh5eWUodUUr+jh+E3yMHerFBPkr4ngAfkfDnnddDXYFc9Rqa\nRDwWYM8HEcTcGad1+/L6me0DZfhUiDO0yj63iE8CB9OjdaNZ9Q8Ge/J94J60\nCq8B\r\n=o3Nj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB0JC36Vl5VIRUOUn/oYxu+dkxr8XSlCKs3Bicm8nVyFAiB+zNSOt0/aU6RZFhaYIFLRhUopMItvFqEo2P3ogY2kjA=="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.5.0_1580221463135_0.7536855246691732"},"_hasShrinkwrap":false,"deprecated":"nexus-future is now just called nexus"},"0.5.1-next.1":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.5.1-next.1","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus-future":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.9","@types/debug":"^4.1.5","@types/express":"^4.17.2","@types/pino":"^5.15.1","anymatch":"^3.1.1","arg":"^4.1.1","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","debug":"^4.1.1","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","graphql-request":"^1.8.2","lodash":"^4.17.15","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","tree-kill":"^1.2.1","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/dotenv":"8.2.0","@types/jest":"24.9.1","@types/lodash":"4.14.149","@types/node":"12.12.25","@types/node-fetch":"2.5.4","@types/prompts":"2.0.3","doctoc":"1.4.0","dripip":"0.5.0","husky":"4.2.1","jest":"25.1.0","prettier":"1.19.1","pretty-quick":"2.0.1","strip-ansi":"6.0.0","ts-jest":"25.0.0","type-fest":"0.9.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"docs:dev":"docsify serve docs","release:stable":"dripip stable","release:preview":"dripip preview","publish:pr":"PR=$(hub pr show -f '%I') && yarn publish --tag pr.${PR} --no-git-tag-version --new-version \"0.0.0-pr.${PR}.$(git show -s head --format='%h')\" && git commit -am 'ver' && git push","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","dev:test":"jest --watch --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"# nexus-future <!-- omit in toc -->\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://graphql-nexus.github.io/nexus-future\n\n<br>\n\n## Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nThere are unit tests and integration tests. `yarn test` runs them all. Beware that the integration tests run slowly. `yarn dev:test` runs only unit for this reason. Testing on CI is not yet setup.\n\n#### Unit\n\n```\nyarn test:unit\n```\n\nWe co-locate unit tests with their respective modules. These can be run via `yarn test:unit`.\n\n#### Integration\n\n```\nyarn test:integration\n```\n\nIntegration tests rely on `yarn link`. This means those integration tests cannot work on a machine that has not done `yarn link` inside the root of the cloned repo.\n\n<br>\n\n### Releasing\n\nWe use [`dripip`](https://github.com/prisma-labs/dripip) to make releases. CI/CD preview releases are not setup yet.\n\n```\nyarn -s release:preview\nyarn -s release:stable\n```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/graphql-nexus/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus-future create\n```\n","description":"<br>","_id":"nexus-future@0.5.1-next.1","dist":{"shasum":"234ea6f2ecec328a2084081c7ffb14c6040226a3","integrity":"sha512-CyV9/KsZW3BD+W7ZZ9AOakmk/qVwOpEmAffYDADG1YR2W0dOzs7yTwzDVS+wXhRPGmUjcDltR7YBGSH+Hw2Xmg==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.5.1-next.1.tgz","fileCount":429,"unpackedSize":698826,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeMF2CCRA9TVsSAnZWagAAZs8P/1ggenkJRbc4hZS4Knnc\nRnfeJX1IB6rmO4caJgJJSypn+oyDCD9CjpP9EkkqGS4N61ro19gNGX77TUv6\nm4f/ZWHsmEwLbAJwYZD77M3LE5SjJrJgLK/GeJDHIogpoFYBOyX/nh8R6rGf\nRnu0rr01D0IWjAVcGG7hJI1mIM7ZHRWoo5EP8kWyfrhXtbgcqp5ziI8NEsik\nqVWwkcqh26SyodHKKPCQS85vbsQ4VAaQzuf4V3yZGDKpdMX9hxV65cUxq3nE\nODhtFO+ImfeRaTQAc6yWa/zNLNO/LloaHH2wApPMizNZw2vcSCLFYTTRv8d1\nhjbdUEZ4XZOh9JTOr/05V7Ltq1qkw5R73/Sjpyg0MC1wAC1a+4sO/CFo0POH\nfJB0p3EnbMz+yHmpjJuORyd/DLaK53IM4NTcMbhKRgamNNaqxnZC6IyUNmTp\nY5kVgk4+MdEU9M0iJszQYIYx2zx5e5nAANNXunS/WWkBAnhcrvBBWFUklEBT\n6fG+elIsp4YjSd6wW5MmstUkCdjX05sCSRkFc0FYgjbvReQHFlulilfwqhD/\nPcEz86QqkWhGv/WS/hSj6ltLfBt+uzptXUXNPbf5iUUzNUGrR/3zrwk/kwrd\n/+kJz3JWJox3Fn5Q6kzEWuFIOWDaHLXG/KdWe1JJ73wb3aSO9D/TBcXxDLD3\nV+5X\r\n=vkYx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDy5PWlS8c0crScvXGPzGCcTF9ZPsGQeQrt9Pepj2HE1AiBVIWK7l5iuZzHJxKrRBg1ijirSVu6ltSkmagXqBNo8qA=="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.5.1-next.1_1580227969864_0.878094185120607"},"_hasShrinkwrap":false},"0.5.1-next.2":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.5.1-next.2","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus-future":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.9","@types/debug":"^4.1.5","@types/express":"^4.17.2","@types/pino":"^5.15.1","anymatch":"^3.1.1","arg":"^4.1.1","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","debug":"^4.1.1","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","graphql-request":"^1.8.2","lodash":"^4.17.15","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","tree-kill":"^1.2.1","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/dotenv":"8.2.0","@types/jest":"24.9.1","@types/lodash":"4.14.149","@types/node":"12.12.25","@types/node-fetch":"2.5.4","@types/prompts":"2.0.3","doctoc":"1.4.0","dripip":"0.5.0","husky":"4.2.1","jest":"25.1.0","prettier":"1.19.1","pretty-quick":"2.0.1","strip-ansi":"6.0.0","ts-jest":"25.0.0","type-fest":"0.9.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"docs:dev":"docsify serve docs","release:stable":"dripip stable","release:preview":"dripip preview","publish:pr":"PR=$(hub pr show -f '%I') && yarn publish --tag pr.${PR} --no-git-tag-version --new-version \"0.0.0-pr.${PR}.$(git show -s head --format='%h')\" && git commit -am 'ver' && git push","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","dev:test":"jest --watch --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"# nexus-future <!-- omit in toc -->\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexus-future.now.sh\n\n<br>\n\n## Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nThere are unit tests and integration tests. `yarn test` runs them all. Beware that the integration tests run slowly. `yarn dev:test` runs only unit for this reason. Testing on CI is not yet setup.\n\n#### Unit\n\n```\nyarn test:unit\n```\n\nWe co-locate unit tests with their respective modules. These can be run via `yarn test:unit`.\n\n#### Integration\n\n```\nyarn test:integration\n```\n\nIntegration tests rely on `yarn link`. This means those integration tests cannot work on a machine that has not done `yarn link` inside the root of the cloned repo.\n\n<br>\n\n### Releasing\n\nWe use [`dripip`](https://github.com/prisma-labs/dripip) to make releases. CI/CD preview releases are not setup yet.\n\n```\nyarn -s release:preview\nyarn -s release:stable\n```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/graphql-nexus/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus-future create\n```\n","description":"<br>","_id":"nexus-future@0.5.1-next.2","dist":{"shasum":"f2c41df914460f335e6a79daba6c2de656a9a4f3","integrity":"sha512-FqyEjkEW4D7xZ1g3E/XfvG3qqNcvH88TuJfmWg+f4oo8qpuf6TcWa1UqZo9RoUI+g6hGQbhOQraFBeSOvV5JFw==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.5.1-next.2.tgz","fileCount":429,"unpackedSize":698867,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeMGw2CRA9TVsSAnZWagAAfdUP+wRpfBIce2ay1D05mGrc\nxS3HMuY7xbLevs7zCDEY62tSojJhmVEUj4I/gI33J+zyzU0070EyvMbKJj6a\niFU73pWn4pqZ919D/FogkUrfsN5KVUz5rtjouOqwHysnFY6N4Gl6WRu61H4N\nhSybOyxkuMTLe7sRgWwXeRIaie2VRFOQMYoLz9ZjGwVnmsIV6p7irwXwYRz2\noxW4/lFjaJKsNDDyLKiFzlEbW6wGzezPcGkI09xJ7klzdjEfD0ZNpcV2Z5ib\nm53oKvPWI6kfdZEN/L5/ZdQsAejnsrjS5Q4R46KGpcGcgeQ5xNDo7yUgPVig\nvAXeQmQUslFkHG++jbZp5HkQVhyCtLPwnHQY6w7P5Uaw4y3BJyG5cNmKiLpl\nBvvAVjpy3Mg2EJejPzKQL8ru7SQUh6PmJU9CDNYtCnUTT/f8myOHWGGmxcHs\nQb4WjEJJwvY5cWSIl5pI1RYsHx3dln58q9TpGCXbnzbFUTe3eoD74vAp7BDe\naYoY0JlEaSMDU7NzeAJCD1QwYRZBCYPwxeoeKWQjFY2hAbfbUOljZ6HAhwS3\nVIZ1SBck0EDifwjyRb0do/YDvIkR6FBMZmAqFkCGXZbEyYcipqUYWRZyvXFF\nyPoc6MyrAYTQYwjc8jpHPv9ITgczZaQuioRgoUmNfQhSqYR6GX8viYvXdX9T\nqhdm\r\n=JiOB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBG5RmOjedhRmtQiqmFtIxwMwRXTjyRdON4We2u7Kz29AiABEEn8yHpj0d92xhqrHT5vp0zYX+kLjGqWfSRJtG2odw=="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.5.1-next.2_1580231733586_0.6136060165607164"},"_hasShrinkwrap":false},"0.5.1-next.3":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.5.1-next.3","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus-future":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.9","@types/debug":"^4.1.5","@types/express":"^4.17.2","@types/pino":"^5.15.1","anymatch":"^3.1.1","arg":"^4.1.1","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","debug":"^4.1.1","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","graphql-request":"^1.8.2","lodash":"^4.17.15","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","tree-kill":"^1.2.1","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/dotenv":"8.2.0","@types/jest":"25.1.0","@types/lodash":"4.14.149","@types/node":"13.5.0","@types/node-fetch":"2.5.4","@types/prompts":"2.0.3","doctoc":"1.4.0","dripip":"0.5.0","husky":"4.2.1","jest":"25.1.0","prettier":"1.19.1","pretty-quick":"2.0.1","strip-ansi":"6.0.0","ts-jest":"25.0.0","type-fest":"0.9.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"docs:dev":"docsify serve docs","release:stable":"dripip stable","release:preview":"dripip preview","publish:pr":"PR=$(hub pr show -f '%I') && yarn publish --tag pr.${PR} --no-git-tag-version --new-version \"0.0.0-pr.${PR}.$(git show -s head --format='%h')\" && git commit -am 'ver' && git push","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","dev:test":"jest --watch --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"# nexus-future <!-- omit in toc -->\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexus-future.now.sh\n\n<br>\n\n## Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nThere are unit tests and integration tests. `yarn test` runs them all. Beware that the integration tests run slowly. `yarn dev:test` runs only unit for this reason. Testing on CI is not yet setup.\n\n#### Unit\n\n```\nyarn test:unit\n```\n\nWe co-locate unit tests with their respective modules. These can be run via `yarn test:unit`.\n\n#### Integration\n\n```\nyarn test:integration\n```\n\nIntegration tests rely on `yarn link`. This means those integration tests cannot work on a machine that has not done `yarn link` inside the root of the cloned repo.\n\n<br>\n\n### Releasing\n\nWe use [`dripip`](https://github.com/prisma-labs/dripip) to make releases. CI/CD preview releases are not setup yet.\n\n```\nyarn -s release:preview\nyarn -s release:stable\n```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/graphql-nexus/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus-future create\n```\n","description":"<br>","_id":"nexus-future@0.5.1-next.3","dist":{"shasum":"9192847d4cdcb2f9b56c9ff64e3d80e1504bd394","integrity":"sha512-oP+RuBbogcQhYpm+TxWaIiDVn+q5Z+SjUlVu+LmboiPhRvEkuYZ6B2V2Urc17Em3FJ33LzJEcX76ov8Adlb6Tw==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.5.1-next.3.tgz","fileCount":335,"unpackedSize":699066,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeMHj4CRA9TVsSAnZWagAAX+0P/R6QdDJvPZCFYUtQHI9v\nT14kuyAmILIhTRTEVgSiOtEzHcNItENOXhPI6Yhob7ds1RAToVbOoqEGi0Si\nXaCVASjyi1QRLH/c5M9noEYjaDW/UEA0MSF07jGL2UwNB1lu+tBFe7XsX6kj\nvsHnW584ZrYTmLD6K5aAgSQqrwG/3pTyvavm/b1680/9QMO1fuUAV16Njw2E\n3C2EIwLapf80BnR9xq8uQRCrm33MceTI0Qv4O4ivYJ2uJvcWpFzfwd+6kz7t\nawRnw5JCfuVIPXTSJjiPM8+2JJMG22LXqnRcVWyow5v6Y7R7YEPbeuhg49/G\nfaaaMgB4D6xAxiZ4ItsF2t6hxIGft7QUvJKBalA2h2QRgC9qlgXSfBc5vWDl\naZxTgtQwwz6Krg9gYu7VldO8YsBvrKmfOMH+axh9UQT/SiB37MBtL8VmYnQ9\niRgjqAEFRbcAPTeLMu7Iff7NXarlgoeHSQbNTrv0OMLEn0cfG7nqkOW+mCgj\nqbB6L50aRj5180xwv7C84RH7+oky0iR4s0uAZwgEsu+Lo1qy5CEzyKOTU8yI\nznQj2Q6UxIATl5DXQoF9D1saj0GxinHbtbf6ksAgJsNw5BrhZhZU9X9igzed\nsFTj+orYdeogtMtmUMJdhQAItKC/x88QMBuux7ueEgcFrnl/Iy4CxRLpcomz\nP1Xd\r\n=Pj8h\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBM3ccXl2ojICC3/+Tyvzx8zqYNm3aQaWedmhSgNSBZyAiAKL2mCJ6zbQ+7WO1cKNWFncmXPlo/LPUqfg3hwURzVLg=="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.5.1-next.3_1580234999912_0.9634323419156301"},"_hasShrinkwrap":false},"0.6.0":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.6.0","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.9","@types/debug":"^4.1.5","@types/express":"^4.17.2","@types/pino":"^5.15.1","anymatch":"^3.1.1","arg":"^4.1.1","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","debug":"^4.1.1","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","graphql-request":"^1.8.2","lodash":"^4.17.15","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","tree-kill":"^1.2.1","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/dotenv":"8.2.0","@types/jest":"25.1.0","@types/lodash":"4.14.149","@types/node":"13.5.0","@types/node-fetch":"2.5.4","@types/prompts":"2.0.3","doctoc":"1.4.0","dripip":"0.5.0","husky":"4.2.1","jest":"25.1.0","prettier":"1.19.1","pretty-quick":"2.0.1","strip-ansi":"6.0.0","ts-jest":"25.0.0","type-fest":"0.9.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"docs:dev":"docsify serve docs","release:stable":"dripip stable","release:preview":"dripip preview","publish:pr":"PR=$(hub pr show -f '%I') && yarn publish --tag pr.${PR} --no-git-tag-version --new-version \"0.0.0-pr.${PR}.$(git show -s head --format='%h')\" && git commit -am 'ver' && git push","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","dev:test":"jest --watch --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"description":"<br>","_id":"nexus-future@0.6.0","dist":{"shasum":"cb788155636e52bf776e3ebedfd534f6a621cd32","integrity":"sha512-bqmqHaCD5PMoMo3RUHL/+Pzx/929+5Hbg2t4tAugMVME3FQ13gdt3qLGjc1NdK42tc2UDzanc6T0l4Vhubn5nQ==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.6.0.tgz","fileCount":335,"unpackedSize":697946,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeMJ5wCRA9TVsSAnZWagAApUQP/iGpAxdTMrE8Fhkvo1aE\nkvgBS1t7EATEDqppuLImVPfOxv0MNRFKNeQhC3JyOcblz/rLAU1XS9WvqgLA\nzoil9lFaJ4ucmtof2M6y7VsckhfFNWoOldlEm0t7gFKcON5e3DjMPPwjUGv8\n6oDqYqxz3P3yALjqwRY/NW9rU0IFP0ZT6HkofTbMNgevSVZ1fFIYrh+3b2bQ\nWcj7+9lwB3HnKEzg05/iX3HHzHwb2JFJnhzoHIJYb0PIlcM9MrEdee7129EN\nmDJVSFJPv98+YNi9B/TvRAhuqlZiMXg0LFqw/I9U5E36x0/5N2jJ+cDvaS6a\nXmFfIV6SW/75uUYu3u+eNB8REGyF0PWe1bHK6B5GZcHX8JYPOmQwdadqDBwl\nrRmg2XMUhGlBRrn4pmQw9/sNNMupFB7BqrRJ+KPTFnHHrNoIaR62pnAFAtrN\nhv5a+Ayl3Sm+hjifVwajcMBFFhvgBURH39EvZ/5GCHjR9J02E8Iw68P5LWnS\nXRhxAjEY8qQN1vhXa0tzsolzWSSjf1cg/g8/TrUmNjjPn8UCVU/UmBoQKT97\nJt5UuerGeVN8YMXOy9rEdYcwwgkfTAzkCMvIvbGqYdY7LpIfkIwKT5me1PVF\naxCX3lxRsnIomV8EfKoJEMuZLhabErW4mMvd7Opi9AAJSTlliR/Ud7tUFtBP\n0Xc7\r\n=3Z3c\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFEUfk2a5PB4Uk5pWnVGMNSuA/PBdkqKTOO0kVSVtuYKAiEAt0GkhMARgQYKkJuH8zmKiCzfboT3ZBk3I/z3VcRidjU="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.6.0_1580244592507_0.8852790474834229"},"_hasShrinkwrap":false,"deprecated":"nexus-future is now just called nexus"},"0.7.0-next.1":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.7.0-next.1","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.9","@types/debug":"^4.1.5","@types/express":"^4.17.2","@types/pino":"^5.15.1","anymatch":"^3.1.1","arg":"^4.1.1","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","debug":"^4.1.1","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","graphql-request":"^1.8.2","lodash":"^4.17.15","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","tree-kill":"^1.2.1","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/dotenv":"8.2.0","@types/jest":"25.1.0","@types/lodash":"4.14.149","@types/node":"13.5.0","@types/node-fetch":"2.5.4","@types/prompts":"2.0.3","doctoc":"1.4.0","dripip":"0.5.0","husky":"4.2.1","jest":"25.1.0","prettier":"1.19.1","pretty-quick":"2.0.1","strip-ansi":"6.0.0","ts-jest":"25.0.0","type-fest":"0.9.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"docs:dev":"docsify serve docs","release:stable":"dripip stable","release:preview":"dripip preview","publish:pr":"PR=$(hub pr show -f '%I') && yarn publish --tag pr.${PR} --no-git-tag-version --new-version \"0.0.0-pr.${PR}.$(git show -s head --format='%h')\" && git commit -am 'ver' && git push","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","dev:test":"jest --watch --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"# nexus <!-- omit in toc -->\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexus-future.now.sh\n\n<br>\n\n## Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nThere are unit tests and integration tests. `yarn test` runs them all. Beware that the integration tests run slowly. `yarn dev:test` runs only unit for this reason. Testing on CI is not yet setup.\n\n#### Unit\n\n```\nyarn test:unit\n```\n\nWe co-locate unit tests with their respective modules. These can be run via `yarn test:unit`.\n\n#### Integration\n\n```\nyarn test:integration\n```\n\nIntegration tests rely on `yarn link`. This means those integration tests cannot work on a machine that has not done `yarn link` inside the root of the cloned repo.\n\n<br>\n\n### Releasing\n\nWe use [`dripip`](https://github.com/prisma-labs/dripip) to make releases. CI/CD preview releases are not setup yet.\n\n```\nyarn -s release:preview\nyarn -s release:stable\n```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/graphql-nexus/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"<br>","_id":"nexus-future@0.7.0-next.1","dist":{"shasum":"5294e4cbae90bcbc1c7bdd753bb15df300196eda","integrity":"sha512-/suTQ9I9M1xPU/+/u3/gWMrUUNr/cMLamhQ2R3z7yt202pRhQto7jv3/e1FUjasSxVmU9pw5J2CSiC80UB1V1g==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.7.0-next.1.tgz","fileCount":335,"unpackedSize":707310,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeMZUlCRA9TVsSAnZWagAAI48QAIxWZVK0gKIVD2YaOE+d\nGaE3qLOhaa70M/CSBk6jrpG3wB9oQwOWrFSJgQTmHpnpE5hbJKSBW/Hxgl9b\nONwDtO+lYjhXACnadWJZpQS8e1A8JMoRg/ligibQnsl20ybESXyZbysOCHRp\nwwm8AdVzGvyPYX1ChS6kp1SmeKAAZBJSJlct0ul411YNFOWnKJ5IyvsNHxk3\nLRJwc9UWgcY7tOYllRaXGMHgwLtGAy1Er4ffRQ63m/e/UbLbBv5InvX3SZFQ\n9MtWqOvigoRXpluj8SultZwz4qQ8foHSXHJFju4CR/MCRvSs/qZKymu7EkrA\ngTNtBeoppSbZr3DWvS5uKpA0EnAiKbg21WWt5LopERIwgfLzF3FP2SdIjf4W\nqw03tFAOvq5FDE51ujsFssEF1i9VH3cXJghTfo5klALhykqAS2LrmtyEjYVg\njRqYCdPOe9LoqGBR1tL37PZnyPtBcZdiXPWd7ufDIdi6Oz0BqS3Ko8hZwDrB\nyG51r/cCChRZ7oNd5oDig5eb7+U7W0brUhfgW3AtOeIBSkjb7EozO0do3art\nUnYK/sBXfawacWYEe1r+LiQH7tXtJLxi47WBR5ZI/QgQvbOJeY2yg91jPj5O\nWrjnvodun2Ab9Zx80vdQhOLalgS83cIyYhyb9m2F+eELfB9A1I1/cJfgDQRB\n7aHQ\r\n=yHSQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFFU11p8iJ1LjYEMVSVPEg91/QqSDeK0wVJIR8Tf6xnqAiEA5mbdo3qEasa+oxYQD5W9lHCCxptH+y1UJkRdNkOAAEI="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.7.0-next.1_1580307749077_0.29290194990707685"},"_hasShrinkwrap":false},"0.7.0-next.2":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.7.0-next.2","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.9","@types/express":"^4.17.2","@types/pino":"^5.15.1","anymatch":"^3.1.1","arg":"^4.1.1","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","graphql-request":"^1.8.2","lodash":"^4.17.15","node-ipc":"^9.1.1","node-pty":"^0.9.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","tree-kill":"^1.2.1","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.0","@types/lodash":"4.14.149","@types/node":"13.5.0","@types/node-fetch":"2.5.4","@types/node-ipc":"^9.1.2","@types/prompts":"2.0.3","doctoc":"1.4.0","dripip":"0.5.0","husky":"4.2.1","jest":"25.1.0","prettier":"1.19.1","pretty-quick":"2.0.1","strip-ansi":"6.0.0","ts-jest":"25.0.0","type-fest":"0.9.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"docs:dev":"docsify serve docs","release:stable":"dripip stable","release:preview":"dripip preview","publish:pr":"PR=$(hub pr show -f '%I') && yarn publish --tag pr.${PR} --no-git-tag-version --new-version \"0.0.0-pr.${PR}.$(git show -s head --format='%h')\" && git commit -am 'ver' && git push","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"# nexus <!-- omit in toc -->\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexus-future.now.sh\n\n<br>\n\n## Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nThere are unit tests and integration tests. `yarn test` runs them all. Beware that the integration tests run slowly. `yarn dev:test` runs only unit for this reason. Testing on CI is not yet setup.\n\n#### Unit\n\n```\nyarn test:unit\n```\n\nWe co-locate unit tests with their respective modules. These can be run via `yarn test:unit`.\n\n#### Integration\n\n```\nyarn test:integration\n```\n\nIntegration tests rely on `yarn link`. This means those integration tests cannot work on a machine that has not done `yarn link` inside the root of the cloned repo.\n\n<br>\n\n### Releasing\n\nWe use [`dripip`](https://github.com/prisma-labs/dripip) to make releases. CI/CD preview releases are not setup yet.\n\n```\nyarn -s release:preview\nyarn -s release:stable\n```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/graphql-nexus/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"<br>","_id":"nexus-future@0.7.0-next.2","dist":{"shasum":"5a0a888fe0c99600292fa593b1b9a52b921180cb","integrity":"sha512-hajhq00Crse46tmrutoDo2RX8xKNeIvSrF1buKKPVGgGj1Kk/gDqsQfvXx57k56Q0URJznzjCdsZUYXofgYmDw==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.7.0-next.2.tgz","fileCount":357,"unpackedSize":765837,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeN40LCRA9TVsSAnZWagAAyToQAJNPAwi7L9yhQsBcEsco\nz2azAqCWgOwEqzaWpyrc67abOSO7R6kjio001NVRRxUmZnRr9GngVEWLNbf+\nNog6nFZ9O39Ms4MSEeaVEcnG2hRCIF0HPO/CnUi7yBEbS634itliNYvnp+V+\nuCh1bA8KXF1eTUs7O/fG8viCUhCWE+0OW0b6lf6QqndnHaw0JbRhPe+xxBXy\nDWr3thnf7BpVpEO8CzE9e0Pmy6P4Jjfd0IxRhOzztX5gP+bNV6/3fqg/Ulou\nA0z2TWgzZEk0UUlbY+sifzn9YjMF8iQieno3ZMAHJGFdwkDMp/vWuI2OobNb\nBxEEkA5VAgJTOGBExA2zp58i8+yk1cBN8dbOcBeEX0LWz7A/XAeqUqV/ByWE\nx/h5YTvaw9ReZqCMHxPoweviGqNuRq2z8Uf7vGlaihJ6TN1/D9nvi6eGvfvh\n0dUdADkfknvHAY9yPN5dO5ad58ECu2amJuWIGu4xDw7KALyy1Cq7glOD42Yo\nqn8aDWMAEmP5oXpMvmYJVMVGtEaXxtf5akA/bXgSrDrEaxFEibNwRj1WO/GS\nO38MEkeZbupAFvAvpMUis4H1FBD4ZYs7GbG4/ygavZtVnGQWSrSoGBgM8OXL\nrDvnDt17PCbfIGtzYXqjtiRF9p+4U8pszLSVxHNNIJfJKrNJwQ7dcjDhOh2n\niS6E\r\n=HnFn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG5sUvMye50sjVBtvrY9hl8wAH+qIGWxbTTGEiunokW5AiBB0jO4PVD4ShVFrPHphxeeRuE3UJtAo3m/sF1QnMmxcQ=="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.7.0-next.2_1580698890873_0.08502924181662608"},"_hasShrinkwrap":false},"0.7.0-next.3":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.7.0-next.3","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.9","@types/express":"^4.17.2","@types/pino":"^5.15.1","anymatch":"^3.1.1","arg":"^4.1.1","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","graphql-request":"^1.8.2","lodash":"^4.17.15","node-ipc":"^9.1.1","node-pty":"^0.9.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","tree-kill":"^1.2.1","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.0","@types/lodash":"4.14.149","@types/node":"13.5.0","@types/node-fetch":"2.5.4","@types/node-ipc":"^9.1.2","@types/prompts":"2.0.3","doctoc":"1.4.0","dripip":"0.5.0","husky":"4.2.1","jest":"25.1.0","prettier":"1.19.1","pretty-quick":"2.0.1","strip-ansi":"6.0.0","ts-jest":"25.0.0","type-fest":"0.9.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now switch graphql-nexus && now --name='nexus-future' --prod","release:stable":"dripip stable","release:preview":"dripip preview","publish:pr":"PR=$(hub pr show -f '%I') && yarn publish --tag pr.${PR} --no-git-tag-version --new-version \"0.0.0-pr.${PR}.$(git show -s head --format='%h')\" && git commit -am 'ver' && git push","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"# nexus <!-- omit in toc -->\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexus-future.now.sh\n\n<br>\n\n## Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nThere are unit tests and integration tests. `yarn test` runs them all. Beware that the integration tests run slowly. `yarn dev:test` runs only unit for this reason. Testing on CI is not yet setup.\n\n#### Unit\n\n```\nyarn test:unit\n```\n\nWe co-locate unit tests with their respective modules. These can be run via `yarn test:unit`.\n\n#### Integration\n\n```\nyarn test:integration\n```\n\nIntegration tests rely on `yarn link`. This means those integration tests cannot work on a machine that has not done `yarn link` inside the root of the cloned repo.\n\n<br>\n\n### Releasing\n\nWe use [`dripip`](https://github.com/prisma-labs/dripip) to make releases. CI/CD preview releases are not setup yet.\n\n```\nyarn -s release:preview\nyarn -s release:stable\n```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/graphql-nexus/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"<br>","_id":"nexus-future@0.7.0-next.3","dist":{"shasum":"b00e386e4d0637c3c349f35540bd19965457c2ef","integrity":"sha512-Zvd5jdG5WAmLOrWItL1yOWEn2XtZk/cI6wqabBkmQ7Orj15gvAGyjEBajchvYli2UkQEgxnfT3VXHlyBpoPHmA==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.7.0-next.3.tgz","fileCount":357,"unpackedSize":766281,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeOOJyCRA9TVsSAnZWagAAshIP/itrlmrdT9wjmfqaZSAv\nyXw+X4w1jb5ffUdAds/NRcsxnibqtS1ktZaCVFGzR931Loih+YHj0LpMvzuM\nELsQ3RLa9R/iNLDBxH0ao87BpIXtMsd2phLkblEMccm9kD19J+bkmBPW/uV6\nl/ZsHGL9qBASciEo/LxadH7I94VR3sbDeFudwb/wA74mJks5RKN8s0FK+thJ\nSmgsuuD+D+fhzmYDzHm5oaLvnyI1aZz8qo+xlKioTUDN2MA/bR1WR1ZBl1fa\nBMD9FJwbi3EMwJQS8jADVPcVxT2kLErfmtZRdfONAJv8eVZwAht30XZ594I+\n8tp8BSzApxTCSbAvpnufJM/fqaWmPmHd5SMQLSnf58Shao3a8dnzQenlEyg7\nM4+oyRAYpO99VI0fj0jSnO3UTTBytKI2Pes4YjBAY4RUIuDivsbxTOj91VR/\n6UqksOBsqGXPPBtTZ+u4/LkwMUiizBSQs6HXT0+shzIZ3T0Trxh06ooyqqS8\n33GYJJQktRj7kt+oP+YwgiYfInNsCKSFqw55CE+hCiEcX8eNj1yaf/aUb21x\nWrisQcoOJ4fIQBGISqtqkLncSK0JjB5Rmz106Yum607EjdvguldMGeJqCncg\ncexeYZIj1MEd/A05tCNkLjLwQdFF9+5Tl7zd69Vp0i3hsPrEvNvfkqkbaGR5\nnJM1\r\n=5KtM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFBS3+7HQ8CWg6d4uMmI2oRyrqSd6ZyaBSS68AWm+MAsAiEA/e9jWLp8SDtw8hzGQUw6ANnc+WzBAneKo2HyITEMo2Y="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.7.0-next.3_1580786290104_0.38173512302040513"},"_hasShrinkwrap":false},"0.7.0":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.7.0","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.9","@types/express":"^4.17.2","@types/pino":"^5.15.1","anymatch":"^3.1.1","arg":"^4.1.1","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","graphql-request":"^1.8.2","lodash":"^4.17.15","node-ipc":"^9.1.1","node-pty":"^0.9.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","tree-kill":"^1.2.1","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.0","@types/lodash":"4.14.149","@types/node":"13.5.0","@types/node-fetch":"2.5.4","@types/node-ipc":"^9.1.2","@types/prompts":"2.0.3","doctoc":"1.4.0","dripip":"0.5.0","husky":"4.2.1","jest":"25.1.0","prettier":"1.19.1","pretty-quick":"2.0.1","strip-ansi":"6.0.0","ts-jest":"25.0.0","type-fest":"0.9.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now switch graphql-nexus && now --name='nexus-future' --prod","release:stable":"dripip stable","release:preview":"dripip preview","publish:pr":"PR=$(hub pr show -f '%I') && yarn publish --tag pr.${PR} --no-git-tag-version --new-version \"0.0.0-pr.${PR}.$(git show -s head --format='%h')\" && git commit -am 'ver' && git push","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"description":"<br>","_id":"nexus-future@0.7.0","dist":{"shasum":"16a1ba506aaab644c1d6776265ca57b104652dc6","integrity":"sha512-d0tLo34OHBBIy80yBxZpWiDW0QIeExQinHZ25sTAPrITEiR3lyJvFyjMKMZYVFXvY8baop9EVtDHCBhLOAThWA==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.7.0.tgz","fileCount":357,"unpackedSize":766274,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeOYM0CRA9TVsSAnZWagAAMvcP/i48AlOKWO9EySQG0TiB\ngwj0ZBLhqy+qNg6+cUjbUYrlR+5/18pqnuP4/63c9u6CVS4Ad7HIS1eqaK6+\nKT6v5dpaKJXeTqY94iNKrdJ3xVyRtA5B3DwsVX99Ie508k+vnrIG0TTWWZLw\n8BDB8llFuQB8bDdp1hQpvxo6Pdfm6Fn7fyWe7VxgM0EMv+DXub7KB4AIlX71\nlslBB8US8gUqKDIC3ZWzhFiKpnjNu9dm2/nNUoNrXgR+4+U7Tn/REFiSoymQ\nRaz7bwsOUERdtHKgxTPcGbOnWDg0R/iUebo0cD1Q+Sbq7NsV5vhH1u1OlklD\nLaxIpASQEUxKlsCuseCTjUjFAXAnWbBWJpR4AmfTRQ5gRpYxG9iZXRhu0eZ8\nPxRCSyKCtcWqCjEl+A4DBzUYSvXhQEbRsNInPQD8ghfLmAab6tGdOhsi3yeN\nXqepNeCE2TbKpslQQNLuvxpTr84BwjgCe52o2oF9P4oCIE/Vz77Q0TYyvJLH\nI6EN/yTI/a5YrVQgnpwxnei4FDC+80w5km+zPrRzcRNon6c0gA5HYhUkMoGJ\nwlr+XGbD91NdWeD5wSq2W9Auwjm9CcJJmosF39bLBZChjvzvUMZhwslwPMlx\n3T6VVaT639v8D/4cRlKhEgukevGDDzeXpRjxRiV7oXaIJ0wvhGQtsndkAw0f\nhFnM\r\n=2JFD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCEf5yZEyCR8JQM7ZQx8f2411TMJUxDj/oDVmm8fjbaRQIgOa4GCsTaOPqAZHpOqi+XRSwHlCKozxai7uvlzwe4Z2k="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.7.0_1580827444141_0.84625829762857"},"_hasShrinkwrap":false,"deprecated":"nexus-future is now just called nexus"},"0.8.0-next.1":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.8.0-next.1","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.9","@types/express":"^4.17.2","@types/pino":"^5.15.5","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","graphql-request":"^1.8.2","lodash":"^4.17.15","node-ipc":"^9.1.1","node-pty":"^0.9.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","tree-kill":"^1.2.1","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","@types/node-fetch":"2.5.4","@types/node-ipc":"^9.1.2","@types/prompts":"2.0.3","doctoc":"1.4.0","dripip":"0.6.0","husky":"4.2.1","jest":"25.1.0","prettier":"1.19.1","pretty-quick":"2.0.1","strip-ansi":"6.0.0","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now switch graphql-nexus && now --name='nexus-future' --prod","release:stable":"dripip stable","release:preview":"dripip preview","publish:pr":"PR=$(hub pr show -f '%I') && yarn publish --tag pr.${PR} --no-git-tag-version --new-version \"0.0.0-pr.${PR}.$(git show -s head --format='%h')\" && git commit -am 'ver' && git push","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"# nexus <!-- omit in toc -->\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexus-future.now.sh\n\n<br>\n\n## Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nThere are unit tests and integration tests. `yarn test` runs them all. Beware that the integration tests run slowly. `yarn dev:test` runs only unit for this reason. Testing on CI is not yet setup.\n\n#### Unit\n\n```\nyarn test:unit\n```\n\nWe co-locate unit tests with their respective modules. These can be run via `yarn test:unit`.\n\n#### Integration\n\n```\nyarn test:integration\n```\n\nIntegration tests rely on `yarn link`. This means those integration tests cannot work on a machine that has not done `yarn link` inside the root of the cloned repo.\n\n<br>\n\n### Releasing\n\nWe use [`dripip`](https://github.com/prisma-labs/dripip) to make releases. CI/CD preview releases are not setup yet.\n\n```\nyarn -s release:preview\nyarn -s release:stable\n```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/graphql-nexus/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"<br>","_id":"nexus-future@0.8.0-next.1","dist":{"shasum":"a0d9098d33152f5f05c4531de83e038ef4c3e444","integrity":"sha512-uhtmJd2ucVyH8z0PIq6B6MLf4e1mPGTJdYLwXNzQX57M9h78kxNZAGA2RFLbccp1BvGkipXBzY0rLiaCKs0qHA==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.8.0-next.1.tgz","fileCount":362,"unpackedSize":772076,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJePLeTCRA9TVsSAnZWagAAqS4QAI9BLwjfebezMSmV/CIp\nyHQdR5K30JSnvO0hmq8N2XMfdZs9ekWhADi3JKkp74pSEYYHRdfmI5oIPzkw\nmu4zAbWeOG4jxtAH50c5noEzmUK9ZIDKidboxvmzCUHHuyFEqBXNkYDmeO2u\np9DrJtnObnsQ3siPp5q1DFFvjeGvg4A08BhA6bCeyLaaTFV6xsMFexWvaeyp\ngLRbwi5zCPzElMPnEvhDyeonxSX2/Lmnu6X0sLMeBX0zkpRDQe5EEz/bsVVb\nrcmlDqObhUarjG6F7aN1sF4VEjDoz60G7wG4W9i0Aa2GDKMmbt7sIiPwwQRk\najuW4A+B6RHek1tT5AIhep8hvNoQmS6PCCq0XmOnMHdZpGI6lkeVYmw5i4Nj\ntZRtN8wGGM5KSKCDu4hepBuotwux9HqDgSmoboGyfQVnAFseDJmKcQ7ggF7D\nvxWKKLlllri1yh9hTfBQPfcKWgeHnwk+rTh+WxjMNrJVV8R71svmSod2+IdC\nTAbhrq7J8frA1VKubxX1xl+H/g9nIqdhqUkW3yOZDKdM2OmlBOei201tHbJn\nXgup77bP4mftMTqiM4Bm5DkjfXFq2izCD9xD2uK5an3Jdm4nFbWJS7f9xOJo\nrT82pLjzGyOFECveNL+gx7IDUg2YptcgWkgEF1oymUx+7bk9WP/GFwEPNG+v\nsIEJ\r\n=4Jwf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAGNtoNL365l4URw34DmVrcvmk/sa/CBIaVdhAlNHSYAAiAd1rs/E/tawDPwUszZs1InWslwaFVhPHBLiJWAsF1IaA=="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.8.0-next.1_1581037459127_0.4735218642310475"},"_hasShrinkwrap":false},"0.8.0":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.8.0","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.9","@types/express":"^4.17.2","@types/pino":"^5.15.5","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","graphql-request":"^1.8.2","lodash":"^4.17.15","node-ipc":"^9.1.1","node-pty":"^0.9.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","tree-kill":"^1.2.1","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","@types/node-fetch":"2.5.4","@types/node-ipc":"^9.1.2","@types/prompts":"2.0.3","doctoc":"1.4.0","dripip":"0.6.0","husky":"4.2.1","jest":"25.1.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now switch graphql-nexus && now --name='nexus-future' --prod","release:stable":"dripip stable","release:preview":"dripip preview","publish:pr":"PR=$(hub pr show -f '%I') && yarn publish --tag pr.${PR} --no-git-tag-version --new-version \"0.0.0-pr.${PR}.$(git show -s head --format='%h')\" && git commit -am 'ver' && git push","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"description":"<br>","_id":"nexus-future@0.8.0","dist":{"shasum":"46cb9491d0f3957aecbc58311972cb9f677efa68","integrity":"sha512-p7FfzOKgBlIC8IozV6nlJlxgPemS6JrIAz8rEOOd8W1E0nUF63EcBuehMWQHI35dx58pghQa2jwyn84mjsb3hg==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.8.0.tgz","fileCount":362,"unpackedSize":772052,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJePXELCRA9TVsSAnZWagAANHUQAIBgcTrmbmDMja3hEz6z\nX5LlJHt/0GF7Jk6TsJcMa7deH/jPOBncwQrC73UjiexxTbXGWT0xDLKVt583\nlV3SkJEAxJuO6O+ByllOiTj1CjFWGuriuntCk4vQQH0TqHe9+ofNsa+BsrjM\nWM6Wcm7EYs5ncQeQPum3FgXx8BoTc9WhQtiTrmhi40z1gCtA6FMO4pEhYynn\nioX5jW77mQQREzXKYKW0pxjeujNXCXewc8tNUZ5V3618StGu7Y5fMmqV/fFi\ncBAO7sgDSDC54JzhlTmcONg1x1WKyltuSi3WaNXBEmyYiXp+cd8XedoZEhdj\n5Z3fbfglx3LcV9dlddLJaikOuKDjhGFFMiT8OELs76J7nbhLdV4Pia4mBI8p\nb3O5ntX1r5VOwkZZe8At2FTnZ7ce68o7QT0FPivwe8COuygWMTVt/8vr/WOK\ndpJTV7vpiXGttYD0HbGCetew+6vywCTy0rJR/LOon5nZEC6Gw3clBEqowBqY\nLbFRf3ecMos9NT0BImqshJzWxUjEUL8glKxM9kc04d5ZVgH0K0OhMJYG/ASv\nSJz4J7u4eylWNjuWR+u/arpsWg8Qkas28nm6SsnfignhhJa7TkgJkFeqhfaj\nSYAksV+Ysu0uCsFGt9PypG2cPg68Sz+faz8G/HllPF5hlixaUCLTyEhb42x9\ng5hK\r\n=4XyX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDAPHEfee0NqvzwUOxQWAXL4PwWMm1fyps8Ob5nPb8ezwIgYbrMDOBzkNyXdF2zADlcNjS7zVHvTF9TepIpBgEOut8="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.8.0_1581084936601_0.9914505568932217"},"_hasShrinkwrap":false,"deprecated":"nexus-future is now just called nexus"},"0.9.0-next.1":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.9.0-next.1","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.9","@types/express":"^4.17.2","@types/pino":"^5.15.5","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","graphql-request":"^1.8.2","lodash":"^4.17.15","node-ipc":"^9.1.1","node-pty":"^0.9.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","tree-kill":"^1.2.1","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","@types/node-fetch":"2.5.4","@types/node-ipc":"^9.1.2","@types/prompts":"2.0.3","doctoc":"1.4.0","dripip":"0.6.0","husky":"4.2.1","jest":"25.1.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now switch graphql-nexus && now --name='nexus-future' --prod","release:stable":"dripip stable","release:preview":"dripip preview","publish:pr":"PR=$(hub pr show -f '%I') && yarn publish --tag pr.${PR} --no-git-tag-version --new-version \"0.0.0-pr.${PR}.$(git show -s head --format='%h')\" && git commit -am 'ver' && git push","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"# nexus <!-- omit in toc -->\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexus-future.now.sh\n\n<br>\n\n## Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nThere are unit tests and integration tests. `yarn test` runs them all. Beware that the integration tests run slowly. `yarn dev:test` runs only unit for this reason. Testing on CI is not yet setup.\n\n#### Unit\n\n```\nyarn test:unit\n```\n\nWe co-locate unit tests with their respective modules. These can be run via `yarn test:unit`.\n\n#### Integration\n\n```\nyarn test:integration\n```\n\nIntegration tests rely on `yarn link`. This means those integration tests cannot work on a machine that has not done `yarn link` inside the root of the cloned repo.\n\n<br>\n\n### Releasing\n\nWe use [`dripip`](https://github.com/prisma-labs/dripip) to make releases. CI/CD preview releases are not setup yet.\n\n```\nyarn -s release:preview\nyarn -s release:stable\n```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/graphql-nexus/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"<br>","_id":"nexus-future@0.9.0-next.1","dist":{"shasum":"8af84aac301f00ec32b4610051f9284b1b844c16","integrity":"sha512-rbP9LLB9c1D4YDN6CKehHa2epjr6jIfEkza3W1Jr0lc7gGNzFNgBBntXQYqpr1VENV1gQcxyzMUVDgqN4MVQDw==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.9.0-next.1.tgz","fileCount":362,"unpackedSize":772121,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeQBiYCRA9TVsSAnZWagAA4ZYP/2OpV0vHGuOUb5DsAQ7Q\ndBKfL+G9MC63T8LeC6EEAbS++cSM02Rlwoygskq2QrcXHAkX2WpvKnXA1i1P\nVODXnX9SCJS69Ul4dGz8SnyRv/nJYdJ321rnTnpS2T9vP7i87iI7pNS5FfGg\nWYsfxJzeopiy+sFU+vnAgnrmdfoT9omxoCockb6bH/5XPa7+yU55oDAWISdf\n/J/FLJyUJjWtIOSJp5RTTV9dI8BsBLX/hyq9vVkV6lDxoCbfjpdyOb0lTOjN\nYr63sG8GbPW1n+74GCVhqhjG0l/+na3fudA2tv4/6LEY16PNWBxoXwSpumNq\nXZmytlJn1lZdhEZlJ02Sy8l1bqlwzmqGWNwdA7v/j/brWma9d0TkfcYxlrw4\nT+/8pbAsyxx1MSYpBVJbwQ33p2V+cgEV4jJ8rMEvORzdohdTu4HRufrdwjqe\nPxUFuAU0SmQWjxWKGOzo9XTDSTqxDNoKv3PNs+Dns6euNzYj+FFC08g+AOFq\nEBeD/QDvJvjN/6E3xPd1S2qoDj2vb8ISPdFMsjBVeqyyXsVfOBGXCvPk453H\nFKjXEb+TWDmivwiEXvlMc7isrTOCjCWm3v5oEu9kCGyBURAifw0VePWJgLga\nxVE3kbPQCRYm8z8ZlzrH1jHuFyv/oYsCax3Cdjganm/fWD1JtN4Jt3rsjMsa\n0t7v\r\n=pbnS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGU+lEiO9Pc8cq7ohqBKG8BT2o3xHgbQ3wQdXJGB+2xaAiEA9grPYxnSEVPfcRkBkNgB6HsYeJtlKpizdEZYBndDUMo="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.9.0-next.1_1581258903904_0.30345722530099084"},"_hasShrinkwrap":false},"0.9.0-next.2":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.9.0-next.2","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.9","@types/express":"^4.17.2","@types/pino":"^5.15.5","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","graphql-request":"^1.8.2","lodash":"^4.17.15","node-ipc":"^9.1.1","node-pty":"^0.9.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","tree-kill":"^1.2.1","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","@types/node-fetch":"2.5.4","@types/node-ipc":"^9.1.2","@types/prompts":"2.0.3","doctoc":"1.4.0","dripip":"0.6.0","husky":"4.2.1","jest":"25.1.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now switch graphql-nexus && now --name='nexus-future' --prod","release:stable":"dripip stable","release:preview":"dripip preview","publish:pr":"PR=$(hub pr show -f '%I') && yarn publish --tag pr.${PR} --no-git-tag-version --new-version \"0.0.0-pr.${PR}.$(git show -s head --format='%h')\" && git commit -am 'ver' && git push","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"# nexus <!-- omit in toc -->\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexus-future.now.sh\n\n<br>\n\n## Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nThere are unit tests and integration tests. `yarn test` runs them all. Beware that the integration tests run slowly. `yarn dev:test` runs only unit for this reason. Testing on CI is not yet setup.\n\n#### Unit\n\n```\nyarn test:unit\n```\n\nWe co-locate unit tests with their respective modules. These can be run via `yarn test:unit`.\n\n#### Integration\n\n```\nyarn test:integration\n```\n\nIntegration tests rely on `yarn link`. This means those integration tests cannot work on a machine that has not done `yarn link` inside the root of the cloned repo.\n\n<br>\n\n### Releasing\n\nWe use [`dripip`](https://github.com/prisma-labs/dripip) to make releases. CI/CD preview releases are not setup yet.\n\n```\nyarn -s release:preview\nyarn -s release:stable\n```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"<br>","_id":"nexus-future@0.9.0-next.2","dist":{"shasum":"4bcc835509bf1d160ca0897c5ee64954fae69fd6","integrity":"sha512-01ZtoagXKb3S9eKK0sLZEoiXkM4o21g6moT/blh51R7PvsWM5Dl5lAoG4EHNVIBCnBK9ht1S3ae1AqKHyEzuTA==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.9.0-next.2.tgz","fileCount":366,"unpackedSize":778385,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeSfYACRA9TVsSAnZWagAAuRoP/iYuHIw+7y2Bibtwkepa\nCFexK+voWxG/g+NW58B93Pg4oc7GLr/RKssa4ISr5iof8hLtknLPoaeZpbTU\na8ehu83HwmtJT1piq3K417kMxko3JhmdDd6vknEDb0QQhQoPjJ3XrPUK6hRs\n21T/79zWje4td4R3zIQaUY23c/qg1o8XIRXeqrbd8sp8tSVapPXjAc7aiKUF\nRW+VNJrTXTa/ld5+UHmfn/avp2047kLfETJzYGPF4rJtbLPBVKaKOIG+TphD\nj/cVn3k3wKQmxXI2vCvfnKFOC+7MdVU5hxpJxK5O4VFENxUw4pDjDx++qMKy\nXPBwjVQm01RpvdDGQSLr8wxcCtIqAoX1loxt8qxHHZGOiSJlxvMNqYt7aBb4\no8XGagc2S540UpBc52xnQWlGLD2y1T6yy4puFKFHmC1ujBdXr+z1WQEJmL3X\nn3pqJPzyLs390qjfHEj1OG7JetY0uaROqQ3O7qAuYOEq7KReoj0Z/jx98GgM\nOIWlkykFk9g10vEZGjFiVGniGG8xNPal961vtIddTKmzHt532MkV2rBQoW5S\nh+WfNAjxMQrRfGiWcABgYNUNySYtjqJJKY5TN9W8gyx71zb2yfOJ+6FyEN5c\nGm8IKQUyw3mchG4ZbLD4tId4/e6tbXhz9okJrMgnUhdfDdAx6+NLaef8igDm\nkASQ\r\n=CIXU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCsoApZMKSL7HZp21rh14VWhNExeHIh+n9rgK4KCyRVOQIgMRkX34stpNTpYB0GQtTRbrvWsgumh6X3dQ/RgMU0St8="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.9.0-next.2_1581905408211_0.768761502114681"},"_hasShrinkwrap":false},"0.9.0-next.3":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.9.0-next.3","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.9","@types/express":"^4.17.2","@types/pino":"^5.15.5","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","graphql-request":"^1.8.2","lodash":"^4.17.15","node-ipc":"^9.1.1","node-pty":"^0.9.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","tree-kill":"^1.2.1","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","@types/node-fetch":"2.5.4","@types/node-ipc":"^9.1.2","@types/prompts":"2.0.3","doctoc":"1.4.0","dripip":"0.6.0","husky":"4.2.1","jest":"25.1.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now switch graphql-nexus && now --name='nexus-future' --prod","release:stable":"dripip stable","release:preview":"dripip preview","publish:pr":"PR=$(hub pr show -f '%I') && yarn publish --tag pr.${PR} --no-git-tag-version --new-version \"0.0.0-pr.${PR}.$(git show -s head --format='%h')\" && git commit -am 'ver' && git push","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"# nexus <!-- omit in toc -->\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexus-future.now.sh\n\n<br>\n\n## Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nThere are unit tests and integration tests. `yarn test` runs them all. Beware that the integration tests run slowly. `yarn dev:test` runs only unit for this reason. Testing on CI is not yet setup.\n\n#### Unit\n\n```\nyarn test:unit\n```\n\nWe co-locate unit tests with their respective modules. These can be run via `yarn test:unit`.\n\n#### Integration\n\n```\nyarn test:integration\n```\n\nIntegration tests rely on `yarn link`. This means those integration tests cannot work on a machine that has not done `yarn link` inside the root of the cloned repo.\n\n<br>\n\n### Releasing\n\nWe use [`dripip`](https://github.com/prisma-labs/dripip) to make releases. CI/CD preview releases are not setup yet.\n\n```\nyarn -s release:preview\nyarn -s release:stable\n```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"<br>","_id":"nexus-future@0.9.0-next.3","dist":{"shasum":"d8e17e62cde24e671fc30e66c862e90591bc789c","integrity":"sha512-LbpbKap7xecgtnVBzR64ZLIvMDGRL2gzmR8tyrBQi/IqOxcXtDCrgyq48VPV1MhzFws1VHN61XwmB1mxEjgf7A==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.9.0-next.3.tgz","fileCount":366,"unpackedSize":778307,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeShnECRA9TVsSAnZWagAAangP/0EM7FuqVqzYEcj+gVFY\nUPb2bjkx3uFr6dyM5eb9PN12b3TWf7JGNlj4ZXBc/uGyvy7eL46b2NaA+1Zr\nBCZkB77rVbwbwlNEtLiwCKlfdYz6U7SFcBu9GrWywoherbaAFJSlK4BF4gPe\n1Ddf56gRJtkDcVioU+tVewtcU27cblqmu4p2pz8tbZStM1VJSHaUH86YgKR9\nBoEVph2J/rLeamy+MiI+EqdAb3ksMDZpZHcc28I2v4WC1I++1j2LVNp5RiS4\n5MDrXdeq9PxJJZykr0d7L4hFygGFJU0VJEJYD2wEoa4kknVwaGFKzJ6XpyAR\nMP/m8MMfS1RnHNQzi6yXPIzc8U0ed5hK9o29W8l+/vHU1LVP8Pj8zNjXdZbq\nKB/MNc9lXHH/4EXdL3lpdiQ7nVJ3HE0ZeKJrIlqqPKDgx9bwnkncIEITNqo/\nnYbobLFoiuGfj65gNjgftxjss3CRGsINca4K7nZ0d/ugbwGuTs49s1170Q1W\nZqOmJTncawXt0fDGGvIKIUIARyPRjiwUBbFMh3AOvZ3kZBegIfFWQVzkmLns\nYj05DH6k5Phlwt+vD+euU6ed3Zqa7Z24K+mn6FVt0W5V4y0PDNHiPmslegc8\nFiH9ZGZLlKiFNS49dNstwJFGuGsxBxjaigqiLG8lonbDhnTzCG9T4wL0nKze\nPUx+\r\n=fUyt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDNWQiwyTKVg8tEvo1svdlMdNLhTxAUHu9dieWSYN+J5gIhAI17IHsbet898KAxy4GHW7LAP/I17X4kaOIxWZ8m+P/v"}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.9.0-next.3_1581914563567_0.8242253061070539"},"_hasShrinkwrap":false},"0.9.0-next.4":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.9.0-next.4","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.9","@types/express":"^4.17.2","@types/pino":"^5.15.5","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","graphql-request":"^1.8.2","lodash":"^4.17.15","node-ipc":"^9.1.1","node-pty":"^0.9.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","tree-kill":"^1.2.1","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","@types/node-fetch":"2.5.4","@types/node-ipc":"^9.1.2","@types/prompts":"2.0.3","doctoc":"1.4.0","dripip":"0.6.0","husky":"4.2.1","jest":"25.1.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now switch graphql-nexus && now --name='nexus-future' --prod","release:stable":"dripip stable","release:preview":"dripip preview","publish:pr":"PR=$(hub pr show -f '%I') && yarn publish --tag pr.${PR} --no-git-tag-version --new-version \"0.0.0-pr.${PR}.$(git show -s head --format='%h')\" && git commit -am 'ver' && git push","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"# nexus <!-- omit in toc -->\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexus-future.now.sh\n\n<br>\n\n## Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nThere are unit tests and integration tests. `yarn test` runs them all. Beware that the integration tests run slowly. `yarn dev:test` runs only unit for this reason. Testing on CI is not yet setup.\n\n#### Unit\n\n```\nyarn test:unit\n```\n\nWe co-locate unit tests with their respective modules. These can be run via `yarn test:unit`.\n\n#### Integration\n\n```\nyarn test:integration\n```\n\nIntegration tests rely on `yarn link`. This means those integration tests cannot work on a machine that has not done `yarn link` inside the root of the cloned repo.\n\n<br>\n\n### Releasing\n\nWe use [`dripip`](https://github.com/prisma-labs/dripip) to make releases. CI/CD preview releases are not setup yet.\n\n```\nyarn -s release:preview\nyarn -s release:stable\n```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"<br>","_id":"nexus-future@0.9.0-next.4","dist":{"shasum":"651128e139e53ba81cac7900b7726ad7328b677b","integrity":"sha512-hsazHUL7RpEsL94F0AtT8snBNjsoZvY9P0TVR2ilZLpWegWQjknPACzVHksLoOK71nxnfPZr6TJXlCiP7odhiA==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.9.0-next.4.tgz","fileCount":366,"unpackedSize":778925,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeSiFPCRA9TVsSAnZWagAAqKEP/1SttW+Rd1vp7xjbFscb\nbYNkmalw3xbR63CExWzh+IZYyAJyjTV5/eBd0WFJi9G5jtd7rvz2RCGudlaY\nS1215Ii0ORHcrDMrbvwn2EKtfbi1rfvxds4OWt67CqpvlVHoYUbF68Kklou3\nPw42OfFYvKL7hVIZy+QpNWjbIki6zJlmpH2OAu5x3OkR1ltRmtI6Jj3B9KVt\nGs6UE5WgdLeed0RC7XbW4hm+RkvMViIDuLF7g23I9y7EjY2L39zLa460ohWC\n5l+315NybAUiVc32Y4sHdMP6N+KWH9BP0UJJUOkRv++IdlECwIdTTpOHyzoF\n7GgbumWaHs/t50halpwUZSNQ3fik09YuZnOtiBFlVDaz4Y1u8QqpM1pNwOCI\nWF75st/7qrdXKE3gRNp9hXNj3Z3vaKw560hoe2BuMDifL+STMGdo20do5EUG\nUud9v1mIGYO3KxrW7LO6xmFDR9h//2opco07TMItgmpZ9XQbMVEkeGHnO6G5\nn2dG7cLm3wvguQR3FKtCiL068lLbaRrnblyyZZEbXgHhk3w3veSiU6WVpr4I\nTPI6B3q2NdYbzqpxrj1o5tWojubDkHFWlOJUW7dDa0WE8chem1y/om1+hJRC\n1flLms3WkDE38wfWXq/NbXwCfB8baolIKhmqTvQRsCXubpWW8EA7GZ6AR/G9\n/7Fw\r\n=NcpD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDO7uQl9YhvLN0g/KqqNAOyj4twHjeK2RzuJt8LwFOxDAiB0oXBTS/cW/VWu12ZzrfkkZP2DARHLX6yLoALWa94vyA=="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.9.0-next.4_1581916494605_0.6259557124222972"},"_hasShrinkwrap":false},"0.9.0-next.5":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.9.0-next.5","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.9","@types/express":"^4.17.2","@types/pino":"^5.15.5","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","graphql-request":"^1.8.2","lodash":"^4.17.15","node-ipc":"^9.1.1","node-pty":"^0.9.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","tree-kill":"^1.2.1","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","@types/node-fetch":"2.5.4","@types/node-ipc":"^9.1.2","@types/prompts":"2.0.3","doctoc":"1.4.0","dripip":"0.6.0","husky":"4.2.1","jest":"25.1.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","publish:pr":"PR=$(hub pr show -f '%I') && yarn publish --tag pr.${PR} --no-git-tag-version --new-version \"0.0.0-pr.${PR}.$(git show -s head --format='%h')\" && git commit -am 'ver' && git push","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nThere are unit tests and integration tests. `yarn test` runs them all. Beware that the integration tests run slowly. `yarn dev:test` runs only unit for this reason. Testing on CI is not yet setup.\n\n#### Unit\n\n```\nyarn test:unit\n```\n\nWe co-locate unit tests with their respective modules. These can be run via `yarn test:unit`.\n\n#### Integration\n\n```\nyarn test:integration\n```\n\nIntegration tests rely on `yarn link`. This means those integration tests cannot work on a machine that has not done `yarn link` inside the root of the cloned repo.\n\n<br>\n\n### Releasing\n\nWe use [`dripip`](https://github.com/prisma-labs/dripip) to make releases. CI/CD preview releases are not setup yet.\n\n```\nyarn -s release:preview\nyarn -s release:stable\n```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.9.0-next.5","dist":{"shasum":"515d537e5f098f1196acc8a3a321fd5a675fa598","integrity":"sha512-e6YN9b2lC0o3SmoEEKsfvmJLB7/R8F8RLRGgJ4b9i3eXU/JsSFgyWbzW8n0O+W/6FRAcpy+PrRlAlPjCz2dc8Q==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.9.0-next.5.tgz","fileCount":366,"unpackedSize":780737,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeS/ekCRA9TVsSAnZWagAA4TgQAI3w9bTR2LYPoO26Ny6J\n2MvtDlv+Im8+t6NLZEZ0AI3F7ExPGcH7JUBWyXxsjhNne6u9+Bunm8e0zn/B\nzzqPU8tRGR/o5r/pLYuo8pnKvVe0LZsHHOuOrkR5v6BPwOxhKESm8JJEPBgl\nBPseop8JGmyB0NCo8+xrd+q5POSzu2rkT/hs+/R6V7hH2llfBWJCaohKmWW7\n1yD0yw7lQE6D9TnJSivBsUJ7apjgXS7DGHgHQrcuJU2l4nZAm7aTGlMgwNo5\n1rPeQWpBnUWpq/coNmZJKfJiLCej1MUUj3TxRoOWN7iYx3cMS3N8BumGymq9\n4ZfWtasIV6cFWf0mJOPPIH/UmABEASSsx/Ay0dMoMDOuB93GDff1gNjKvdmi\n+C5p2IBzgss67rrtEm+RNWGU1JT2P7F2wMSUefnx0bpRQCJUsU4XIBmp9AIq\nnLBYbWdtGWDurTBLBmpFu9ayuScs8Vf2UgPY/YS43Wh3Y5tKXnFlu7LoubdN\nQWSctybOvGP/AiGS7wE6R0dgkB5OtUpnioVfj74fS5vln7JER14lF2OWgjd/\ncofTOxQNx89hpnLiu3KzA1TBhuDve2KHZAMawObbOULCKJSyZqpsUjI31Plt\n6B5SzeM67V/KTa1upx7CWRJnfhfShCbZAb9fLEzkizQrv/gKP/k/qfQVYwXs\nB56x\r\n=W//h\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDFMK0CZhyP3gMCVIQZdZJDJ1s8moyzQj1jIqZgz5RyRAIhAKDv/Ee9dT0813YxARfXOt7DpB+RVlFQuhxMztA6IGnb"}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.9.0-next.5_1582036899893_0.4193835979985965"},"_hasShrinkwrap":false},"0.9.0-next.6":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.9.0-next.6","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/pino":"^5.15.5","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","graphql-request":"^1.8.2","lodash":"^4.17.15","node-ipc":"^9.1.1","node-pty":"^0.9.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","tree-kill":"^1.2.1","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","@types/node-fetch":"2.5.4","@types/node-ipc":"^9.1.2","@types/prompts":"2.0.3","doctoc":"1.4.0","dripip":"0.6.0","husky":"4.2.1","jest":"25.1.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","publish:pr":"PR=$(hub pr show -f '%I') && yarn publish --tag pr.${PR} --no-git-tag-version --new-version \"0.0.0-pr.${PR}.$(git show -s head --format='%h')\" && git commit -am 'ver' && git push","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nThere are unit tests and integration tests. `yarn test` runs them all. Beware that the integration tests run slowly. `yarn dev:test` runs only unit for this reason. Testing on CI is not yet setup.\n\n#### Unit\n\n```\nyarn test:unit\n```\n\nWe co-locate unit tests with their respective modules. These can be run via `yarn test:unit`.\n\n#### Integration\n\n```\nyarn test:integration\n```\n\nIntegration tests rely on `yarn link`. This means those integration tests cannot work on a machine that has not done `yarn link` inside the root of the cloned repo.\n\n<br>\n\n### Releasing\n\nWe use [`dripip`](https://github.com/prisma-labs/dripip) to make releases. CI/CD preview releases are not setup yet.\n\n```\nyarn -s release:preview\nyarn -s release:stable\n```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.9.0-next.6","dist":{"shasum":"ef9950d401f6224831c3e2653c2ac16c4eb2a915","integrity":"sha512-BA/WyAhBCWk2eMieZvea2lsKjQz3AuZReugaFbe2gEFqc4ZgsXl6agNUr+TpBdshndJ9kJGWrPfm6ZDuzz/oCg==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.9.0-next.6.tgz","fileCount":366,"unpackedSize":780800,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeTCIrCRA9TVsSAnZWagAA6CkP/A3hAYk3wqQavAJun451\nMWe7oSiKUBpVR1QLQhgyEkFQJz/oSCHTcgFYeSQ5k5Dhx8iAz6BcWu+OTIA/\ngsAiDDIQPqcHgY80NQGL8UV3CPG6zQJI6Qx/FdDiHb6ryjPo03/zqufAa3/Z\naTbJ1qCMAdW3iPHN3WyLtooiGEzk183Wn8SjaYNFPF0US0Z//7TaylHxlCVQ\nX92n0Y8gVPLhl74SUXRBmQmyznZwaMbwMc/WL9N116a7XPytDL/zhskc3wN8\njKmomCitBiZI9qFmhuSxLRHWWDDZTiGIC8Cw+TDniE2mJdI4aM0Cyc4oakUM\n2EU0TuSgaeDa2zVSI/wnNmdZrrHQ0AFahOTA6l0SQ1KzvIRl8f0tt5p6s0N3\nOZ5M1Maw98wZm0U7hqS6NHwiTlvGsJ5NMHTBrnv4w5952IJaNjY71dQb/KFX\nd0BaEsgBhmzrvfEmoDgWgVknuv09B+74h6GLkULHgiud58jYgEDx3XIJlvoZ\nbp64N8u06R7qOllb0r1I6RzVLSu4hu1DWTe67JBzW4f3qtj2w33fegkQ7SF3\nq2uM181n3NO5r2+oBV/MLWmtQ7qWC+ab+6bcTXnANCCwWs9YjT7LQGES3c6Z\nCYUNPoDyu2XhInMA8zKS9rmOvEnAQ/WAzDoQm9ScaxcVNwYxU9lXUCugQ2pm\n8ZMl\r\n=bRe7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC2cmUlgClB2MJx5n+wSBoRr5992GFMXym1t7IxI3TBDAiEAyhscnlOoVSogliAzvMBbMl1/NsVxk6vPEHu2ORbOs5E="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.9.0-next.6_1582047786664_0.530090946820488"},"_hasShrinkwrap":false},"0.9.0-next.7":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.9.0-next.7","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/pino":"^5.15.5","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","graphql-request":"^1.8.2","lodash":"^4.17.15","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","@types/node-fetch":"2.5.4","@types/prompts":"2.0.3","doctoc":"1.4.0","dripip":"^0.6.1-next.2","husky":"4.2.1","jest":"25.1.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","publish:pr":"PR=$(hub pr show -f '%I') && yarn publish --tag pr.${PR} --no-git-tag-version --new-version \"0.0.0-pr.${PR}.$(git show -s head --format='%h')\" && git commit -am 'ver' && git push","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nThere are unit tests and integration tests. `yarn test` runs them all. Beware that the integration tests run slowly. `yarn dev:test` runs only unit for this reason. Testing on CI is not yet setup.\n\n#### Unit\n\n```\nyarn test:unit\n```\n\nWe co-locate unit tests with their respective modules. These can be run via `yarn test:unit`.\n\n#### Integration\n\n```\nyarn test:integration\n```\n\nIntegration tests rely on `yarn link`. This means those integration tests cannot work on a machine that has not done `yarn link` inside the root of the cloned repo.\n\n<br>\n\n### Releasing\n\nWe use [`dripip`](https://github.com/prisma-labs/dripip) to make releases. CI/CD preview releases are not setup yet.\n\n```\nyarn -s release:preview\nyarn -s release:stable\n```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.9.0-next.7","dist":{"shasum":"021e30e4871daec7cb6ee3877f0dc895d00c1a63","integrity":"sha512-FFyp9V+OY+C1etj95JNC2dICk60OZWXjdOgYpnBFzrktuCD8ZB3+DUGrPxePc6R7rR2sn2dGfWBVkeaduoTq0g==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.9.0-next.7.tgz","fileCount":362,"unpackedSize":754399,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeUgFRCRA9TVsSAnZWagAAWx8QAIflhM3kTKCJUdLORUx8\n+uxnIRRSKaJH6YX7IZAPlCga5Uf5en02dM1vPhj1EZugqj2blEo1uQVRt+/6\nLz3xFTrtgCA6ZmBZ1UUg7rNb375OaToNcls9tKZLxaACMgapPZ5XqOeoUuUg\nKIYRjA9tg5No8wZ6wkfLSGmp8N7HHEoVIOVYxcnLNRgDxcv8g/IOHlle6n7/\n0kzVG5Qym3ucP4eaRgGV/IYHNvEI+JPUISKX4RAvUma8tYK9SOV8f4M1jhki\nUDMQiKp1uDK5pbUPhzk0o2pl6M+0DGABv/IrHWrAGGylY9MA+N57Rx+Gf4NH\n8oDvduq2oOeoMlSQvn0YvQlaKyB89OSw8/7LE85Y+H4ryiS+RXbqoKpTh+u6\nAHhGxaSY0MQmQJIrXcqsOCLs7U3CbbrMt9wu7VeUy42Dqm0vIaQpwjxOtJh4\n26UxsH7RX0r9/f+ntBRXVZPDxVC9j4GunjomiCvrs//2+M1+q60EhThLZK2Q\n9GNbaKAhM63TDP6I8sjzhlojPTkBiIksj6yLOsh05kEVSWSQ6CnJrojy6+eM\nt/3i+3Tk3nkxiIaTBya+vQlndJ+HstqaZgkagpBx7N6RGrmdIVWeHL+7kUVU\nzlw8ldO08VXyZZWY80qoWtRPE8UlvO5P4oVhliN4nI/a6gqFkFPPrgNYqyrU\nJa/f\r\n=B9lJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBUMSPDsw02YamvWpjIBlCxWHYRssMgN/H33sCHdJe+lAiA3NiH8XkOVyPs68kOagk5lS+Codfj8S/0VRqon1Axm+g=="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.9.0-next.7_1582432593040_0.6912818455580418"},"_hasShrinkwrap":false},"0.9.0-next.8":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.9.0-next.8","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/pino":"^5.15.5","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","graphql-request":"^1.8.2","lodash":"^4.17.15","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","@types/node-fetch":"2.5.4","@types/prompts":"2.0.3","doctoc":"1.4.0","dripip":"^0.6.1-next.2","husky":"4.2.1","jest":"25.1.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","publish:pr":"PR=$(hub pr show -f '%I') && yarn publish --tag pr.${PR} --no-git-tag-version --new-version \"0.0.0-pr.${PR}.$(git show -s head --format='%h')\" && git commit -am 'ver' && git push","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nThere are unit tests and integration tests. `yarn test` runs them all. Beware that the integration tests run slowly. `yarn dev:test` runs only unit for this reason. Testing on CI is not yet setup.\n\n#### Unit\n\n```\nyarn test:unit\n```\n\nWe co-locate unit tests with their respective modules. These can be run via `yarn test:unit`.\n\n#### Integration\n\n```\nyarn test:integration\n```\n\nIntegration tests rely on `yarn link`. This means those integration tests cannot work on a machine that has not done `yarn link` inside the root of the cloned repo.\n\n<br>\n\n### Releasing\n\nWe use [`dripip`](https://github.com/prisma-labs/dripip) to make releases. CI/CD preview releases are not setup yet.\n\n```\nyarn -s release:preview\nyarn -s release:stable\n```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.9.0-next.8","dist":{"shasum":"b37c0f013944f7f9989d241a9163466460cf5fed","integrity":"sha512-Re4xr+CWx0I41YB5WwmBEq+i+1dZ7ey5vNxvlzKWhfqD7Ky9bdWBqisc7Wl3DWoUuMRCUDIcF8dTymHR6wiRXw==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.9.0-next.8.tgz","fileCount":366,"unpackedSize":762065,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeUoStCRA9TVsSAnZWagAAU/8QAJEtcBfzbz8ahwdue3gA\naeARVChAfSLB4A1hkRTDnnbwZ1nOIxWZtZ5JtiWRm5cHSS4U70v4gS1dqy+U\nTXlwpH6VwlFeh1M8LcJBQDUF6vP77FQtFIopbVikgqav+WAGjJFXSMltQ8tX\nWwv641ic3TL5bO95cz2af3SpwjZxyCeWyWKpbv0K/XL2L8Y7wondGj78QKne\noFCNId1N8KEw/WIDctaCkobsA7UgExdHkWi0VKkiWaArPNMgk9XQtKYujLOu\nifwnoBq0/f7T7MwLarcx4fYAqR+5VQO8O5ClQFu+XFUCWwDnge+Sy0SwR8CM\nU3fS1ALu7xjBS40coCFp6zriSdmL+QGrwd+Ij5HIE7X9oWESzJwEzBMSVi27\narAoQ0+n4MsnlULt4YjNbgG7Fh2bHtoS6RzJi1VReAB3uA32R5gUpoL0pWZS\n+/8tw7BXRiylKzjT6h4kAHKU62bSbt8UmmMUg8I5jLzjPLRWfA/SGTWucxbQ\nkbaZuFWjyQnoZHJylwQEW7KtuLIu5tj1uB6f4e6RW3++pzA+5oMCfG8ZI4um\nu20w51Ezxrkq9UIEnadFmkwgvAU6DRsPUvAowVuD0KtsF0Oc9cIX2v5PXZGt\n6QecomF3SihDxyT/DPmjuFwiRkH4tz6LLwkjOuCAi45cHDMeD8LcbRL0cGk3\neRjN\r\n=ZNmO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDMJbs+L6q6tSmwOl3iNAMBCZzxbtvQJ2kCfr+6dH9wFwIgEIqsxqEPxP1h5p60wrnBLovnrFd04v29cl6HjA28qC8="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.9.0-next.8_1582466220711_0.04418072755592495"},"_hasShrinkwrap":false},"0.9.0-next.9":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.9.0-next.9","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/pino":"^5.15.5","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","graphql-request":"^1.8.2","lodash":"^4.17.15","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","@types/node-fetch":"2.5.4","@types/prompts":"2.0.3","doctoc":"1.4.0","dripip":"^0.6.1-next.2","husky":"4.2.1","jest":"25.1.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","publish:pr":"PR=$(hub pr show -f '%I') && yarn publish --tag pr.${PR} --no-git-tag-version --new-version \"0.0.0-pr.${PR}.$(git show -s head --format='%h')\" && git commit -am 'ver' && git push","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nThere are unit tests and integration tests. `yarn test` runs them all. Beware that the integration tests run slowly. `yarn dev:test` runs only unit for this reason. Testing on CI is not yet setup.\n\n#### Unit\n\n```\nyarn test:unit\n```\n\nWe co-locate unit tests with their respective modules. These can be run via `yarn test:unit`.\n\n#### Integration\n\n```\nyarn test:integration\n```\n\nIntegration tests rely on `yarn link`. This means those integration tests cannot work on a machine that has not done `yarn link` inside the root of the cloned repo.\n\n<br>\n\n### Releasing\n\nWe use [`dripip`](https://github.com/prisma-labs/dripip) to make releases. CI/CD preview releases are not setup yet.\n\n```\nyarn -s release:preview\nyarn -s release:stable\n```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.9.0-next.9","dist":{"shasum":"27bf859c45b6eba9047f6d58ee3859915d9edf24","integrity":"sha512-S2ha4o3gqFaGHNBc+7zbGDgbqNeo/7+7ZuNM8r0iDI9Vl/VzXZvYEtWWLaGmkFFMSmsqbu0yZtfPKFgTBAFecQ==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.9.0-next.9.tgz","fileCount":370,"unpackedSize":767879,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeUtjqCRA9TVsSAnZWagAA1LgQAJpEMoKXJw+XLnl4hMm4\nafMuHuVfl6G3qklrzCk6IeClaXQ+Qa6CucPBrCWmeoC4CGQpN9SRJpUdkPaL\nC/hCrqgGbzMHEZxSMI+Z9AQdRY4U/XbMDBLQr7/lUkgZS/oRja4CgmB7qwSt\nQs372e5XPZYrdheOoMo177/+8U0iQRKEQyFPgRBFMHjE57tw2wGOqLLBolX8\nPQ75Qaj8AK8jDVQXhY8pGZD0egpbeJhOCX5N0m1CO+4HztkwCGM5AWcUa8xJ\nSjTEbbf+AsSKfdQh1ZKAcdj+kde4Y1g9TrG8nNj0JTw3UavI7mrvFfkiE5wh\ncdOgwl0G4ciBMweLCdaBXPoNBUNalCTqIVzJ4N52/jfzmiw4t1ki0LDZHbrz\nhCYJBmFKvGWUfpQrpRt2Q/bX22V/sgo+rMMBrVY1QNFNf3ZYJhvnUlLBHd8f\ney65+pTBh/3fkCcxTcRWSrOuv6iqzG1PNntSwuVksqJb9+gbmD9FJuUKwFaO\nlIh4WSI3gOQWPplKHC8tGdQhcTIhDnVKzTqQ5AixiQscCtKPW9c8eskpdRDG\nr7/fznINsm2TmwTjHFHMq5rYyH/p3JWCJUujzdE5c7X7vjjFyqrCavEXGfb1\nzyviNmyUcJeGIKAoB/HbFP+8u+ylZlXB60QQrTFcYHeC2/QVjzxbQ6nv7A+B\nleft\r\n=umrU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICt09+vJwk/gbeFFy8QMJh6BchoTJSlyPpmtDlG4OFnYAiBFF5LTDmLjeBiIY3l28Tz1v75zGpa0Ywur81tahTwUfA=="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.9.0-next.9_1582487786253_0.7174365843105515"},"_hasShrinkwrap":false},"0.9.0":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.9.0","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/pino":"^5.15.5","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","graphql-request":"^1.8.2","lodash":"^4.17.15","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","@types/node-fetch":"2.5.4","@types/prompts":"2.0.3","doctoc":"1.4.0","dripip":"^0.6.1-next.2","husky":"4.2.1","jest":"25.1.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","publish:pr":"PR=$(hub pr show -f '%I') && yarn publish --tag pr.${PR} --no-git-tag-version --new-version \"0.0.0-pr.${PR}.$(git show -s head --format='%h')\" && git commit -am 'ver' && git push","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"description":"https://nexusjs.org","_id":"nexus-future@0.9.0","dist":{"shasum":"d814e2b7b7dd55bf92293a1f6d9dec3a9ec9518a","integrity":"sha512-Tyx1Pgi0tHcOWBe6cMukdaMUnw4yPhtHAFcDQ2UleIcHoEwrR3HXaWqkLEDAbGaqLR/RsnS0yBSnieVCywZ2pA==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.9.0.tgz","fileCount":370,"unpackedSize":770545,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeU/nYCRA9TVsSAnZWagAANUsP/13vKxFq/I8PDQsXK7ew\n0VFA+/I03o8+wX8ARnEt+BRbCOjWmKzAUoXI6W/KVQsbVQ+GBvrQS2eC44XF\npDDPOXmjOl3g+Mb4o9D+TITgoFIfubpaYiDN+xJsYK/5VRSoXtRi4iLHZ7RT\nDeP8XyTyCgf4I+4HJP3ODQeWpjleCI1XJ8FdS2z+Lre1VJ+M1sNlTkp9gACY\nB+oIrDq4G5J0yWpvkXivEpDO4lo9f+8IQrkaYJlFp7Fg5nwzIWTh5jc8XbJ3\nU+WEucwTVa52ATW7j3kPfAb4bqcSN/WmarxcMDJMYJ1djPBEN1bMXNMYlu6m\n4+pt2mITc8zWdFXyzNOxH+E6+QbUktrRs7AI5W6Q9k2ZURLXPYczZsZqh1OK\nJBVCVeFsDly81AtBw/dsyjPmWceF09L9Xq3bFiIK1FXfgAEWIxESsztvd3Ry\nHNImC1kfiLJlKcfYlAl0eAc/dntAcYrReYnUCM4Jjiefl0xbCMUggj97UINT\nqUCtIi9LOisTJzEdz+gLg031UTPpnw9IJeg/NyiXPfTsi9pFpGDyA4Jc2rqm\nr0RbJ3wxQ2mMRFPCnuz6MNmLezzeqikQLc8ksq4D6S9cCGNxbpvd/P3wnGFT\nOLlOjLopwRpg2MGoyvw1LCeyVr1ttFsyiUfPuQC++UMtdE1Zm1/xZeoCzYdF\n8vuN\r\n=zG1x\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC2XdY4OiEEELrGJUMRtxdZKN2g5nQcaokWh+uvj819/gIhAMee09/XDwiVldtqXIPu5+NteO6fw71SSMxSWu1ZnRpv"}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.9.0_1582561751515_0.5875737831854915"},"_hasShrinkwrap":false,"deprecated":"nexus-future is now just called nexus"},"0.0.0-pr.419.c4ed57e":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.419.c4ed57e","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/pino":"^5.15.5","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","graphql-request":"^1.8.2","lodash":"^4.17.15","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","@types/node-fetch":"2.5.4","@types/prompts":"2.0.3","doctoc":"1.4.0","dripip":"^0.6.1-next.2","husky":"4.2.1","jest":"25.1.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","publish:pr":"PR=$(hub pr show -f '%I') && yarn publish --tag pr.${PR} --no-git-tag-version --new-version \"0.0.0-pr.${PR}.$(git show -s head --format='%h')\" && git commit -am 'ver' && git push","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nThere are unit tests and integration tests. `yarn test` runs them all. Beware that the integration tests run slowly. `yarn dev:test` runs only unit for this reason. Testing on CI is not yet setup.\n\n#### Unit\n\n```\nyarn test:unit\n```\n\nWe co-locate unit tests with their respective modules. These can be run via `yarn test:unit`.\n\n#### Integration\n\n```\nyarn test:integration\n```\n\nIntegration tests rely on `yarn link`. This means those integration tests cannot work on a machine that has not done `yarn link` inside the root of the cloned repo.\n\n<br>\n\n### Releasing\n\nWe use [`dripip`](https://github.com/prisma-labs/dripip) to make releases. CI/CD preview releases are not setup yet.\n\n```\nyarn -s release:preview\nyarn -s release:stable\n```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.419.c4ed57e","dist":{"shasum":"72ea01eb16fa0ab6b1aa542f9c7c083a3ede11d1","integrity":"sha512-Z+JxegHsr8yGOxswzrSP9z4vHbVc2Vw1xCL6dCMPqa/1it8KJbDpJBFp3ETYrT3g4k65aX30JxzvL4TvLTYu8w==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.419.c4ed57e.tgz","fileCount":370,"unpackedSize":772692,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVPdoCRA9TVsSAnZWagAAgccQAIGI54HOY6Q2Or3sVBjk\n42lPUjIK0sAaUxDy3nPkN/kVU/lsQpNShsk+4xEWED3deRplhndx87+1KvAO\nzIpeVkKdgdW8NiQWRZ67UOxzn0n9+LAn1K0IchEZvMkTmO1cIG6P4Q3N60mA\n6p9al0AbSTaQLlUBC1Ku6tA7CQPEKgrZaEsvXD1WQlzPmL3bMrqOdeWw4bjk\n5wGrYq89RqsxCmUqHy9xeBLKgAZL8ytM8plOWTdWYTv+/e+QUVBZs7GkYqOP\nPRkWCm4pY2nc/BqhUAhBtD3SMSn6cB9G/Qj+z1j/wnzG5NgucnBNOY8qrDCb\n7HnC+mxDnv36KKc/RjDuR0TI7OAtarxpLu83LvWK4X3W1z3CeHo4KMk6t5lp\noBMlTIuACQ8wuu4robUHepOHQ5y+VTLet52hX0tzVyiGEjlacsbatVRakAO3\nHrLCYh1jcANZYUMIKiCi3bCcKVU+S+S2nqULVAEYGZ/FHeQbiNqRHKkao+Ib\n+m0LQXGpJXLsqaJFIYFA+PUlEXGOCN6PbPWtLBBkfaBtYVD3Gkmo8u0l0FWF\nzH8w1jYIkzG+H+ABDGemLAYQfejoJ6iF7RUx32AdGpfwH7ay6v44t5ymC88c\nexHrDV6YW7yzqZ2DNN8hohJa+tyMdu3JbDztEvsehYivMfeQNX01TY6DNbSQ\n34gb\r\n=bPX1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE2ks3G5QD6n4tAffwSveHsUVs8I7j38B82Gs/YU/PcGAiA120iT0j2H50cNGuRAAfqxhTB1eHLohr27S/6PBDeafw=="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.419.c4ed57e_1582626663422_0.05479378008450442"},"_hasShrinkwrap":false,"deprecated":"bad build num format"},"0.0.0-pr.419.7792bce":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.419.7792bce","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/pino":"^5.15.5","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","@types/node-fetch":"^2.5.5","@types/prompts":"2.0.3","doctoc":"1.4.0","dripip":"^0.6.1-next.2","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","publish:pr":"PR=$(hub pr show -f '%I') && yarn publish --tag pr.${PR} --no-git-tag-version --new-version \"0.0.0-pr.${PR}.$(git show -s head --format='%h')\" && git commit -am 'ver' && git push","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nThere are unit tests and integration tests. `yarn test` runs them all. Beware that the integration tests run slowly. `yarn dev:test` runs only unit for this reason. Testing on CI is not yet setup.\n\n#### Unit\n\n```\nyarn test:unit\n```\n\nWe co-locate unit tests with their respective modules. These can be run via `yarn test:unit`.\n\n#### Integration\n\n```\nyarn test:integration\n```\n\nIntegration tests rely on `yarn link`. This means those integration tests cannot work on a machine that has not done `yarn link` inside the root of the cloned repo.\n\n<br>\n\n### Releasing\n\nWe use [`dripip`](https://github.com/prisma-labs/dripip) to make releases. CI/CD preview releases are not setup yet.\n\n```\nyarn -s release:preview\nyarn -s release:stable\n```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.419.7792bce","dist":{"shasum":"be860c9090226e0b2b11426471d67aac9f9775d2","integrity":"sha512-SrAHWFvNuXdYR2pYc+8mwC+E2fu55f4TSvD0q2zBzr3L1GUOH/hYVzB8n7raWsG20zYZ5/pXkWzb8C//EdFOFQ==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.419.7792bce.tgz","fileCount":383,"unpackedSize":790687,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVT39CRA9TVsSAnZWagAAnkEP/2Jykc6Z2oj5lEDAklJd\nR43I9rridbLzBDPml89Je3q4H+2ziO8izRwfKX7r7VyhTq06/2s3S52Z5Vyn\nKED5jLSDIsDy88EYl29fCbhI1gWQSs4W1sPLiCRlJ+YQOF05TdBo3CRlZfCn\n8SGxsx+FvlsflzN+HOW6tybKUv4IJdKv4lzqWv/bnqtGzXF6zL614mL0myur\nBQ1L2vHwRG+QI9XLSt3IA6ntCCJGwN4ed78h4BssRcPLqPOo8/ryk1EaopXT\nQ+DmZWZjfMk69uWmdQQeI5w7sKVQ6+bBaUlocWxtazZ8bC/dKVaYoZ4AV9Ix\nOIrTI4yMqHT/hE1rIIWkD8HVzMkBQM3sR9gXq3nLgsTUiuX1E1o2b2TTlSfv\nqHX7Lx7piat/lS0Xm+R8O4i9plW0JHIGoUy4LdAKgnAVdbeRk1FtZW1hSYmF\noA2iSf0JL284CpXzTjL1gzvuJpg6uoMvzG9JsLKcf/AhqQmb3VK8Mv12OZw7\nahPaXYFiD3Uqr75CJpFhxvJXtk9yK0FTC6pCrl0a9rNOZ80Agz0HGtFVJk7U\nNoNkWPjtT2eLMnm/xalyVC0W9zbFcHV4gwQi0BLKB45sd6xTEz6SaJt9MO5g\n9YmfcYAtSRIrNYLs9uEHbr900WfvrMy5gmx5EE7R3+CWZR2N52qRvh8NgL8Y\nXseY\r\n=4hnC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCHF2m7TBMyZh9iUM8hu9vlt8rBcrXY31ySyeTEMs7vdQIhAPO9XYcBpYcsqHYzBxJ0YzMDkvLamIKiH5ONEaK6MQCS"}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.419.7792bce_1582644733454_0.07906597735651921"},"_hasShrinkwrap":false,"deprecated":"bad build num format"},"0.0.0-pr.419.60131fd":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.419.60131fd","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","@types/node-fetch":"^2.5.5","doctoc":"1.4.0","dripip":"^0.6.1-next.2","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","publish:pr":"PR=$(hub pr show -f '%I') && yarn publish --tag pr.${PR} --no-git-tag-version --new-version \"0.0.0-pr.${PR}.$(git show -s head --format='%h')\" && git commit -am 'ver' && git push","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 120000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nThere are unit tests and integration tests. `yarn test` runs them all. Beware that the integration tests run slowly. `yarn dev:test` runs only unit for this reason. Testing on CI is not yet setup.\n\n#### Unit\n\n```\nyarn test:unit\n```\n\nWe co-locate unit tests with their respective modules. These can be run via `yarn test:unit`.\n\n#### Integration\n\n```\nyarn test:integration\n```\n\nIntegration tests rely on `yarn link`. This means those integration tests cannot work on a machine that has not done `yarn link` inside the root of the cloned repo.\n\n<br>\n\n### Releasing\n\nWe use [`dripip`](https://github.com/prisma-labs/dripip) to make releases. CI/CD preview releases are not setup yet.\n\n```\nyarn -s release:preview\nyarn -s release:stable\n```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.419.60131fd","dist":{"shasum":"c5f68e71c5c11fa7dbd9da992640f730d76d4b65","integrity":"sha512-p4akFveznD6lEmDJJ87hk4t6QZNxPiFcdCyRJ+adjpRD1mGHo6+Mtps+BjXUj5J4C59LwQjwKNojv7gyG1EYgg==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.419.60131fd.tgz","fileCount":383,"unpackedSize":790710,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVUBDCRA9TVsSAnZWagAASvEP/iGF62TwEaogGkL39qvG\n9fyUKcryysWLmlcdF8rQhHLvPql6+Qef99zav+t8J9izJ59KfgMDPIw6q7EK\nyILvPGyvyxh35X/xKEx34TtYtvzOOXOAwfLysrBt4R5NfkHYme42UkrnCo+n\nX/BLnFE4FTw04EvEXz8f57WCkRqkYvS7BcxnH9Y9iwgbzRjbiWXUScum8l3T\nv0aAnd0QaKWVBKPFRx8MLpDS968fggep2lvfZ+x0YpdA9zkZtt93Er7Z+yQd\nmC1YtJk2ghT3TIe07ImtFz64iDrVKPi3XsxcDzN9Hf6Sov+2qxMxXZTqCR2F\nlau2ky+4X4RExTdse/SJOvYl5Demko1zL0C+vOXR8k0zuvMHZMmF3oJUU49+\nXtDqvR62+SqRZyXGo9uZmLIj/2hD3lVK88jhcJUzUW+5of1n40rHdEwaWU91\naRFYgAi0S6b4i8lPxs9NqYPc1dEUdSv8vlmAq4zYi8Yeslw1bAFEZKD7FDxO\nPe4XLNs8PWLjNoF4uYnc06ovas2D8htd/X8hoWUuv2ehPw6LGuQBrOk1zM3F\nFR3FuKBbCNLBJ7PZ+cwvK9jtC0/ukG4K+5Povri12VmjywEfoMQbssoYCwOj\nr/rRatkOEl83HbfURWXASXMvfDjFl6/FldTTYMnv//o8UOEvFdcT8zFXh93O\nD0wA\r\n=wxmb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC0QHocLI+lsyiCSaVpEU+w+fHqNj25RxX1uE+S7eh1LgIgHYdGp5Tz0m4qjk25qPNN2KkJDziFIoxel71ghXDL/Ek="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.419.60131fd_1582645314836_0.6103285252252986"},"_hasShrinkwrap":false,"deprecated":"bad build num format"},"0.0.0-pr.419.7bb0c7a":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.419.7bb0c7a","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.6.1-next.2","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","publish:pr":"PR=$(hub pr show -f '%I') && yarn publish --tag pr.${PR} --no-git-tag-version --new-version \"0.0.0-pr.${PR}.$(git show -s head --format='%h')\" && git commit -am 'ver' && git push","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"yarn build && jest --verbose --testTimeout 120000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nThere are unit tests and integration tests. `yarn test` runs them all. Beware that the integration tests run slowly. `yarn dev:test` runs only unit for this reason. Testing on CI is not yet setup.\n\n#### Unit\n\n```\nyarn test:unit\n```\n\nWe co-locate unit tests with their respective modules. These can be run via `yarn test:unit`.\n\n#### Integration\n\n```\nyarn test:integration\n```\n\nIntegration tests rely on `yarn link`. This means those integration tests cannot work on a machine that has not done `yarn link` inside the root of the cloned repo.\n\n<br>\n\n### Releasing\n\nWe use [`dripip`](https://github.com/prisma-labs/dripip) to make releases. CI/CD preview releases are not setup yet.\n\n```\nyarn -s release:preview\nyarn -s release:stable\n```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.419.7bb0c7a","dist":{"shasum":"6bcdb5196f05e7a7ba0c0e247801c91f67ae920c","integrity":"sha512-s4WxVDvX0eYtVjvRlGNyGwVsZ854JnOKjl3R04c+ZqO8m6C4Omxt3ASWMdOKczhbgQXP/G82woywY2+cZTqT1g==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.419.7bb0c7a.tgz","fileCount":383,"unpackedSize":790803,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVUMMCRA9TVsSAnZWagAAQqsP/jnHNmSOAONR3t6D0DTu\nHY1Ja7ppKM7mYor8gOO6vkcCPkpd8kMuTRnk308tPOWwtyHKYcx5mGbhHNJM\no1WGiZoj1FQpcfm81hZ4QGbsP9XU1BnK5FaN19GFPOsic5UacRfFZa2OowoQ\n6HAKY3eHokruUd2KS9VmEw9NmmBifSihCQ5iprVEmLNC56CiyeeZesF6mfpP\nAD1Q+JY6T2TW1nCbwDccEL0J4u9xkp6cWC/0ts0b4RJWYQHMIbBrWn59Ddb2\nN1XgEFBnYPvvLS6VRJ7yeEi4z+aa1lon3SAfCozWmDRto1BYwAkszL9PJufC\nPL6OEdOIfkS/Q0QajfpkqAupyuZAe7YZCWsmp3VY2ymRJdOnHQAsq1rN2mvf\n9sZDntXsfRjwsK9EvVgHR3m96KRsybcfwRG8eSy2HzKDyTdj2dDe/amOGoWn\nch4+FMaBnA1+Pewm0EuLaANzrffXOgFcPRTno1eW840PRKw/BalyFxMq4EVK\nN0960NDJUYKe1CGA35V3DPpazruC0q3Pt0r7fSwZOhcJwD8TBqlao7SRh/gS\nbHkyEQRdcm3At+liNLYHtQJF2UlK27FO70odJqb0744l/0xT9u0/AEe/6wFj\nrLZbHvq5nl7KmotQKZIxY7j4B5Bovkzk6mEyK2TJnwUdAEgXOcs5ylw25tdD\njOvQ\r\n=5aeH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCPqdTOr8ZMOyH/XZsHjs/jckXTVe7BSpVzSHIGSuJj0wIhAKm7W1g5Cc6Xv2k9eEBT9PQ0xQw34r+962rhuZIprJd6"}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.419.7bb0c7a_1582646027631_0.29762750102506375"},"_hasShrinkwrap":false,"deprecated":"bad build num format"},"0.0.0-pr.419.7745b40":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.419.7745b40","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.0.0-pr.30.ee27408","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","publish:pr":"PR=$(hub pr show -f '%I') && yarn publish --tag pr.${PR} --no-git-tag-version --new-version \"0.0.0-pr.${PR}.$(git show -s head --format='%h')\" && git commit -am 'ver' && git push","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"yarn build && jest --verbose --testTimeout 120000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nThere are unit tests and integration tests. `yarn test` runs them all. Beware that the integration tests run slowly. `yarn dev:test` runs only unit for this reason. Testing on CI is not yet setup.\n\n#### Unit\n\n```\nyarn test:unit\n```\n\nWe co-locate unit tests with their respective modules. These can be run via `yarn test:unit`.\n\n#### Integration\n\n```\nyarn test:integration\n```\n\nIntegration tests rely on `yarn link`. This means those integration tests cannot work on a machine that has not done `yarn link` inside the root of the cloned repo.\n\n<br>\n\n### Releasing\n\nWe use [`dripip`](https://github.com/prisma-labs/dripip) to make releases. CI/CD preview releases are not setup yet.\n\n```\nyarn -s release:preview\nyarn -s release:stable\n```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.419.7745b40","dist":{"shasum":"5f39928fd720fc671c6ddc57732fb4154b51c06c","integrity":"sha512-mQ3tJoFEKJzgxHVf/I7YEbTvMHhraDlKZKANc5D6UT3Eo3tp2rRYtFXdUDm7RXWVXq8Yyle8PxTLtQzXJ54YGw==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.419.7745b40.tgz","fileCount":383,"unpackedSize":791436,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVVVLCRA9TVsSAnZWagAApiYQAJqUPhWx3T+fFVhJuM7U\ncrz5oRuQNKLyht/XlwuPNMFP70jKQatqjFbSpxoI+y0Ln5rMl9/GQuupmw8F\n4miBSmtV6VQSXubdupwTghanHlsfcS0taAOIea+Z0dzClxwXB586wYTeVqZU\nwRrIX/UZWXlfhrf1GQTPND/vWxFjow+SwnE9occD5Xed7UJLZtv2Vb1FKqll\nxkm66tKTP8KvcXZA6MoiWu9HtyH/1mt88o7dggxZLT5Cb4GirlxXxosdQAcb\n43z4/aWRURPzn/QY3X3ISU+807ev9dXGG1m/9aXr7EunIJRjalM+JdfqtFdD\ntn13VOVK1Cm/C43FKHpOJOiCx0B9jglPl108ODX9jObHYx8IUjf7Lg/Ba+Lt\nH+/0ImQYDbo+7aO2NPkLwz/2vDVd1xVLSoDoqK1rVnARwqZ2G1Ha3OBvDRMk\njJ80m0kXe/uHYcP6CCtmhyeuBt4LsPkf7ehwSK+f2bquW/6Ar5U+bzzXV3HF\nZc6pERC31jHAt72UgqJb7lrOaGgLJj0aRpsE+EJWACSxnpUEuJxSsyoplkZR\n29PfL27+o5GaOk7IK/LuewWNsON4ZihFccjPTbb1riEed2Aia5a04cScIEmq\nsVQ2eLmAGCnZwQnZ8+tMiZhA1bv79hCPmzECuNgrPCp3myDP8xuhhu4b5lZe\na+9E\r\n=oq79\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF81pSxgR8bxBS4aX5NivYLkFI+nDpGAZ7keMU/xR1rYAiEAtlixivB5HKVyawAo5EPF2kEuixemisAyJWTVNJDJLow="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.419.7745b40_1582650698397_0.6160979254466139"},"_hasShrinkwrap":false,"deprecated":"bad build num format"},"0.0.0-pr.419.1.68a0321":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.419.1.68a0321","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.0-next.3","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nThere are unit tests and integration tests. `yarn test` runs them all. Beware that the integration tests run slowly. `yarn dev:test` runs only unit for this reason. Testing on CI is not yet setup.\n\n#### Unit\n\n```\nyarn test:unit\n```\n\nWe co-locate unit tests with their respective modules. These can be run via `yarn test:unit`.\n\n#### Integration\n\n```\nyarn test:integration\n```\n\nIntegration tests rely on `yarn link`. This means those integration tests cannot work on a machine that has not done `yarn link` inside the root of the cloned repo.\n\n<br>\n\n### Releasing\n\nWe use [`dripip`](https://github.com/prisma-labs/dripip) to make releases. CI/CD preview releases are not setup yet.\n\n```\nyarn -s release:preview\nyarn -s release:stable\n```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.419.1.68a0321","dist":{"shasum":"d99a846fce1a55935bff41dadd84e6ca26bc8446","integrity":"sha512-FvQFeqK/e6S8LjvgJZb0ogiRVvuzvqCU+cWR7z0qU6CV3Pw75ytpcKeCQhcfo8wQwFmNpS+8jK6txEHRPgNfkA==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.419.1.68a0321.tgz","fileCount":383,"unpackedSize":791115,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVjq1CRA9TVsSAnZWagAAc3cP+wZZbHjhwXa2GNIcibc8\nkNP2j/ubwXqpWAQ5wDMlsqC/vWudBgm/k0xNN+sR5o8QojoNt9npXlW0KF0l\nD6+jLbp49JyNemyaYW/qNO1KFwq7PujxR4ZKnk4p5YN+VzISwFMNtpj1xdoF\n7l8OHQbfFSysD8PRklSbRhn6HGo4L7xgEYzaqNFvaYBPw4uxAFGThUZ4a6BE\nmlh0XLravlG+hwPCdkkD5+QXmi0xcmJH09EAZQCOdk0lmfv8fGOFnAnEbNHP\n+vKtNKJBZmfeDOId7AwEhHmcxz6MRqTAa25eExorud5kZ2i7IEfiYIRAmOyH\nvOVcS5xM/dztzibF5vfs4UwDQ7NSuT9STMCM1hyJTR+pMlOA/UV5wKu2WcDU\nWCrQlCqw5qVPsvMMAWf4IFEncned1Co8HQRHox2TbbO7z21GtqlWzKjCRhMD\nl1LbDMENLQ1KkspDST53Quy3Uv4Zi7y5oz5YToEvJUDNcMghxR2Ofu9ePPFt\nIldo6pTU0Hbgh1t3FQ7JA/O/NN4WAC72S8i1urpVY7QcuK+0qrGtIL27HLWx\nKDyANn7lqsfNr6u2jAwrB1uzIeyx9g60HD1qCYBsxWvOqzr/Ha1r/DWreLUA\nJZ1+BzYnWXtOrjPtu5b971EoZOQ1RYTI6YWsbFw+F7JCRsZV07mGJyKD9+ct\nfD+G\r\n=18QX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDs3jOv2v3qxZBoHT34dnZ5VCXNarF+XFR9RamZ6Z7JbAiByhcnsxIt2XvZa96wniePJrIHFsN/DB5JLjoJFztN8sw=="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.419.1.68a0321_1582709429167_0.38525617807358126"},"_hasShrinkwrap":false},"0.0.0-pr.419.2.38db937":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.419.2.38db937","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.0-next.3","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nThere are unit tests and integration tests. `yarn test` runs them all. Beware that the integration tests run slowly. `yarn dev:test` runs only unit for this reason. Testing on CI is not yet setup.\n\n#### Unit\n\n```\nyarn test:unit\n```\n\nWe co-locate unit tests with their respective modules. These can be run via `yarn test:unit`.\n\n#### Integration\n\n```\nyarn test:integration\n```\n\nIntegration tests rely on `yarn link`. This means those integration tests cannot work on a machine that has not done `yarn link` inside the root of the cloned repo.\n\n<br>\n\n### Releasing\n\nWe use [`dripip`](https://github.com/prisma-labs/dripip) to make releases. CI/CD preview releases are not setup yet.\n\n```\nyarn -s release:preview\nyarn -s release:stable\n```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.419.2.38db937","dist":{"shasum":"c92d184c47c0fc7b80645b3f87abe40a50d65049","integrity":"sha512-Y6drNm8ix6uqYoWwnS4l80j6yMLrMO77PeJfO0soV5bgFtQWfyEfuH5THXPTp9BTXA5FAkumjWCp8XnDSxRMkw==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.419.2.38db937.tgz","fileCount":383,"unpackedSize":791504,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVjvxCRA9TVsSAnZWagAAwgQP/03HgSvRMH0XRQZWt+ce\nvDODRakBGzKssoT44zla7RQ7DBiaXU7+pt3lj3GiXqiUXpeWUKb8JcSEw3El\niiAGwYne1dpgc3QBP5cWgEaxmKvL0EEAz6K8ReIrpKKg/bJ4EMn56hIN1ZKW\nQGISDgnth1OUdpZT7EzU+aZRApoL2UXYVKtPRd0Yo6PB6KNNrcK47TcMkD/G\nG8bZym+7oFCi3RxCfxh0U36AtGtmTWZ9zAR18074Fb4jLb4yCKvTQ0427M7w\nKm6/XeLQP7aUbF3Yhv7633jWKO1LkhY3WKVEG8psU0Ml0se95MAmknuMFtCV\nbHKCfApA1x0xG256v/KG/YfMgKfbkGO1ey6O1NhnzexBX5x8fN6sy2J6lXM0\nRaoT/6ew6Om1yxXLu7rdvhDpVpqvoOUfGXRzGoHe02lE0HLLP//MbtNG50gK\nTyqJ+/kG31fATTClOjXLEwU/xP5EQ4Y2mw9RSMf5LcTyWaDgJINRGNgYbR8J\nG2pOLuHKIMl0zXLyyQD/UEKGHj8xnj7F18xqJQoDDa7GdG/ycLcvmLMwNfbk\nDYRUds2+jUwlCoFMpON+xyMjfJI/rW6w274nAcfSSUVzVBn3qo2DdjcwLtHH\n7BHCI36TxyVkTURryfk0nATlHWgB39ndkv4nQLf7RhNZEa30/Q0nHvAtzAj/\nAU8q\r\n=eFSj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDrFN7ecXSGAtu9Bs/mcF76PoqBzsEM7IpsgOSnw50E2wIhAPk7m5LJGhoqxpgISLVBYvUBl2dl6hL4WS6T3sPO5kVz"}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.419.2.38db937_1582709745479_0.819345848158064"},"_hasShrinkwrap":false},"0.0.0-pr.419.3.fa74ad5":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.419.3.fa74ad5","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.0-next.3","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nThere are unit tests and integration tests. `yarn test` runs them all. Beware that the integration tests run slowly. `yarn dev:test` runs only unit for this reason. Testing on CI is not yet setup.\n\n#### Unit\n\n```\nyarn test:unit\n```\n\nWe co-locate unit tests with their respective modules. These can be run via `yarn test:unit`.\n\n#### Integration\n\n```\nyarn test:integration\n```\n\nIntegration tests rely on `yarn link`. This means those integration tests cannot work on a machine that has not done `yarn link` inside the root of the cloned repo.\n\n<br>\n\n### Releasing\n\nWe use [`dripip`](https://github.com/prisma-labs/dripip) to make releases. CI/CD preview releases are not setup yet.\n\n```\nyarn -s release:preview\nyarn -s release:stable\n```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.419.3.fa74ad5","dist":{"shasum":"6f7c0105f6d564bdad036c7fbd31b7f557091afb","integrity":"sha512-GOwegr5KekukJRJzwolGsAGbgxvFocy9W7NVAHrLc8na/Xt1nPtBwubZyKlCQaciXbM5uGtI+cl9MQEuPndB/Q==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.419.3.fa74ad5.tgz","fileCount":383,"unpackedSize":791115,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVj6bCRA9TVsSAnZWagAAkjoP+wYLIhkTUszl/yF7K3aI\nlOoXRc741kisc4GaPFosRA4BWV/P/gt7vtv70pYqm21J5ofeZPveHn/eEBq2\n+VD42SRjvUIPaulXLLH5Y8EWUbUJBQ8A70fIbNrXfht3siOadZv+F9jY7kO/\nUHcnfKyiFMx7qWEkuYu/WUCfN8C9FixVGZhKKOQLPfwUfNJTSqYvDvi8nPir\nJntpRy1pmuKPLyz7PnDh87wZDnAqgMNsHlSYMnNdF0hJA5aBtf3dP3WxMd2z\nOIIgUyhlJKK9eFo88g4AtD0m2wfn73mcTIrurSQ0OT6tljXTqW6TNgZtt1/t\nwswCezNEyklVqrYnpnPyfx0oeohuwu6OqrtQgFr45PPI6FhyoPV+uGMn2hmT\nczTLjx9OriCkFMjVh1+DH/h7O/bnpZbaMxxK9QUNuoqW2A2O35OsBFA/1wR8\n27Uyu04C2vE6X+uJBchUtwfveTPoyM71kbk122rFPcW9LloH5dAtpzeKHIdu\n4wU2pCqseJcFzHRkidzepbWSywEx3GMjZmCHX1OpsfERMXRjyCLbNx8RbNCa\nba4C+wg0+x/5cE3xrbYHb6+GuywOQc1OIMiCYlk3Tt4Ul6w0/c6JPW1825aq\nWC3lr7uj7m1aDv5YdWp0ImE9TENnJYJpF0yrMrAylJF5lDKT0sdFDfXJSOEe\nHvBV\r\n=KGPO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCw63swvccjqBoCSDQ8J2xmerlAp6sDVoNAcdSCstkgswIgUnzgLV7/Xa2LuU+qHucQdppgcJuoQ6aTuJOIlcv3YnA="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.419.3.fa74ad5_1582710427281_0.9264698481450582"},"_hasShrinkwrap":false},"0.0.0-pr.419.4.e60ce65":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.419.4.e60ce65","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.0-next.3","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nThere are unit tests and integration tests. `yarn test` runs them all. Beware that the integration tests run slowly. `yarn dev:test` runs only unit for this reason. Testing on CI is not yet setup.\n\n#### Unit\n\n```\nyarn test:unit\n```\n\nWe co-locate unit tests with their respective modules. These can be run via `yarn test:unit`.\n\n#### Integration\n\n```\nyarn test:integration\n```\n\nIntegration tests rely on `yarn link`. This means those integration tests cannot work on a machine that has not done `yarn link` inside the root of the cloned repo.\n\n<br>\n\n### Releasing\n\nWe use [`dripip`](https://github.com/prisma-labs/dripip) to make releases. CI/CD preview releases are not setup yet.\n\n```\nyarn -s release:preview\nyarn -s release:stable\n```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.419.4.e60ce65","dist":{"shasum":"e433d4411d84f561fe1dbbf09546c08756eea4eb","integrity":"sha512-ko+NNBK+5gP9AgH2cQeLEuesJrHYFN/o1aOD4dtaIIDDIJBV0VbSJ+XzkxJLktzWAbXbgSlgbFpz2TrAdfvbgQ==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.419.4.e60ce65.tgz","fileCount":387,"unpackedSize":796714,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVkO1CRA9TVsSAnZWagAAvhEP/AheiSp1qI6nO9g5/DQC\nI/Uy1pqc58sar29LDINA/dPI68KdTfNvMbrxdAyxIJ8BACyNz5EZB2NjZ7Qt\nt6QU7CCTDlaE+ToUcEHDFrqUoJqlYygTZBDqVHy5rlTRUCd6xE+xck5738X/\nBq2g0AzZy1HB702CC/53wLUyW6jFkNbQMPa1MYKvM5civ6GTj+XoiDmA/kUK\nER4DWfu68O+Q49N/oFeK+MF4+T5wf7KRYJ2iC0IT5hRwL3eEHLckl7ZjBJ7r\n4QstcLnRC8rqTM5zgujk8/hfNYas1WKkFASj3bGVVcWo7wBN3K66P9NRSNJ+\nsyoIcluZrrlu0HXy4dVHqzIXaUqY7mPH79T5SqSUh5OKj4JkzfeusimIhrX9\nfBg2ujK6usPMDAvL71Z7JaAiAHRCpJF5kmeoK+QT9B7JgfCjTLDBhO81Cmit\n9wE8/+Jvy+4q03yEg1i5ntM2UmcVjg3gG+uU9sU5aJkXAjePMnm3RZB7lnlW\nueDyMAyh4Vv+MaZQQol3OATpT2HIW019xXYufRW8RnQt04F87WcKXMsC0xzT\nFsluJ1sYZdHKIdcvQ1MTQaHGzOOWtq2fLX4yRPkIVMVCvxM3tKK61RbxmIwW\n86yIIcU34+xBgRaNlmrYgPV8wJTzTgzYH6bbNKCiAMnAqswEoW6n7D9MVx+J\nM/9t\r\n=lyxs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCyp5greMKev5yMj/mEuR52E4pgSWJry7A/CZuTyo4rJQIgaJka0D0fZldPg8wnqn5IGbETVqepqgCFEINODGpoDJo="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.419.4.e60ce65_1582711733523_0.5382010943980502"},"_hasShrinkwrap":false},"0.0.0-pr.419.5.e0f93f9":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.419.5.e0f93f9","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.0-next.5","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nThere are unit tests and integration tests. `yarn test` runs them all. Beware that the integration tests run slowly. `yarn dev:test` runs only unit for this reason. Testing on CI is not yet setup.\n\n#### Unit\n\n```\nyarn test:unit\n```\n\nWe co-locate unit tests with their respective modules. These can be run via `yarn test:unit`.\n\n#### Integration\n\n```\nyarn test:integration\n```\n\nIntegration tests rely on `yarn link`. This means those integration tests cannot work on a machine that has not done `yarn link` inside the root of the cloned repo.\n\n<br>\n\n### Releasing\n\nWe use [`dripip`](https://github.com/prisma-labs/dripip) to make releases. CI/CD preview releases are not setup yet.\n\n```\nyarn -s release:preview\nyarn -s release:stable\n```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.419.5.e0f93f9","dist":{"shasum":"76e03b1583a181abadf743fc39e66cafab2e2ff3","integrity":"sha512-sRufp2OBFTM1Sdzh7iD1es6t/3eGiGSBfAoL2EG7FAqwitzW8FKfvw9btaEVUA75mtOWCSfzuwv/2QL5P3nQtg==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.419.5.e0f93f9.tgz","fileCount":387,"unpackedSize":796714,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVoH6CRA9TVsSAnZWagAAMjAP/2G/yP9oP1W0VWz7fLi9\n1RxxniwlnuAns5pMIq/5O7kg28w2c9eZ53CetG6iRSlSofpOYzVSC5NQxPwQ\nWwTtMRFR4O/ZFjvpbpmzvttMqVIbVf+Uad7UuCtA+ONk08Bss8FxYbzO58R0\npvYhl/JGXZ8LD8+ANWwsWLPYN2FDVEHhgGtvbq6Rz6cpGNzEC4T+IZp38NHy\np6zO0qGytXT/q2AHP3R8TuhQq7rUfYWTATl6BE5fvJoIn67B1sp3B7uY/x/F\nU6yl06GsDO/aGohfZy/8ZzAc0n1/e7SkhkegimHblohf9UDjBZaa2lpjQxX0\n90thRsXOjyPPgDVxXKt3fTrQ0n+Ac4QyRzT3IYkzQP24rORLvoo6Qt2kczjv\nzB261LW2PAdt7/OkynhvA7/NvHIY8/c02eEsSziu3HhKjHj+CgdylAtFDP4R\nZ4RYfZPHF8g1+QPGBam76YmVqzeb/bLs3Sj3RNmdQPUdFmB1vfctU8Sarh7w\n4x73JAdjGKh9Tw6vk5DuUVGhybIAcFoj3/Rj/w73fmSr+dbbWbN0MUnjKQQ5\nRDIrqdJsSCvP08hq/fd+sbRjVj7TYDAXIILeu8C3M7BMniyTwUEgF8RH/f2e\nZmQhgEiDrOoqSdkJSQMPmVo0APosbGFI6fSz8LKD9poLCEHxdpyXLE8Cv1km\nrZQY\r\n=tv3Z\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBdwUqI8FYuUgQw2GKXBegSMTJKgbseNyGo81ENRJD7bAiEAlCep7H4T47PDEyxp81FA6U5zphdhqhsQVTCpKwOmxJQ="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.419.5.e0f93f9_1582727673560_0.8312799789760406"},"_hasShrinkwrap":false},"0.0.0-pr.419.6.d1f4780":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.419.6.d1f4780","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.0-next.5","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nThere are unit tests and integration tests. `yarn test` runs them all. Beware that the integration tests run slowly. `yarn dev:test` runs only unit for this reason. Testing on CI is not yet setup.\n\n#### Unit\n\n```\nyarn test:unit\n```\n\nWe co-locate unit tests with their respective modules. These can be run via `yarn test:unit`.\n\n#### Integration\n\n```\nyarn test:integration\n```\n\nIntegration tests rely on `yarn link`. This means those integration tests cannot work on a machine that has not done `yarn link` inside the root of the cloned repo.\n\n<br>\n\n### Releasing\n\nWe use [`dripip`](https://github.com/prisma-labs/dripip) to make releases. CI/CD preview releases are not setup yet.\n\n```\nyarn -s release:preview\nyarn -s release:stable\n```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.419.6.d1f4780","dist":{"shasum":"ba4e4ee1d4bdcc405b72c8961f67a6385cf6c1ab","integrity":"sha512-seJHXQHwkzJ+RwES9fa4Zm5zdympJJvzVZJO5VBmJflUdJigoQpjcQ/ChcnjsO9863h6smS2DQA76zUMgaCIdw==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.419.6.d1f4780.tgz","fileCount":387,"unpackedSize":796714,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVoOYCRA9TVsSAnZWagAAVLcP/jvHmyDm+FFiP3w1wKjk\nARlqGwfqeBPzZzrtTeAgMNPf6aUEUGtLvwHB8GQQ3LvbdspyFV8610CvDGxu\n5RL9hqtH9h4nvzCwGdaf36uR70UC7eKmROPrb7ECFz+neiEJGfBiPT5VgE9P\n0GXHieAVwMvGLDgN5b2KcZdP9c+gDeTeUs6Dx9Nhr7Ra51MXxUHcmiEd9EmN\nbWDwDqR1XzRPK8++tI/CxdYtnmuzFMRWI1tW5S1btrEnRCVv5fCnz+wqoLxd\nWZnA09r49AR2WM91Gcnj/bE22jnP1ouu5dTKrYTd82ocilZA3BG/0ORcGbPT\nkQKQrBb/ARRlaRewjfBzgLshGaLOzALiZq+X6UaJnoUKXhi/zDyt7eD2XhQw\nhaCjzWjgleWMfxUy9WONp8ss09cJ3+/adLkzAAgFQqCtb0vAr7p+U/AegYdf\nxwuz7sSNIJiJZE8Pp8alnRU/Z7Eb7BcA74u1oevA4GbLHDQsrmWQ39VPz+o5\nx13RhhuBO9rXVa9xvxa00VXMid+k1F0o2lbX/wajtd7RUZCK/+gIEx1lSMRx\nK82tQMqbXYdbhmxyPwKw5m2GQIuphxcF06U8pG21M8pG9bbE8UjYPjfGrxZf\nQ5A4++juiVb+qz4WJJuXYfy8k3+pcbwj2cvP1YY2y4FpPdasM+F2NMn6U1kB\nR2RM\r\n=7RUz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHy8LcHdlJErp7GZ1SOudctRFlwMaSKkb5iYfff3rhkmAiAKAN2NtOFksgWIIw8DBvobt47Xa0t231PrHlFGVT6blg=="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.419.6.d1f4780_1582728088381_0.9440061091332503"},"_hasShrinkwrap":false},"0.0.0-pr.419.7.c918755":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.419.7.c918755","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.0-next.5","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nThere are unit tests and integration tests. `yarn test` runs them all. Beware that the integration tests run slowly. `yarn dev:test` runs only unit for this reason. Testing on CI is not yet setup.\n\n#### Unit\n\n```\nyarn test:unit\n```\n\nWe co-locate unit tests with their respective modules. These can be run via `yarn test:unit`.\n\n#### Integration\n\n```\nyarn test:integration\n```\n\nIntegration tests rely on `yarn link`. This means those integration tests cannot work on a machine that has not done `yarn link` inside the root of the cloned repo.\n\n<br>\n\n### Releasing\n\nWe use [`dripip`](https://github.com/prisma-labs/dripip) to make releases. CI/CD preview releases are not setup yet.\n\n```\nyarn -s release:preview\nyarn -s release:stable\n```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.419.7.c918755","dist":{"shasum":"f2bf143bb0a8cab2c208761bcca6a97699d9512f","integrity":"sha512-4/3LOmCiIIBJb2AtYpO+0WRvxzQZBXbxrrXQKiSLUqUWBwutFykvn1Exl7jIzI04GOsSmo0AGZsQhte46Hx7vQ==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.419.7.c918755.tgz","fileCount":387,"unpackedSize":796714,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVoQNCRA9TVsSAnZWagAA7V0P/RReTW2QVjmihiZ7Kujb\nfwZZDb9P317iX4LYthvs7kWAUpGxPEO8sojmcTKWFWa3wZufGwMTHy0/4mu9\n5WQFZ02O3pgNYVs2k7IQbjE2wzhEKv8rMfYKadMDvMsCQvup6t024vNg9mA1\nmaum3Dv6WDQ8jlkfYCP/JxgKbPdK88P6/WF+PfmxOVi9SHYx5AG+XZCDVhOS\nwMZT3uA7j0uK/f046r1HTn2Rpe7OIGPH/V8tx339QBctm3353GTrJIae7CEc\nGUYNRtqVay7AbyZ8VKgDKhU+8WoMJZdabCYZf8hin3G96OBHmcK/+8hTkI0Y\nkiXBM4BbpOcYNYxEFkKawF1VquqZO0cBiRJko3uJGTBC4Oi7J2PJPbbpmNHJ\n8eziH7BcQ3cZolCLmPLbONabw5U48ByHEgctgWSxq+C4csprbDVziNc/rydL\npPFjwY4miEBfXGIxKicAHDr8q4GRvdNjITqfRO4RghVCRMWBpZSrbvjI0K9F\n/gUbcL/a0JPRfHUGvPBz8AVGQvrgZOHxcZoOw+oXiJnzLrP2RToWmZ6WUrtk\nXBhstEyuuTMf+jDtk/A0fjWEOcHQniCWFwPYyFl59DpYtslgcXcsdP4+ljNi\nzTTfFdhP9tZEN6pd4XxNZDQnxMfCF/Ppkxsvdg3rp4Lgg4GI71B6J4Zd6moi\nskNi\r\n=qS/w\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDZG9xbTtdrsPf8WjDKQumwdFg6jcG48jmf74Ov1VDkYQIhAIPjZ++Zbq1l3eDHckUHCuLiVc/4bVsWlAV5KQZrBnwB"}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.419.7.c918755_1582728204444_0.7585481472347226"},"_hasShrinkwrap":false},"0.0.0-pr.419.8.9cf8551":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.419.8.9cf8551","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.0-next.5","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nThere are unit tests and integration tests. `yarn test` runs them all. Beware that the integration tests run slowly. `yarn dev:test` runs only unit for this reason. Testing on CI is not yet setup.\n\n#### Unit\n\n```\nyarn test:unit\n```\n\nWe co-locate unit tests with their respective modules. These can be run via `yarn test:unit`.\n\n#### Integration\n\n```\nyarn test:integration\n```\n\nIntegration tests rely on `yarn link`. This means those integration tests cannot work on a machine that has not done `yarn link` inside the root of the cloned repo.\n\n<br>\n\n### Releasing\n\nWe use [`dripip`](https://github.com/prisma-labs/dripip) to make releases. CI/CD preview releases are not setup yet.\n\n```\nyarn -s release:preview\nyarn -s release:stable\n```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.419.8.9cf8551","dist":{"shasum":"e9b6e5e96b1188615d4a6c53b290000d2d0ce627","integrity":"sha512-SGTSqlsYwpwQsqHa3T6ssznSb4LAJFI6suijGaKRaFugA2NrJOuquqQV+iD0AJgedMWMbMlwXMoBs7oA0tTpog==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.419.8.9cf8551.tgz","fileCount":387,"unpackedSize":796714,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVoWfCRA9TVsSAnZWagAASKMP/jyRhdXeuyH1y54CKhJg\nrksW+kbT2EzqjK7of1xeLDf4Gs9xnacKrWTtMHaLKurgEY4dFKCdbADYqD++\njM7SVQ27PPLI3A52/rxsQz7r6+MzRG7A3Ls7/mnhZ3Sgr2nhMcRdxsOM5kV3\nMKCZ5Qpbh4etVAEwjXoQOnYfcfQn/N93ll4lgPF8EIi9R2aA/w+q5iTcWMBx\nrCBRNAj5YoKf758i4+idfbdAzScv8JOr8uq6Yj584eOtUW+GIzWVwfp9WJkE\nuDhUaGBMRSmiTtsw9Q3kaEGZk29b1baXYTpUH8BaMPrLcbF/Q6PNToWK1YKp\n/wVz3onYjJe/5Ffz4ogl2iA/DnMU3APWaEaKruqf9mI3NSqkgiplH8TYMKuN\ndY6kVLUpDVGR1EcmoE9auQwx/4ZYyjbWCjfkqTLYOl6LJQySWicgcIh2AkPW\nt0/8CDDRBSX/Z/eRTEEF7R5RwnDEwc/sBypP12GRM66fJPJfYF0UX+TrObDL\nVQfevMaIxjNYir7IpQyoBI5Fn5Q214gfLyUKvVbxCRuYtgeZyepeO1PVD8bH\nZIEe7GqhqwyVZdTGWXUH1uvN98kGyNLBT4Bklc1lCwFUGcnLcUO4aV8uvVBT\nyeiVpMriHSTTX9VX4fOFGusdo48WWO1d1HElXbyObY5ik2P9BtY3pZNT5T8A\nuV1S\r\n=O5q6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH29f9QFfnJDFFCRHCbcE9rb8e8qtza/oKJ89BpT5atrAiEAzyqgn/07xJCagH/WYL/7SJwJfxjJhi6/2LxsGWjva5g="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.419.8.9cf8551_1582728606912_0.2018496890773709"},"_hasShrinkwrap":false},"0.0.0-pr.419.9.f2d5fae":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.419.9.f2d5fae","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.0-next.5","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nThere are unit tests and integration tests. `yarn test` runs them all. Beware that the integration tests run slowly. `yarn dev:test` runs only unit for this reason. Testing on CI is not yet setup.\n\n#### Unit\n\n```\nyarn test:unit\n```\n\nWe co-locate unit tests with their respective modules. These can be run via `yarn test:unit`.\n\n#### Integration\n\n```\nyarn test:integration\n```\n\nIntegration tests rely on `yarn link`. This means those integration tests cannot work on a machine that has not done `yarn link` inside the root of the cloned repo.\n\n<br>\n\n### Releasing\n\nWe use [`dripip`](https://github.com/prisma-labs/dripip) to make releases. CI/CD preview releases are not setup yet.\n\n```\nyarn -s release:preview\nyarn -s release:stable\n```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.419.9.f2d5fae","dist":{"shasum":"b0f056bc696c9f9befe89ba2dd698279b15dd79c","integrity":"sha512-XFKqZNtXO9R9UxZloaiup/TJ0Wl7JBuLBwQEBm1yG/P9aNVZp1fjLKryn7GBYrV7Vcv9uD0/mRYkjMZHUI+OzA==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.419.9.f2d5fae.tgz","fileCount":387,"unpackedSize":796714,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVo1mCRA9TVsSAnZWagAApbsQAIXjeaasQRfWpWjzBoUX\nVcEGyJxUPNIl1UQxnvIhcuQ5fsJ4nWVi/VgWq70+FQHQozm1d7W83EE3Rtfm\naoAW2ti60rE50wDhn3g7Tihw/lCHZ+4DNYneq6BpcfuQKAYGNkiLtL2mfwwt\nwbtKWLbMIfVzTwziZyngjtvealaC2ydQBrcWs/pZvcSi1nls+NXhI+JmWbeL\nea/M4L5rzOoFaUY3KKonAA/KB83QpqAwfhkNuDUH9y3aF095bHiyp4oNi3Sb\nQvCgAts30Hr6m8lBxUqVOJgqQT6GPbEX3ElBRMBcY0+8B0DOJ7UykWAxR67+\nySGmwC9NWS9u94nFiqXRfVNcnfQmAXbgAoPhn8/O9AWQtyK8wCp5jc282tCq\nUXknu6HevMqniM1NTIRGHBeFerpziAjltbJNPbHDXMPe5peKVbcHJQuYvWMo\nwbPQfkOsfKWfc1FvFDvKip1lr+mtt1wKSPVeZCqz41XOBTQF2zBdjlXjJy4o\nFqfwqyGDVM2O84XCpsCpHY0QErefbzDzDxAfl+WfrdhRPa5zC+OEySbclDny\nbOENIQs+k0dhauqV+96Lw2HvD0rcEG2xsg+VkMEW286uyeN/BC4kLdMaWynD\nomOYz0uQx4sgtA+TTbKho1INMYhLIuUoYvxUUFcoF6ZIlcYuuDtc/+7sAv+B\nHL2i\r\n=fjig\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAqVCFS/3t9CBdp6PDUxoLr4qqjHW7qJJaAl9oIpBtmWAiA6VllsRybKrUWQZ3QNFgl/j+d5cectFlDEfVhFw57Lug=="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.419.9.f2d5fae_1582730597475_0.9748912972024244"},"_hasShrinkwrap":false},"0.0.0-pr.419.10.627fb1d":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.419.10.627fb1d","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.0-next.5","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nThere are unit tests and integration tests. `yarn test` runs them all. Beware that the integration tests run slowly. `yarn dev:test` runs only unit for this reason. Testing on CI is not yet setup.\n\n#### Unit\n\n```\nyarn test:unit\n```\n\nWe co-locate unit tests with their respective modules. These can be run via `yarn test:unit`.\n\n#### Integration\n\n```\nyarn test:integration\n```\n\nIntegration tests rely on `yarn link`. This means those integration tests cannot work on a machine that has not done `yarn link` inside the root of the cloned repo.\n\n<br>\n\n### Releasing\n\nWe use [`dripip`](https://github.com/prisma-labs/dripip) to make releases. CI/CD preview releases are not setup yet.\n\n```\nyarn -s release:preview\nyarn -s release:stable\n```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.419.10.627fb1d","dist":{"shasum":"4da6622163c1b66f3fe5a621165d15b7768a728b","integrity":"sha512-VJNmuCTwRZGbBbfJrJOx6LJHhqyVf0EF+2d4LCjJsckrTYIXuyH3N8FzzLcZThyELRg8siEF6Bm7CtLxwY8RMQ==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.419.10.627fb1d.tgz","fileCount":387,"unpackedSize":796715,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVo8yCRA9TVsSAnZWagAAA9YP/3e1dWsdxO/F3iorAApT\n7tmSSCpeQ40XwzbYBz4V8/1LK3TNwmpANSc8uYyOnWefpqcr/Ac5FeorV5xc\n88rC2U/CMaUU6S+mPXkrMtI0+iDmixOfh3/HjOy+OJkbU7vRulL97wVinduE\n5uTf5PXUUAElOdQvPCinpr4XhpGdU5yb5Mh6HlGc1xvbofD2TBJWEgyIANhv\ni79TtP38/h94TLbKFiwY+gqesEjSy05cBaRF77DhcgFIZyEs0FyiSzsDm/1E\nSqJMn5PqvazFvq0rXqVDe3EIQyNwkU6mkFGbAZZdMWgwr80g6WSuM6y3iQqU\ne0tb37PovHfII8KPKQOR1fZ6H/jvMwwr2D8PFmgzySaHU6JazYYxmAjxD3HA\njLJNMDPfJ5YzI9TtBTvmrh0+JYfaojsC+uxqVaOS93LqnxATEuzDXhTA9GJc\nmrZNmFjTj1o2WYWK8En47MkEGNmIoIc/x7BKwwukfioe4IyRnU/3NeWthJNW\nKYdgg/04ukCT+LhyMBl7Lrj33nzRbYbmzXnw46lawxO61f+Adq4fiRaYPMRF\nnCbHBWBJpyNaBeRwo5QF3YFzkiPDDXrz1gcpKO2l1uSGrjuWZ7pZ1bKUyqux\nGQSwLPqbYTkEQnAbACih+tWhhsQdXUSGnzQrIekwLZzjBi2wmAkyADSEPbRm\ngXh6\r\n=AP/m\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHB94UeNDpMetn555f2gHkvaQ1V83KcWyerUMm6qTvAhAiAKa1i0N4vnLnscHZYIWYyGHy4xrBmNhVJyvX0RUfWdkw=="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.419.10.627fb1d_1582731058048_0.6264546283256902"},"_hasShrinkwrap":false},"0.0.0-pr.419.11.391ab18":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.419.11.391ab18","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.0-next.5","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nThere are unit tests and integration tests. `yarn test` runs them all. Beware that the integration tests run slowly. `yarn dev:test` runs only unit for this reason. Testing on CI is not yet setup.\n\n#### Unit\n\n```\nyarn test:unit\n```\n\nWe co-locate unit tests with their respective modules. These can be run via `yarn test:unit`.\n\n#### Integration\n\n```\nyarn test:integration\n```\n\nIntegration tests rely on `yarn link`. This means those integration tests cannot work on a machine that has not done `yarn link` inside the root of the cloned repo.\n\n<br>\n\n### Releasing\n\nWe use [`dripip`](https://github.com/prisma-labs/dripip) to make releases. CI/CD preview releases are not setup yet.\n\n```\nyarn -s release:preview\nyarn -s release:stable\n```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.419.11.391ab18","dist":{"shasum":"aa7b063649dac379b5afc96a00c3f20935ba2500","integrity":"sha512-w7JmQ7T+Foip05BxdxxkjNA8t6ZL1hitEG3Mnbts+rFqSkVJUevK4CVnSonUm9fWpJsWVfflQHTY5HtRJl5r7A==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.419.11.391ab18.tgz","fileCount":387,"unpackedSize":797129,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVo9tCRA9TVsSAnZWagAAVEQP/2uQDcBeb5EdXRiCcSpn\nikDUghULI6sf4nhV05SyhvxbgnRJrfeNyyW0gSJ2scaV4yn9Evox/2VCM4SQ\nbU0GY4JlvUgJ9P9rix20IZXsjeFTKkqLVniWt6bF66vWzmVtlLnO7UDP03+2\nHSVI5udOtFNwfM1eqEeGWrZOa0eMqNBx3EIJhj/7D5/Dr8FMuPsiCcwUK/hg\nHiIiG1TtIVMQRmcHiBzq2SpAfh+vioIuve+rbemjuTiD4pOSHcW9r6Ap7RbF\n9/KPkmgQXiVSnZBbomODIrHFu6VbG7zylomSUS1BYJ1ILCdadrbkweEuVKNT\nOq7AbIty8SNAhh68qVlOjpvukmmEd60imvDg5AdnCubraA1H3GxA1+itjs9o\nQuJ5y6SWifNRH3O+C5xYn/lt5ryRR4TPgc7nR3u7nUTbDlo04MlzpbmvHzRk\n26qlgzixIgsBVk9A+PCjPm9ChvQgwJORI0wCZBun1eeAnT1cUfQs1qXuh1Qe\nQd9VJMkBJdyW/bZWrp8J3KcH84jeNbqUelXwFlv/lkTp1cj0EP8+vC/RU66C\n7cN2QwK4lmWDMze4cvdN/TRRbDhWzot84yGdqSvLNY55I35uY6W+u4Kgoowv\n+505B7m6C9j8BjKi8t1c+ibnQuidiPx77s+ha5gpDszO6zcv18XegN+WE/00\nD7YX\r\n=LaNP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGbZqPR8xLpARLFxyV0dVQsPFp/Bs/p55zKUxIBPgsJtAiA3NGmU9hJMJc352OGSVuAENZafMo6ewUc6ZRNCycOmdA=="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.419.11.391ab18_1582731116646_0.4130303460912337"},"_hasShrinkwrap":false},"0.0.0-pr.419.12.ba3b3d6":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.419.12.ba3b3d6","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.0-next.5","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nThere are unit tests and integration tests. `yarn test` runs them all. Beware that the integration tests run slowly. `yarn dev:test` runs only unit for this reason. Testing on CI is not yet setup.\n\n#### Unit\n\n```\nyarn test:unit\n```\n\nWe co-locate unit tests with their respective modules. These can be run via `yarn test:unit`.\n\n#### Integration\n\n```\nyarn test:integration\n```\n\nIntegration tests rely on `yarn link`. This means those integration tests cannot work on a machine that has not done `yarn link` inside the root of the cloned repo.\n\n<br>\n\n### Releasing\n\nWe use [`dripip`](https://github.com/prisma-labs/dripip) to make releases. CI/CD preview releases are not setup yet.\n\n```\nyarn -s release:preview\nyarn -s release:stable\n```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.419.12.ba3b3d6","dist":{"shasum":"de3c33930397511bdf05b9ff028b0b9431df0aba","integrity":"sha512-65VMFrHRY2uNm5ee6HSTBYWEMytP92Fl17URPUGuiC5t2U5qsjuK2qes1tgz5S8CUiout2dh9qTMmqY3YgxXpg==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.419.12.ba3b3d6.tgz","fileCount":387,"unpackedSize":797129,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVpFcCRA9TVsSAnZWagAA/sQP/2nRwJinZFuKnLjILJZW\np4zwToDfwWNy2/4ybzjBQQ9d36L4wzUynbnf4jV3tg4PCeoo1r0+lO1S1/SK\nqdvHmrNp0SPoCbXKtZF+72XUD2T1DkXnkF/D3Feg+Z3uqKXmABvk+d6rXBk1\n3hEvdc1MIsNg9nXmLIRFgNgxDxta2aNbrX6SdBbR/f6x+y8rQ1rowNklw02W\nxur0T32PDFc9jOxBRziSl11eRoMrCKCXQhiVapiOK7siBf0Oehcp41m8IzK4\ngt3xrL8g8/WguZBNuFAfQEONM0K5OtoJTMLC0K1zpdVIlTTAFm4eF6A7NtRy\ntaJhJjV9YmmX4t4h9W+6gDx44T+4+T8tHdapod77hEaw/nWLSvBiQ+tKO6Lv\n/uzg8xnDVRfBysPrJ5Q/bHQpKG5PlFHT8cph7m9FYwitlLSCqWovLNfSFSQr\nmk9VoH7f4UQGOWOiaXP5+7iowHtt6uzCQZbq6DE4TCShZ+l9Ps5hJ8+3hjAQ\nNF84b64fqJ8Cq+peEIgkn2jvvE5BEzIhhy/414iXAhyWprC/A1WeOIjrK/BZ\nTUjw1MegrLIgn/jxTAL+L8nXxn/VS4usxwYkFx0g/Y46SlqPyyUm6a3i5ecq\nWHlYpJpZebicK00lNcbii8SJTq5EHrtVABWugxZmlJOaWpGlOzjNvdy3L4T5\nDvLV\r\n=egkJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCbpDB43XewfKNoQWkEyB0MVENsA8Ob2oeSEb+0suFNVAIgTYJK7/xxPwgVSuFmK6NHYdEG1f3OZAVswjrGEHix4CU="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.419.12.ba3b3d6_1582731612003_0.020790917382941032"},"_hasShrinkwrap":false},"0.0.0-pr.419.13.3b6c576":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.419.13.3b6c576","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.0-next.5","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nThere are unit tests and integration tests. `yarn test` runs them all. Beware that the integration tests run slowly. `yarn dev:test` runs only unit for this reason. Testing on CI is not yet setup.\n\n#### Unit\n\n```\nyarn test:unit\n```\n\nWe co-locate unit tests with their respective modules. These can be run via `yarn test:unit`.\n\n#### Integration\n\n```\nyarn test:integration\n```\n\nIntegration tests rely on `yarn link`. This means those integration tests cannot work on a machine that has not done `yarn link` inside the root of the cloned repo.\n\n<br>\n\n### Releasing\n\nWe use [`dripip`](https://github.com/prisma-labs/dripip) to make releases. CI/CD preview releases are not setup yet.\n\n```\nyarn -s release:preview\nyarn -s release:stable\n```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.419.13.3b6c576","dist":{"shasum":"cf0ca83281b14565d0cdf1b63dc4585141ce956e","integrity":"sha512-4ntjhqJ2tALUEURJoCxY3+eNU9+hIuOynCkrIU/TTYkDJdMtysDyylRT53liituMh51qm1OIE1/YxGdgi6rB/A==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.419.13.3b6c576.tgz","fileCount":387,"unpackedSize":796649,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVpGdCRA9TVsSAnZWagAAxBQQAIqm8JXAT1EFiN0mVM3y\n1xRvuH7Lfy3PuDyTPclM0aKCG6vvHCXCGddmMx7wBJjOcon0Op9krMtgveSU\nvPTVPgxclGA/XU9IWar3jmBbGB+ElG3mbB84505UF6F3z6TkGkul+tBf4nxE\n+FkSQuRLdysWeXqobPkToKI93/wNK4rP+rHduNVMgKveXFFk+hANBcUejaeI\nEpNQY7LURHV/jnurpWo3j54cagLGhd71oZTM0AdoaQUYVdyDqXFpv3cgs8BJ\n37s55GQB1AZweBlApvtZVODTmlEqRsN13WJnqo/G1aS/T0vx8+FN0eUjSmIK\nmAXc9vXpiOoTN/H+1ffMVcEHNe7Z7wVQmcxXZo8pneVwJCCrqizT2MKFyeOK\nmncBthvdPYNkvYOygAnkkHbhchMsSZcr4pHS91HbwedUfgnbAJPoSfWstihu\nOqsR9twA7TQN0l+RBcygZjdZetGon8de+3OCl2jA9dEBiessgLLISWVvpNsi\nsHOgixaJBRMWK4vbpuNRG7qcCi1qLyC5jT9fDtmX0pEISY/dyjHUQj3rcJlS\nbRAkLzqkqNyh/yQ0uxZ1cvKX/sXDWe/HeMK252yz96S6KXu89GrlCpozrhFI\nzhwOpVu0uL3ROHs2+l8AGp6VY4D0GXoZ7xGEe4ThYua4Iw/MUP+wZWEm3D1+\n5qzw\r\n=qoPu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB9xWR/qQb22qnNBdTs64u3ctsxdiD8JA5gOGZVEXPAjAiBWbBz4PY21eniqmfQMIlq4Xeal0fTv/baZjGAsVVJDcQ=="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.419.13.3b6c576_1582731676520_0.5284896764119118"},"_hasShrinkwrap":false},"0.0.0-pr.419.14.44bf9c4":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.419.14.44bf9c4","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.0-next.5","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nThere are unit tests and integration tests. `yarn test` runs them all. Beware that the integration tests run slowly. `yarn dev:test` runs only unit for this reason. Testing on CI is not yet setup.\n\n#### Unit\n\n```\nyarn test:unit\n```\n\nWe co-locate unit tests with their respective modules. These can be run via `yarn test:unit`.\n\n#### Integration\n\n```\nyarn test:integration\n```\n\nIntegration tests rely on `yarn link`. This means those integration tests cannot work on a machine that has not done `yarn link` inside the root of the cloned repo.\n\n<br>\n\n### Releasing\n\nWe use [`dripip`](https://github.com/prisma-labs/dripip) to make releases. CI/CD preview releases are not setup yet.\n\n```\nyarn -s release:preview\nyarn -s release:stable\n```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.419.14.44bf9c4","dist":{"shasum":"f04350b0c070f408ffe6bc41dfb18cf3b0ba8e14","integrity":"sha512-Vi6nlBKotOykqyOtS4XJ2bjremgpuQVtURomgu0EL1PAncLF9J3RAI3t5P5y66FrPrJ8znddq75fxBETt4Kyaw==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.419.14.44bf9c4.tgz","fileCount":387,"unpackedSize":796649,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVpJ7CRA9TVsSAnZWagAAqZgP/iMJss2eBXH4KAp0xTGK\nD7eZ7GX1FROcGJ8H3boocKT3aiHWEPGbS47wXHlBw9Vi7i3cfKTBl3JUY2Qf\nqQrEymaUZD+i7UoFsyPzDYBnIl6iKF5xGjmFIEjAQ1PTjsoVNh+jCkBqVmiA\n/vyrP3Q4Kuuk9FOTQVAkrGPsWFwCFjuPprtcy3Zj2o1McSz6VkUXHtqS5al2\nJVfureiQ+YZeH6j4XsrIiDhDWTJato0sjnrJTGBp1d5EQkly00fYhRlYdC+Y\nTjChBNR+DNMQXhdwPBPDAMfh2OgsZh0yr/uD8kbTtkSuifiIoACPELAuNGHw\nwRbo30iBWVgnIR3bpAua/2nH9AJ3CgiloJxUy5UkqdynK2FJd4Mxe+kv73lg\n9V5bnf/C+7FKXfmykZm3M0fNvBYi8khlHTuTOvdmIprl5tUdRbB9o0CVXOMo\ntAZNIoExEMSwOMKFZDEcMnJrX211ItouO1F63q8RhsPD9IZzrfkjkBPaCC7s\nTBoHsL8k4e0rBbKudh9hpJRS1lzWfddGp2ktFxap0hUCP5ZvhE/xyhzPA8vb\np4gEe9vH0k2Up+o62YqWpvyM6UssIDhJusscTbsFDYUZVVAXG0b4efYyyjzV\nyWKsJhz6pQkDHzqyg3eeK1ohItcj1/k49N8gXV4shadJDF5WTn4GVxPf2U9u\nR7C7\r\n=LN/o\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG3ss2EfvrKVOlSl3aQ7WIMXked+bb6EAu7X27qb9MKHAiApUWhwUmil6FKuqUZ3OjMSJbSsZXfJ4c9bJ0EWCJUlgA=="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.419.14.44bf9c4_1582731898758_0.00935138284519299"},"_hasShrinkwrap":false},"0.0.0-pr.419.15.d8599a4":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.419.15.d8599a4","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.0-next.5","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nThere are unit tests and integration tests. `yarn test` runs them all. Beware that the integration tests run slowly. `yarn dev:test` runs only unit for this reason. Testing on CI is not yet setup.\n\n#### Unit\n\n```\nyarn test:unit\n```\n\nWe co-locate unit tests with their respective modules. These can be run via `yarn test:unit`.\n\n#### Integration\n\n```\nyarn test:integration\n```\n\nIntegration tests rely on `yarn link`. This means those integration tests cannot work on a machine that has not done `yarn link` inside the root of the cloned repo.\n\n<br>\n\n### Releasing\n\nWe use [`dripip`](https://github.com/prisma-labs/dripip) to make releases. CI/CD preview releases are not setup yet.\n\n```\nyarn -s release:preview\nyarn -s release:stable\n```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.419.15.d8599a4","dist":{"shasum":"8c46d3af9c70c49121d6cf70970a09ee732e1387","integrity":"sha512-7Jtx41y6C8WINY5WZRM+XnNlTi2jRVdUrKlqmUTP9QmiIPOyGV0bvoiJ184K8GRKvLmslGSaprk/kP/opFY+KA==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.419.15.d8599a4.tgz","fileCount":387,"unpackedSize":796649,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVpgPCRA9TVsSAnZWagAAEwwP/2kpQnXSxPbwd5MNnB+M\nBNWHoIxPVC8293Lu5dX7orpESQoUmPEKCM6MClzN3xhFSz/6WrLWYq3oV7Uq\nY34xvJlEXhZnj630BddvnvYXasjfm92veZhIi2I8/TBaDDmArB1oDk/0gir1\nLrCj8tMO1+CAfwYpcZtNCoQRrfF5bcp/msQOikdfivFoee6vWLMpptOm8Nkq\nyRWAp3gm37D1TDjZ7psNZXONaojAyjSZNLV/Iae92xrrxNtiCAXZbpHMKwM5\nt47CFwz0ZCFZVNQGVJabYvP132KNCNZcaQFKh0n9te3iilGOq6b1lL6GfiEP\n8lcGDNOprbJQ3MIlPyDfadbG1r7vMZ3s0VnY5wY2uPhrJO+RZq6Jwo656CXW\nXwLg2+XUF85S03nazQGzGeI2rJq9a4boz6npA6/o+8ATGYl6R5k6DgZ4XyZG\nYQwGbU0nqdJnCsagb1+bSDO9zSLImEo9ZP1mT/TI5OoXJ1o8xiJJCY9MzWUy\nLnVAxEJ186l57KsFfFx63FHvidLEpTusA9KkdMxh4qBMyZc+l/i7inUabqXB\nC1/7928E4BKDlv6PA8hUA1tkjILUowgIavXuqblZaHMUZfaZSubW1/gUAXG1\nQj5lzod04ppBKRXbLhZO3pHpuZX4Q07Np7/9W38vzS9kC8IGvEaARDDd7oK+\nkoKR\r\n=xuGJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCXdWqlGjLOmZQG0LCl7Z7l1r07btGROyJqWEi3p9RGRwIgAuiHTbZ5/uNVevxPAnRh41Z4KyF3kxzBESjePsFjIKU="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.419.15.d8599a4_1582733326573_0.9686448284682276"},"_hasShrinkwrap":false},"0.0.0-pr.419.16.e83f135":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.419.16.e83f135","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.0-next.5","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nThere are unit tests and integration tests. `yarn test` runs them all. Beware that the integration tests run slowly. `yarn dev:test` runs only unit for this reason. Testing on CI is not yet setup.\n\n#### Unit\n\n```\nyarn test:unit\n```\n\nWe co-locate unit tests with their respective modules. These can be run via `yarn test:unit`.\n\n#### Integration\n\n```\nyarn test:integration\n```\n\nIntegration tests rely on `yarn link`. This means those integration tests cannot work on a machine that has not done `yarn link` inside the root of the cloned repo.\n\n<br>\n\n### Releasing\n\nWe use [`dripip`](https://github.com/prisma-labs/dripip) to make releases. CI/CD preview releases are not setup yet.\n\n```\nyarn -s release:preview\nyarn -s release:stable\n```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.419.16.e83f135","dist":{"shasum":"3d9f093ba361b89cdf4dbb11825cd748626f846c","integrity":"sha512-/JbDO8LVfcF2lqFsrIwAoJUjEm6ixuB2gPtNteP993isIIO7LOqoYOJMepXrU7z7pmxpa2Geypys10/gHmq4HQ==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.419.16.e83f135.tgz","fileCount":387,"unpackedSize":796649,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVp1CCRA9TVsSAnZWagAAWcQQAIzH5+dncAC/fWBq8WEd\nC/hcOjSza5BfLkAvBkqqYHWIA/ckmeA4xKbvs5H0fMnsVvk2JZwmqHGWiZ3l\nCtmdsEW0Mx4qRvIor2oioRe4rRNLpll8RYrN4hO/5rbs4MK3+ev2Ch/o8Tq9\nAGiPqlA2buCplDx7mhKov/WsatNWAbkCQdTmEgipJak+fezTEsqreUBac/ut\nidmjHLp02XoAxXpqYtcXPHIXpV7S/MvvEl0Dn2Jcc6yx+Xs8L4sLbQouEY7p\nm2zr+sgvSKIUNs6jobLgTYLLMbWBBDDobTmJ5YvZFjoeIv8OgsYGt1PQ9zpF\naKiyirmuMwfS6tZIwlBwy4hJqq/pfOPsMMRVZ4OEElo/BVvmGWVqBwv+diqp\n1/bpbEFnYPuCgQbannf5hJ9GQs/umuq+6H7AUzFXpZ2Qlgt4qMaijAh6FMPA\n1ujS5/PdBxRuV0Md5fwc/m29jAD7WpMLreaoSJTJStQ6W8S4sLOGqIfmqzII\n/HzpOrhblkjpLezmSAizLFPHfEEAR9soHF0tilcY9RXoiCFUVr10RMvhCvU3\nkGHFCfyDnrILIaRUOjMeeTCqfZTs6YpC8/PDfNC+ff9Zg+yoEWXceulI4ZF3\nVWIcxhX3VFl1M1BD/v/pTPoCLjv+pl2Gf+tpEN+VyamRUpICBPw5jz4xXIJu\nmnRm\r\n=y/ax\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD44PHMqot94Apf1KQG7E/ZEeD7rd4yEiFBGSLCFMHQRgIhALFrkhxPwbsoPy2fyxzLheoKpAxoDDSKD5dNgRGkspXS"}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.419.16.e83f135_1582734658304_0.9715049899138575"},"_hasShrinkwrap":false},"0.0.0-pr.419.17.135d958":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.419.17.135d958","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.0-next.5","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nThere are unit tests and integration tests. `yarn test` runs them all. Beware that the integration tests run slowly. `yarn dev:test` runs only unit for this reason. Testing on CI is not yet setup.\n\n#### Unit\n\n```\nyarn test:unit\n```\n\nWe co-locate unit tests with their respective modules. These can be run via `yarn test:unit`.\n\n#### Integration\n\n```\nyarn test:integration\n```\n\nIntegration tests rely on `yarn link`. This means those integration tests cannot work on a machine that has not done `yarn link` inside the root of the cloned repo.\n\n<br>\n\n### Releasing\n\nWe use [`dripip`](https://github.com/prisma-labs/dripip) to make releases. CI/CD preview releases are not setup yet.\n\n```\nyarn -s release:preview\nyarn -s release:stable\n```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.419.17.135d958","dist":{"shasum":"02333db280a996d8b55847ce2dccd814d8367875","integrity":"sha512-PwtLlIM8SnfL/7n6qqU3mhZDmqq30jLWPceaZTey6CYQGsZQw3Rqt+cff4e/zJG0BUaNgo0jFdjGP19uT+Ogzg==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.419.17.135d958.tgz","fileCount":387,"unpackedSize":796916,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVp/TCRA9TVsSAnZWagAAvpEP/3iOYlRHZRvr2M9QULSX\naIDUwpz6+xhQFW1XHZ/3I9aKMK4ymGg/VtAfH6rEVE8iHk7Q+NB7HDGivebC\nyghlWvi/5eMN/BuwxcHubw+htixRUAgo4Vp5172wEvfoakXO8sq2JbqOHSYG\nx8IvlM2W4oXeinPwJV9WL+FbDgYCvmrqnFNOemURSRSbCfvspYp6r5MRkQ25\n9FOmQAQJ4u39mbL1/Wrz+GBTu0BLwJptw/fu4AYduo+EpqplOT1F1MwDpg4j\nu32FSbSC17irXXxFnfTaJ5E99wp+ShPTWBQ1liEJkI3Ny2ZBLJolVg0VmD47\n0Vhde17vwMJXzbzzLGG8LWf4uAAhpMCuIhN/xDUPlW0ybW+IDUXRxsvENWYJ\nfMNMg5ZcXxFAP4yFmEEMeSxfQF1XT9uhIX0WFZhMb1PwIi0DuJghyST+I85k\n0p+DbDueLW60AgjbY91fGh5LWcs6jqtUv5wfYly4KnTuLIpjSNdcSD/tUwHb\nqVX1jOZpkuZCBJhpuWTQnldRs95Av0myAlK+9DS36GBAK1LkAXXERDaH+i2m\njIW7n/u7a/5wfpiFN9C9QoczX3GxGpOGtcM5wo7ElF9qyft6buRCLV6zYfUt\nphKPNKSvcOt3WxhOLJ3u/lq79A9tuZgO8SG39yO2jOZ/hGrwQW2KsgW359Ue\nl0K3\r\n=IRiH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCogyMElZbb/OwEOiFihFwB4S3QDuSTThBz+l0NhpLmnAIhAI+YfmyFW9GfbRE//7/pAh3FrOoAOUhhyPfv7mE4/GaY"}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.419.17.135d958_1582735315041_0.24366878271819603"},"_hasShrinkwrap":false},"0.0.0-pr.419.18.5903fc6":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.419.18.5903fc6","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.0.0-pr.49.1.9fb5e42","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nThere are unit tests and integration tests. `yarn test` runs them all. Beware that the integration tests run slowly. `yarn dev:test` runs only unit for this reason. Testing on CI is not yet setup.\n\n#### Unit\n\n```\nyarn test:unit\n```\n\nWe co-locate unit tests with their respective modules. These can be run via `yarn test:unit`.\n\n#### Integration\n\n```\nyarn test:integration\n```\n\nIntegration tests rely on `yarn link`. This means those integration tests cannot work on a machine that has not done `yarn link` inside the root of the cloned repo.\n\n<br>\n\n### Releasing\n\nWe use [`dripip`](https://github.com/prisma-labs/dripip) to make releases. CI/CD preview releases are not setup yet.\n\n```\nyarn -s release:preview\nyarn -s release:stable\n```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.419.18.5903fc6","dist":{"shasum":"4e11ef165924b088625eb8eb42f29918949d7269","integrity":"sha512-dqDylLvG2RTTOZVtzd/11yIDh4QGNwi0W1X/eii7QM8F5D+9JyyAereaq4mBk0GHoi4gWL/7sR62LpYngPdkoQ==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.419.18.5903fc6.tgz","fileCount":387,"unpackedSize":796952,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVsN1CRA9TVsSAnZWagAAq7kP/2dWPNy2yTPj9yIfNwnz\n6gTkMrOCh9GSRXzaZiriLOuVTIvS6eofM2coQQjtyupSgltWRL3fZ6cCc+Uo\nfJWedcpQUEsdTxVGg5v4pVNY9w9hDNVzKR2JEr4Fo0DIRgS5IcpQ3WcnZ9mM\nKzTvQnfeVIlRaVR8U0+ys5lFIVCWtQ9vpXmKbX7TD5xJckpw4+GclYUuYepC\nNzfz3W3diQjYENwEycvrvamMWiFGuX0+JE/fqsLSmE5tKYR5c46CsmbRf1o3\noSaYtTZezJrrDEVgdpnA/fa8r8d1G0VU3IhJFiQkmH1fzdRcAnUbgGwPqCzi\nI46jlMsXxjAkZNVitMAZz0fkfjBo2DzZWB3Ok+L83uaeoUG69h3PQ64zZvKQ\naUN61srV+n+Ti2bavbxKACzvLh9+683a0CF2Y/NLEcDOA3bBk9PXoQSvXBtD\nZEtHiVtaNxODJ6iRFt0DDYOWuaa7tlPPlxlGqmdT6b1tYGkOZJ1W20qrxBEd\n2RFWOF/cMA4TJcCzUyIlZQ8CMXNOsfNSLF2quIqpvsc2LE6/MrtXszSZwIJq\nq0G8HmCNgH7uQEXXvEZ//L/Bhf3OtmUIHKfrHt9IxwMX8+dM/+u9Rdf69Cch\n/qrnH9JORQbJ+O+ADvIgf3IVSZj8Kj+zI1wkdebdT7JLGq2cqfC2gyGVjqfH\noqqO\r\n=p9e3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDuvozsEmqOy939/rqowEcqcLME2xqq5FttcG9Ri4MOgwIgXCY7LyDLVN7ZHSDZi4kMkTtocrdpkjmnZEZWuh6YXWU="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.419.18.5903fc6_1582744436936_0.27356613867960444"},"_hasShrinkwrap":false},"0.0.0-pr.419.19.bf57f95":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.419.19.bf57f95","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.0.0-pr.49.1.9fb5e42","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nThere are unit tests and integration tests. `yarn test` runs them all. Beware that the integration tests run slowly. `yarn dev:test` runs only unit for this reason. Testing on CI is not yet setup.\n\n#### Unit\n\n```\nyarn test:unit\n```\n\nWe co-locate unit tests with their respective modules. These can be run via `yarn test:unit`.\n\n#### Integration\n\n```\nyarn test:integration\n```\n\nIntegration tests rely on `yarn link`. This means those integration tests cannot work on a machine that has not done `yarn link` inside the root of the cloned repo.\n\n<br>\n\n### Releasing\n\nWe use [`dripip`](https://github.com/prisma-labs/dripip) to make releases. CI/CD preview releases are not setup yet.\n\n```\nyarn -s release:preview\nyarn -s release:stable\n```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.419.19.bf57f95","dist":{"shasum":"cb72dc5da8e604b695c78ab330d84cec8a9346bc","integrity":"sha512-Wj0MlDFWkfcldnYqMM7tt8coyyIv35b/tbFZxtOZn7uXIRL0oVqMEZMECL8Zkj3LOEbq0AUKS4+/mmF1kH48iQ==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.419.19.bf57f95.tgz","fileCount":387,"unpackedSize":796955,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVsRsCRA9TVsSAnZWagAAlc4P/iUh00rx9Ru69AeOe/xi\n4rhIvxNoHrshyx7Ei0SnN+KLeLIO6Rbdl59wHo25FNGyrPByLgPgkf9CLjrB\npE+8s1YSgl8IgiTa6ac1zRMzfXPS0jyOeoQe9RxV95jguO2RWSdjoF3Jzden\ntDvXaiHKXOaNLjTc3UstoNaD/6nYHiiTj5Tys72KM66+dNkhQYYrKaOt65op\nXBz4H99YUAlftxVzk3o+193960ubfQp7QP7lsuhglVdx/uR6btt4DJAsXMq+\n+wjGFRLKkPYVcnan56uPQ2COdl7rbQilVQeaxjf9luUSHzHAob61RyjGHvrP\nw/UeN/C+NgKoqbuSnsoWG3zB/6IVZVnilhbMR8e2nXXAjIcyyXubzf/tqmCQ\nCo8KD+YE1Co7mwOWGDOLFD3G+TuQujy/43QHhvdR5kpn1yyaY+SbeJO7qVoQ\nXD2ay484IdiZyoZMCPqNVp2tRJQdC7Y2CqLVIpVNuJg+itvi5a8ST1VbYJdl\nJbWBX/0cx3H0V4UPrYGHo9RDk8HdQL+np8MMnkvqD5KQhbAyMqiaxxZQZbxE\nrZjJ85XB7YLQt71leeb42y/glu4TEyjzPA+y1QRKZyCsHgDJ21+fzjw7K85K\nNaTqRi2QUlSGaU7FMf2jNYMrxlUdqzbrboz07Yhq5BM4shLBefUa1YFZ7K0Q\nHc2o\r\n=E96L\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCR627xL5siboz4aN1fkxo3UlBnGlEMfGdW3yFHRT3vpAIgAtFHnaPpoYznb5AGV6+BKIifyp+NoxZ3bwlegIQI9g0="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.419.19.bf57f95_1582744683899_0.41030500321513164"},"_hasShrinkwrap":false},"0.0.0-pr.419.20.765a348":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.419.20.765a348","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.0","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nThere are unit tests and integration tests. `yarn test` runs them all. Beware that the integration tests run slowly. `yarn dev:test` runs only unit for this reason. Testing on CI is not yet setup.\n\n#### Unit\n\n```\nyarn test:unit\n```\n\nWe co-locate unit tests with their respective modules. These can be run via `yarn test:unit`.\n\n#### Integration\n\n```\nyarn test:integration\n```\n\nIntegration tests rely on `yarn link`. This means those integration tests cannot work on a machine that has not done `yarn link` inside the root of the cloned repo.\n\n<br>\n\n### Releasing\n\nWe use [`dripip`](https://github.com/prisma-labs/dripip) to make releases. CI/CD preview releases are not setup yet.\n\n```\nyarn -s release:preview\nyarn -s release:stable\n```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.419.20.765a348","dist":{"shasum":"98b059689eab2d6aea31e3c2ab880836d54402cc","integrity":"sha512-zCVJVEL6/tPiXBCszZAmSivKQA+QWwPG0fU1C0Z/JI7Lw9E7uc0r3oJYiFYwqJUL5J6W9Fv9VKn2LwwrXMNDvQ==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.419.20.765a348.tgz","fileCount":387,"unpackedSize":796604,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVt9/CRA9TVsSAnZWagAAWi4P/1OqpGleAREDt21U3B7A\nWpi2FwGyF6GSEOxus7EOSGgnoxh2xn8wFmrRc/YE1Jq4HQB7FCsH5EyexmJj\nBeErazg+URgtJTGznXrWllksajQDpfXE/fxnI7CxDMej705dp6lfQVWKqL00\nsNVZD+6pjgBFi2rHcbTNI99xo35HCmC9b9mox0U9ISB853dLa/QjbWkWr8HK\n+cu4IwKmCncCTSeh3itSI2JZ95Tfg7zVc6GzNzrXWzV4qPWltw6zEOWb+HXN\nFTfw8eUXSl8ee3I4Tdzn0X5UlQHacxPUjPgKiguROXYR615bgh1zwUNsvGIn\nvwghpXgYYlzZfEJl5YlGM3KX0AybsbOlLQCxnHho8I3tw+LJDhB6o/08wshK\noqFb4rjnlGwZdIVw84G5cUOnx6klSVz//yPiR5ecXdV7IR2agdrIPbTJJz/G\nzdwTHWPT+GAfWlsZa9yJz2Pa7dq3X7vxHTw+ek7+pS+z93IZp6oauz2x9SMc\nKsJ+M94bVpV2EWiOGsM6iX2h82sNgb1F/eQ6auFDlzWwYLTRA8ZtRGTuw+BX\n0ER9fn8rpQjB0oggtDyGlza3lHBHYzDjbS0It2mP11XyJ4dI6p80IoR3b1DW\nDprBQhlkWJjpMFLems4OEGtXsJZeEx73DWSAfGhh0z2kLkmlF6/ljTgRxI5h\nxU/T\r\n=LKEC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICA9kqOE39bGY9LlD593h/jQoM94x50VIl/M95426AwJAiEAloBp4wNdrswCdiYbjsWNfQ02QtZOXXy7xHK/rH/PHjk="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.419.20.765a348_1582751614183_0.956973011086576"},"_hasShrinkwrap":false},"0.0.0-pr.419.21.c6addbe":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.419.21.c6addbe","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.0","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nThere are unit tests and integration tests. `yarn test` runs them all. Beware that the integration tests run slowly. `yarn dev:test` runs only unit for this reason. Testing on CI is not yet setup.\n\n#### Unit\n\n```\nyarn test:unit\n```\n\nWe co-locate unit tests with their respective modules. These can be run via `yarn test:unit`.\n\n#### Integration\n\n```\nyarn test:integration\n```\n\nIntegration tests rely on `yarn link`. This means those integration tests cannot work on a machine that has not done `yarn link` inside the root of the cloned repo.\n\n<br>\n\n### Releasing\n\nWe use [`dripip`](https://github.com/prisma-labs/dripip) to make releases. CI/CD preview releases are not setup yet.\n\n```\nyarn -s release:preview\nyarn -s release:stable\n```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.419.21.c6addbe","dist":{"shasum":"2a9667611511eb6b918d1db11745d81be2dfb032","integrity":"sha512-RTsimywi3CQKKhG3j91eUMwPNTgKARFV9URCW8WPvvNUxvGN/cvMudgLo6s7XkT6xOaQhg0WlvWKtI0P2Scw3g==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.419.21.c6addbe.tgz","fileCount":387,"unpackedSize":796716,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVuGDCRA9TVsSAnZWagAAR0EP/3zgmwSTTrlhGSEfPXMX\nFKuqz+pQfKJ+U3CPNDvc+dSPdw9YDmF83JgDZH5Jxa4fI2F3wzx8lmhDbUZi\nF6UFU1bqViwHrWq6U69RXmCzpM04V+BOrZjqYxPcknnuWawHkrx9SD/bh+C2\nx0QiSwRBKo1Dg/XnLo6OO9O0mqXxn47yPIqSK3ahcBgTL23tfD+i29QAsgPg\nkMwZll6GSmCaVH1y6pk16xnCRljTLTDtyd7OFb4Jp2yD5NAzEHdWo9928gbl\nKuGq1XN2BgWeIujW1j6AQKcx+SduaAIRVMgo7UcRKvORMZI20Wt//K+f0sfI\nirHOgN4mNNYXKE2iZeTtpTRdwOtWabBm5fQ54QViAXVnqa4gJufoNi3QEn5V\ntM3LbMAhOqSuwn2Qr5l3mbdYujYliREYFeODbAlrN/SMqTuM+w4XWxXIJmhZ\n7u8ug5cgsdXhgEcxRD9mfUPFjw0bH8d8fQt7vRc9PoNIIXXVUvgspFExuzgV\nDu4quKktv15AgKbEV/CXa3eF3UNNSYTRqlxdyBRW4Ur6gEAhpXpqRs/85ZC7\nm/9IDaN33qC0saU1qI5xopHqj8Z2hO5yGvay5mrGtxwfwzfU0Xpm2U30ss/H\nJ45kP1KLncRxUl0ifXWTunp56iJ18+XOPKSg1vKPXKIAPB0UP51yhHiRifTp\nvCn5\r\n=NPS9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDskS2AJHYED2OudhSQGKKVNxZjQ8CFIZxFCJ+1uYhBtQIgTHZtc+b+l0zXeUXVCEkqb8cjfTOaVIhrBop8JTMyfp0="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.419.21.c6addbe_1582752130700_0.5023872052131477"},"_hasShrinkwrap":false},"0.0.0-pr.419.22.55c4050":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.419.22.55c4050","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.0","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nThere are unit tests and integration tests. `yarn test` runs them all. Beware that the integration tests run slowly. `yarn dev:test` runs only unit for this reason. Testing on CI is not yet setup.\n\n#### Unit\n\n```\nyarn test:unit\n```\n\nWe co-locate unit tests with their respective modules. These can be run via `yarn test:unit`.\n\n#### Integration\n\n```\nyarn test:integration\n```\n\nIntegration tests rely on `yarn link`. This means those integration tests cannot work on a machine that has not done `yarn link` inside the root of the cloned repo.\n\n<br>\n\n### Releasing\n\nWe use [`dripip`](https://github.com/prisma-labs/dripip) to make releases. CI/CD preview releases are not setup yet.\n\n```\nyarn -s release:preview\nyarn -s release:stable\n```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.419.22.55c4050","dist":{"shasum":"ea51a80099cac0dc7ab9d331c4830702f0f6e0d0","integrity":"sha512-AyoC6h3sEz2OFAMOwJLqJ1mfxxoB756uVxrkQNrHv6CYCvECMnFkbHzUvaxgf5zMFPvcDOpZ9bGIegdmB5GjOg==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.419.22.55c4050.tgz","fileCount":387,"unpackedSize":796716,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVupzCRA9TVsSAnZWagAABi8P/3U1kFvDb0WNW8bOP1Yx\n0gmifGsYO/SipHTMDM+xPA4CEgLC/yXopTOkOZ6cEWI2IjIrYK8NNyLrpWEx\nMzMSBDdgD2UOqq7DZ6hx5//Nt9+iw9j3DiIghwIT1oAViu7OzEoCp6ANgaGc\nHAg1mDOo2fZlGyeGAgvg5tR2lEglBU0cofRNjHI3OdlQXjFlVIpt8ANVXA66\nKytaoMplZ9A2J3VJnSf0Y4l36pTiVTaCoLpVO25pM7bTHVILLN1KoV3VqYyx\nNrUEOc1Cf8RFkFYssuh/KgjQUmf2Oij6BvmG3J32/zi8sFphpwzIYSWKmG88\nePpjjrv7c72ffhMRu0v5MxUeONf78WWemd+feg72c5D3ahdALh6LprQiABjZ\n3sN8EldmtVmavzHz77u7P8N86QDuTbYffhbxZSJGEYxXXqykTiMUnniRYuGT\n8G9mdI3bKuKg2nLpLM8taf7/yx+j52sRNJWcxUYWfsl+jKrDHJZsURt6+bK5\nKTKVVaLSG62TwvG1nrj1qPe4CKoQYbWQFOmK8uE7+RSbIyk6Y/8QhZBB/Vc4\n9MieaT5ozyOA8zuVHjECosFWc0o4ohMuj+0a77fYLWC3phlbpgEi6l9vOskW\ndLycQpx7GN2uSzJKUBZkxQUHdYwtH2lst34TWenS7ThER+HEMwf57bvozfmK\nXxgh\r\n=Z7op\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGRwMMwW62yJynN7z4PX9wrSv/yHi5GanJ0Xum+OY9HMAiEAxMvzZvkHKTPgdLK5HAqEj3PYaJ03uxZH33/37YEufmE="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.419.22.55c4050_1582754418704_0.2279603257365419"},"_hasShrinkwrap":false},"0.0.0-pr.419.23.7e69609":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.419.23.7e69609","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.0","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nThere are unit tests and integration tests. `yarn test` runs them all. Beware that the integration tests run slowly. `yarn dev:test` runs only unit for this reason. Testing on CI is not yet setup.\n\n#### Unit\n\n```\nyarn test:unit\n```\n\nWe co-locate unit tests with their respective modules. These can be run via `yarn test:unit`.\n\n#### Integration\n\n```\nyarn test:integration\n```\n\nIntegration tests rely on `yarn link`. This means those integration tests cannot work on a machine that has not done `yarn link` inside the root of the cloned repo.\n\n<br>\n\n### Releasing\n\nWe use [`dripip`](https://github.com/prisma-labs/dripip) to make releases. CI/CD preview releases are not setup yet.\n\n```\nyarn -s release:preview\nyarn -s release:stable\n```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.419.23.7e69609","dist":{"shasum":"468501087add7ae4cda0fc32b9324d86aeb1080b","integrity":"sha512-WvMhzeq0+Mw4KDkCFygrhATYHXnhS/f4NFTJ7d0Mrp9M6FP/Hwt2E3tFRdM5CfJpDk3eioao5kXHgysnALHKAQ==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.419.23.7e69609.tgz","fileCount":387,"unpackedSize":796716,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVuwMCRA9TVsSAnZWagAAXFMP/2reTiuPleuJEiPeQMrv\nb1dN9YBpDA9oFctzpgMR9o/T583AqHD6UcK1CRkmC3tsCaU/8yxq6pc4hPe+\n5xY3O2aRxoBoRdwJGT9cJ46gJnaEyPVvbTKnkDYBs81c8i7McrsBDlITulHO\nXGkEXOfvlNKFYyjsy9e/WY5cA4E2jn7PbtI/dTvQ7+YkQtStQVJXMyzLrWE4\nbApB9fv8p7qwZWWg0bpA0ptK3Rxg0iwFg5jVxr6OAWfY0baCEGZU9iKj7S3C\n38ewOn7ZrBlkzhQ1FbJGUru9C+zQMYhQZVU/+4+DBHOfUY0Halp7XwDtPb7M\ncrc0GwPJskT7hMyEJRZMUTPJ3hRNsfZ+l/1ssNFwHrHyQssg3slfBjx/NGhJ\nAvoR3xO0DIDJxzhSBqekSlig27IQow3xkz3bZU8WJzgKjnbHdm1Rso6lH6JI\nFsFUok6ejC98SDlqAjqG7W89B0gVvkg//hJ7U+sMIrZKVGMdYKHv5jMp6RLc\nlYZY8XPJNglbUNIUxQEdvbduL4POLUvKcBtWDW4V91S0ElOBa7S/1HelnpAO\nwiuwgIpjdkPj/DjfSmd3EQRwpN07/oeSKM9eN2u73Z7SL48HNYNKpwLcAbGt\nLaU2nJR/w/qTGq6x2qQmwf0DaoxpbYbwvymKh8qtyvDnwZYQpMN1VYPxRhKT\nCmBh\r\n=YejE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCvuSf4SPfvJT9fok27LeW/97iYmeD42OmcBf+KzoCFXgIhANOBRjqNlbKG6uBczX2olR1TH2KV6Q17bgUVZLju4sTE"}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.419.23.7e69609_1582754827699_0.47490919387946673"},"_hasShrinkwrap":false},"0.0.0-pr.422.1.3d85034":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.422.1.3d85034","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.0","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.422.1.3d85034","dist":{"shasum":"c66cfc09ea48ca527931d626611e65135d62121b","integrity":"sha512-0RBeT2GCwAZc5TBi9GYO2m+FyWqErX/QqzBW6nJl67J/oH5g4M8IMuOI8fcbNB/ycF+CDy5fzBpxQxXQ1agHag==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.422.1.3d85034.tgz","fileCount":391,"unpackedSize":799133,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVzpkCRA9TVsSAnZWagAAK00P/34LbCCmEpn3G5Un9olM\ns6O58EsbISRZAWoA2kJheFQ/hrqmkukCRYMBd3GNiYcrMsr7SsYWyCUb7ywJ\nAB51ClubgTY4Afafq9d5tgbUYqVhIpjtAQ2+Uk87vBUot8ROC3V3Xqx0GMjk\nYKuBhRcht0Jv7cxUkH6aTl4cs1ZheoSs741+z7iomPws1H7zSoGqnVs8E0In\nhg7MOiHUsniQPdYNISOCwFBBkog0+bCuNcan0450XgtUh+jtHMw7+swt6pWE\n64CZqg1Gs3janfBpgqOJfhICyGo9w0UEgYCS9joPtgIeYsXUT6SIsBr2gNEc\nJ16Lp9tXrb1fm+KwyPwI00OmxVlt9yHjqTDJXX1nssUnp42Om7HsRmHpPgkt\nPkDjOAM3pKvxwvUhoh1ucjiVRRhNC72KrWSjTC7E+VX4BtbURyytThfe3Vwh\nscXBRpIaW0W7hXQ7QmzfZJdlEY4hKHS0gv06JTL+ei527nraB71lJHyKHipn\nRdAB4nuLMSeKwxZOXL+wLSsLrj1nNuWLNS2gTIVu8D7eMAhnh7zl/2I6YWkF\nBg/yBFddSGFC2H10Ib2VJ6GhHCPBmjOqYDDr4nY6U9Gp2/sG9D099Dfq4GEN\nmlMXWlJVF79/4pxSaFsZmEHb/c/MVX8Fy6qatudgaDb0cUKUz35jKNQplsAy\nDWB3\r\n=phiR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID2L3dGcC0D7wvTQuTCbYormNCI5og0X+2LNSZUJEbucAiAsG7YuAAKoxbLdW9tyIIoEetBNn5p+082v17b2oF29Fw=="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.422.1.3d85034_1582774884238_0.08632766651190704"},"_hasShrinkwrap":false},"0.0.1-next.1":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.1-next.1","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.0","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.1-next.1","dist":{"shasum":"3e58bf14b80adcdb750f6c681717e9e5d5ba3770","integrity":"sha512-z0qajlDjmqgZSE+YQN1gl/YSZBGYCP/3Ijm0QM75RfaGjwBVZGPgIB+tj3f5UtwnEXPAvUYLygvZJ4NDVJ9+Rg==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.1-next.1.tgz","fileCount":391,"unpackedSize":799123,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVzvLCRA9TVsSAnZWagAACVsP/A0dQv6jNDGQOC5CqnBC\nD9LixWGjvBQO85J7YYO6gGh0SD6rL1sdMgKoozHI6EPNGFyzc4/Lm6xtTl9B\nEZb7NwK9n8jRyMeZyEZgjF9Iq38xEZxwl3v9Y6QJCZFOFltFT9ltudupPDcc\nUe9gAJUTWdG46a8dUDi53+iXXRTvqUEJ5iq0ShhitMIZdwVt3Z270U0A+CiZ\nUc1FWj59fUmtSl2OkYPPTudnacXZ0tqRQOjuZtA8fl9xLaSZotXyOVctwCfn\njsStbt4al2ekgXgS7HRT/GG5qtZkmC64mhBxQ79KPkBlaB4CTQK96SA0iFIG\nnj0r+fho4OFdkrTo2blYdUub1Q5fDg4Z6a1Il2Qh5R326zbyJ1AaOHH+d8V8\nWLHVy3tciT+54OqMZTc76nvAIsCT3FDx9LqIPVwwWYprDDMuL3NFLUEBcT51\n4p5ODdwQwSqoz2mnWboAgPxfUTLRG9AXWf5mUu1bAc7QAuHUWisdSNVw3Aub\nRv2nDJtAn2kH/UXy73gXBairGEJu+S2GaKdAd4o82BQzjW7mPGgOQjp8Wcti\nbJ+gW8LZGHuRmOSXrGxQChfZNVig6fFlkmr95Cwj9fIYblPtIx2zSvtbFHyI\nmoE8V9TOK8zLB+gbS2CyypEQ7Usf1PBYLxILEj1SI0lZjVLbsvTGZsdItWCj\nomGt\r\n=AJJ6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBGiCDKVCp9tFbCJr5CEnPtWFKvjoecKPwn+n8i/dQa4AiBxjGbxIJ3oeLs9aRaf+WWFb29oJPm15F9Vy1l2ixfJkQ=="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.1-next.1_1582775242861_0.4552505997761276"},"_hasShrinkwrap":false},"0.10.0-next.1":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.10.0-next.1","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.0","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.10.0-next.1","dist":{"shasum":"f79a9aa8aa9481a97f72205b2682aa90dd84aef4","integrity":"sha512-QE+gA3ww3VF+V/SxxTMaYiWkpRnkglhQx4MwtYl7G+cbRAPO2wl6/yieay+fI650s4b3SWuq07uzM5AQiP1ICA==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.10.0-next.1.tgz","fileCount":391,"unpackedSize":799124,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVz3TCRA9TVsSAnZWagAAdakP/0hVePe7poUpEvQLYFwh\n0ZUvHHQWovHESWShVQ08KsPbEprqcmcTddoqJktEEsr6YG1SKowXf2Lgn/CQ\nXkHKMs0tmAvn8xlFW8NO5ufJDnXTFAnHVC5dD5csFf7207fVKAYYyNsSxFuv\n8ZhVmq3/pfgyTjMdhBMwch73a+4hwY8VlitqWZKuTEsuEmnOT5nLcDfa8Yo+\nUw8CRC1j1duUqiGfcweYjR/jXi2MFaEG3nmxrDNDqivZzX0hLu2J097KMYnU\nMKU818QsNaC92kMkYPh3+C6n97VYX1y34aNOhJdT7cmGRSmIf2IIJLo4xtmw\nLMHwFVQl9YiUutQ4oOpALZ/0ASQSgwllS1HZW3nB0Q3YD4zebJXZ54KhlN4T\nPf2hqY2PiMTSQDEOFcV1iYxyht4F2NQMpU08v3zdi8C5v+bVPd6W4a5JmjYE\nBh+0qlpvtLkmMgrbE/zKFmkvxWFj4r0I/X1jPqUKuSt5JrU2J1G5sThh5J3m\nldWFuvyPnUWvdKPSDDGhFASLYqsX+qmgP5U87fkmyPP0wwkfQVgXL//lX+2U\nPvL8xeadNMuIYmJ/aBx30IJXyMo0OIfZjdkGblHC7JP0B8rHM1et4E9TsIG1\nhKSj52zpU0OWBU7MXHU9hi7+yBlTGDxZjNaMPy9thKMemIQKvrK1Oa7ceF6q\nGNQG\r\n=3O8B\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDJS5vtj+W2DNrMlPJkSUOuuU8HICEoN+xNscWCuHHElwIhAOQD65+eRwrTLtCW8xjIxx2H4y4IqaQ92OIHpYSUu1J2"}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.10.0-next.1_1582775762766_0.772077674811019"},"_hasShrinkwrap":false},"0.0.0-pr.409.1.cc7b1be":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.409.1.cc7b1be","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.0","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:gen":"ts-node scripts/generate-docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"tydoc":{"sourceModuleToPackagePathMappings":{"testing":"testing","plugin":"plugin"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.409.1.cc7b1be","dist":{"shasum":"2861bfd89da30b438a5d04345eb158ace0edac8c","integrity":"sha512-SmJSSr4EGDiY1iZB65tYJzfyKsriLPREMmVycF0f5mtscqr213f7A/IeWlmWBj7hnIq210GDJ5VOvPv00ufOAw==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.409.1.cc7b1be.tgz","fileCount":391,"unpackedSize":800522,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeV0JSCRA9TVsSAnZWagAAv0gP/1qLgv8S3CRu0HjLcmCU\nKW8GwZxnEljm0sWKZ0qe82g8VDCLZttgkKJR2Xmwu0xnDGRvvlVzZVLWi9fG\nyyDMuo18kj1o+gSyujbRfj/Jk8kjG0epxSHEkjG3jVetOOXuvRoVc+BKB/26\nTZ5sPVr+f2jWtKDIkxNMW4V8SPHHvI2EfSLou1vzqPSiy+tUXGGd47l4/Elu\nibA0N/WuV+hsbWttqUct/VjgrQx2XncwbXGwt6MezD0QoBpwaELvIuaohr0y\nEChrXlbk+ELFzN4tNcxfCEasadOSnHNeBHiOBTEU8/wN54KhvhjXSyASsMRO\n3hdDB3uGEE47oLBpUyo9ood4/NUaCsK2mW0Xpj1BuRZ+3BJ4UqXoRTVkK6pE\nChY4X84V75VaRDa/VxjAeQxrJ+m86AEyxwHkOUsVtO/8EyswoZicmVmMY7z8\nihY6X4Y5sgXhIZUl1SoKGWmM3DADAegqG6SZ7lF0KjwynU9a/YbBVzfkLRyL\nFStiAXDS+PJ2K/t26PU/YYJWGbUu5R2SfzAkKuRV+Xwa8kVXoBB/6g2hXt0H\nlYTowxVm+DFV/uEvT1b2LWRhQ2NNGVN/OJ0URw8HO9KAFz7MCiOLU2MJH5pH\nKVfId+mgdCQqGd2uR7i3u7A3nE/KuOXjh3BVkje/Vs+z0tMbwHnO0nqE0bEM\n36Mh\r\n=R7cI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFUdWCzKPrQvgTYPl2TmJ+ioZexBvfAYKXXVEAJDICRtAiEA5huNSoB30Ld7AHNRpGHIn+Q/yw+hhxuD4gv2n5OldcI="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.409.1.cc7b1be_1582776914159_0.8418472981991325"},"_hasShrinkwrap":false},"0.0.0-pr.409.2.af33536":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.409.2.af33536","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.0","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:gen":"ts-node scripts/generate-docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"tydoc":{"sourceModuleToPackagePathMappings":{"testing":"testing","plugin":"plugin"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.409.2.af33536","dist":{"shasum":"e7d63afdefd069824bb47eb8efbd92f8a5fd30f6","integrity":"sha512-KbFoC69FrVxpM/1XvOyWKs+kJt9geMC+jYKobws/MJI1ub8Fz7k0U5NQ1Xjeh0TZWarbmtlTGwLQUXJnmAmgtw==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.409.2.af33536.tgz","fileCount":391,"unpackedSize":801645,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeWBxGCRA9TVsSAnZWagAAVJcP/35BbvbeiVdkYLwSwA/S\nwYl/zyZ71oPihrj+p7KNV0sCXgIYmSkm0LIonNb4zgtTXMnkWWllv4rGXmfa\n3E/cBOmq90LpLR0HN90T1JvOAl8UUHdfvQUaF/Vuwuree2bvzpTimtCg+ZEx\n4BkXn88MYt5YtCG87/x7xpxVloE7WZxqjE7T8kY2iGe86C6cAdAawjZ672f6\nbvr2lajsl4ZOC4JaFhxKZWzbvpuxG7p4oGQyzu/VJzSI8TDi04uArBWk6q6s\nmLk4t0CTRTMNnsoul01vnC16/3WSfihXYIADirp+YPN0/NNEkt2DksfIY15C\n0u5tGVnX+1vGeDvQR7GeR3S/HMqU/mX5BRhDki/0z4PBfhLcqXxfXejbga5e\nBUcdyEMHOfZ9s43pr6OomI6fBpLYtl2eSLCvRK4HhDoTAlRXgKHLvgXeqDt0\nL31qoBq8PAJsJjYnxoZjeqgcivP1uROjV1JrkaWhWl6FhMPidMC+aWom4eHx\nGPeryqIQbBpDbUINosmMn8UFGPfCeok0NEkQ8/CcDxXTkemmex0fuORn6ouD\nC4YKR4Tug8a95ouqQ5+2v9ssRF3jz+Rog72eXQIowgRXHMUdHk/oeWOcwkcN\nbRfWXPFXuJIf8XuQqBzuEyPFdV24At5g4QJFZShczt2oU5G3IGx01QEaY/9u\nz85k\r\n=iG/y\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC0rr3np1caTsGBwdUhgJ27yR6+RxOS2mqtM8QQX/nXZgIhAJ6xpVN1t8XV+Bt9JsmDoIy2f56oiQ1FLrpPmT7gZLTb"}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.409.2.af33536_1582832710276_0.48372167144101885"},"_hasShrinkwrap":false},"0.10.0-next.2":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.10.0-next.2","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.0","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.10.0-next.2","dist":{"shasum":"aa5da81dc6d24c14c18b03273502cfa6aec3ded1","integrity":"sha512-4DR6V7J7vE3FyAG4hAntYOHT6xMU8afiutkHcyBxX5c6t8aQtkbqlOHpZT2X9LY+ti3LLHTEjtIrOFHwpnlmZg==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.10.0-next.2.tgz","fileCount":391,"unpackedSize":799321,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeWBxaCRA9TVsSAnZWagAAWk8P/jtSehktJnodyuIU1C+Z\nw8yiRLVS8fN8iQawb4n47mBzAslTGqpyYu30HSAt/bbrTKelaSq5iWS8odo7\nD2GWrki2FgEiYOwzsC72Vpy4xwVvF8Cxn5jW56ZgEcYJIb14dPFWAX1i3pZs\n87X5RK5pP5uVo2Ea383QBPGJMvWkwl0POCAWp0HetUE0uL6lotSg/bXknws7\nyLYfC2LsJeD/e/FENlTY4y/AcNOOTVBdbCQjzv8ZKBoJSXNesL5K9+7d8+Id\n3TFcHEF1ays6f983HZ1WjtTdn/drGmWAsRxSlTGOztm8ft7xb+u3JtpxN4Ul\nKx44+gXVVZIlT/J2YrzTWFSjg63+9ijUXeeJ3nFXwbPuYhWgQosqoAAVcoGR\n6Jn7br37MUCm8V31POw9+FCLSyUyv44iVPDp/dKACLirCDj4UaBrlZ3hqtRC\neSwwOYJoTAFbSnXLsKfwvrxWhYlN7IrmeeHsoUQdtTVHpaAh8HQQElJD/2uh\nlkFpbtJ8uZbwu9p3DvvU7e2H09y3dYmRmgJFoHdt+x6bKJ0lNLmbwrHKzoth\nld4EpxWglKcWFBbac1Byl5D6K3qts9CgNHqd36uoaBa/aGJysxQmDa4YSU5X\npOklp5mBoQE4a9SIdTgTaxGACbLuxlEFHY5GHY/w3CkP8idV34nc5/RubQBn\ncoUE\r\n=+G9E\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCWIN3vhz9nVdp737KK1iLBZgYJaQ1Z1ARYMxtQ+koFnwIhAOPnotILcznOuukbOVUN/ZWIZBh67FMGJupd2m6uh1Js"}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.10.0-next.2_1582832730312_0.4614802303097152"},"_hasShrinkwrap":false},"0.10.0-next.3":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.10.0-next.3","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.0","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.10.0-next.3","dist":{"shasum":"f9bbad540e79819576a1c39d1fe89ccef2612efd","integrity":"sha512-hLi1yrfxggACIin9KdovZ/fghkmKtl/S+lIpe7x+wSWzrX4VaDBF+EXyVWHNpgOr8A0EqUcIyOqTtjYzG3zEOg==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.10.0-next.3.tgz","fileCount":385,"unpackedSize":798965,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeWni3CRA9TVsSAnZWagAAhJsP/31QH0jiBNgRuAiXWuxb\nxGJUAXIS89sl/MlDwuN3s2AUmHotjrdDf8/ELIihomNByJF9OqLCF8aaNL39\nwJGN29K6tx5AajrDf5K+6L4ctdZJJqc6E2FpRB+RwqzJrE+NspFr7R3InlPi\nCKTHse/z2fzxxoxh5qb0kagtpQkNcAfDd4tikBebnWAvWsgz0LrIQtos/1nj\nrYWUVBJdNAo6AI8pdpVAiR37JWgzCE8g1VF/Pyes+eMZhLOz6jtLxb9xrCNu\nZkScyHXbuX2/rne4sjidlaRpH2uPq/umaoyIDphbpnZzuXSONdNr+vKuE/gl\nEuG4pgABlW+90LYPhkBJSG6oIi+iB59o0PUGGnE4SPdUAJCTT7+CLsTuAnjl\n8EM7/kyzr8+YwLeD4mVzZ60PXBSMSp9snMqzWZQUAfJF/r3uj3EkxEaQVPiW\nCkHAywg0V0p9yBjUpy2W9nFJTxrVDa/Jb8WpgadUOpadG/SBnCDbE4hV+N5u\n1rqIrOlKRXQfnqaNIRouE/1+KaLBTM48QWvvMVs0TAWB06Rx/jo4nFneGrrX\nYZdte6bBNGaEDw4E8fFLYzK57WrJtGJ0PrsARPo40Lx9WTYxKEcEcTXth+ZA\n2qFb0B44vDkIxEf0KEZBaxSBA9D5akvxdrCTe8lpcHSymwnjr+ZqAvyIXAzJ\n+Nv9\r\n=sXnn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFeFnkagVmFZwCIVAw8IUXxf/8a/C+xL8S9g5KiCqGMwAiAymYuXyagNUyg4BSq/B9RZATYVM2TCW1aTbHcs3x1GRg=="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.10.0-next.3_1582987447238_0.23440493743573154"},"_hasShrinkwrap":false},"0.10.0-next.4":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.10.0-next.4","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.0","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.10.0-next.4","dist":{"shasum":"7abeb449c636df7583f274d4248fb11e441a34f8","integrity":"sha512-mAlqbeI0sdYInodSDWJtWLLKptgWQxZRAF9ovKuZL+3P/tooAD7XbuUwe6989IOB+EfEltSS7P7k9yqsondtsw==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.10.0-next.4.tgz","fileCount":385,"unpackedSize":799124,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeWntFCRA9TVsSAnZWagAAPAgP/jIcmAEGaj7OF77xZUGK\nKHUeDKnSwc6jIfklA1njmuiL4xaPTEP50lgzsmyvUv1HSnutE7eSfVf7bdLa\n2LjbyPiXa4+3iq5CqzaTBdr+MXLp0w1Qa411QzyYfbUUjvM6QVqt3Rr/sh/D\nb4iUp8NyUmgGZMh582uW8Jb7p/Rppo+8vyBaRX//VBAYcDSUesJ5EsdXrMTC\nCTRJ8LBaoX43LJspSy4pqP6cqZ73bZa+ThW0LDir0uuO9/dXrzNsga0TErTD\nfRfZIi+J2wXeovmMwsrTdZzGp+4T6dkz6Sa1bJZT5xKnJxeLgEEjZE+8zehu\nEcmIoDyPQ4WeiymE36RYy3rkxh/vs/DxqY3+9NVChA5f4rJPUFRn3LplSzin\nFIoY+MBw0tpcqTGqIHbcH+FuHGMJLGICHLnq0lwLYfo9BiXG9VCKvIsEofSF\nu8bnJgab37InuWfw88G/vFXRKKr4KFm47osPL5fz1mIemE2okoKPQh2b8hu1\nANsdp2F2omTny3vglTIFa6YWSoMlRZki9jJWqk/QFvf9JCOHnf1b1TX+WfL6\nDGGryqtKKrdxHCKR5XWJd/lT7FujmQqvt2k3Ivd14JJRletW3C3x+T3200FX\nAuMgNgekFfWIb/wBt/gQ88iIfPbxjoavEMtFYSKuvW/ynFBskRNvpzR3THVZ\n0QFa\r\n=ZAYh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID5GvMJltirta9/cml4hK2Am1xYureG1fom72cZPePYdAiEAyQA6MUnPcSHkM1qAoEpyavQfPgo3c67kWmchKE0FnOE="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.10.0-next.4_1582988100940_0.5427948676981782"},"_hasShrinkwrap":false},"0.0.0-pr.384.1.4d8ab8f":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.384.1.4d8ab8f","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.0","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.384.1.4d8ab8f","dist":{"shasum":"4af9db64a1c271bbddb6b6074a21b202cd97792f","integrity":"sha512-OiLHunTHPc2rJt52Ip3FAflUKXKd/+Obz/GPGGRn6iK9/fOkqyBoMeT5Gl/87G7VNjr6cKbO0dkp8SlI74GVIQ==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.384.1.4d8ab8f.tgz","fileCount":389,"unpackedSize":801905,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeWnyyCRA9TVsSAnZWagAAXq0P/iUbYm7cH6CBNDbOAO1P\nFvA0rPZ9lv8LPsfFl+Ib5cb1/dBf0gx0XzoXmHasdj217ZEI+eerHOigh3EG\n5o+TdohjSUMOsw/TxukttX3TJB9nLWNSi41BIhlGlgOZ1bdqoxz9Z55YxEYG\n5Rx8WxGwii//jmM9mlsKi+ikXG6cbHn5MD4n4YGoYNIMbn6f1ckyo1AAIw2r\nR6bANmDxEClAeUa6mPpDxYZDgoL7IBnuRKo7K5IS0Tv6Z7n4b+AGtZyE5kyx\nsKVwP17fW0gkGM5BI6q5mUiT+hu1TGnHNBwERac5V7Qwv9DNyz+tcwy8sOH5\nyvKxPEwHS/C6l495fnz0Orxr2BkXBOAFBHh/cNC+8j4FVM8BCXZ++CWd6JOJ\nbLhPsU0FxNfqRZtUscDhb/Kh4j4oikMuS7ammTCje37YuruD3Ra7EIjM9s2H\nJGHrHmxOYWKEKsWFr54tIL1DElBtySSDYUDkbumUA6fdMLzMlmC5DMAnbBDU\nsa8E2voQhfxuzAydsUJOEbMh8FYoCOLNMB0tmhDGNrCnX43ErhVw7TeClT/+\n/FL/H6FSCG/r/aBosxG6CsoCQy3jV2+ck13Pqs02OnpEudBGUG3aY/3z7qH9\nXH6yGD3ovKS3VV3DtWc72j5i0TMShnEGYARyJ9E/4mv3OnC/rOQZejzq3zae\n+HWr\r\n=tAEy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFTghU51dmDoe8md25F8yeF+ahXGP4GcHiOi1EpBNpu7AiAFJCIx9ftniufF4nZ/VOTOlaqDI/XnX3XfiU5TznA8Iw=="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.384.1.4d8ab8f_1582988465723_0.14639285995662754"},"_hasShrinkwrap":false},"0.10.0-next.5":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.10.0-next.5","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.0","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.10.0-next.5","dist":{"shasum":"5069bc706d12bc580561d908849bd1679a134ec6","integrity":"sha512-p5PDxbIbODxqAZHWYIdvIvIsKeHFN9m5kUzBHq01KgEDjYyfpNeOd17UvsAjChnskH86IDzd9PdCdIoDt6RB2Q==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.10.0-next.5.tgz","fileCount":385,"unpackedSize":799391,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeWtdHCRA9TVsSAnZWagAAqYQQAIAYdFNltSIeSBgTXKiK\nV1s0X5ZxWD+YqpEbXc0nxjrELubj7zp859iyvlLCqCSNKaon2eNFum5CfUdt\nbYCdjjZ9PQNXcsSVKoN+V0Cux/lLXQfaiUD2r443+9WyCel4fQKzwRxHvwHW\nH8YN0CMZmkZ0w/0hxNdDTFDkZbGxBMma5RUMMPOPv0RqAMpDBcR1LSgZ2zN/\nFlsH+aS+URn75olhS/vBcNwZTyNj2EQBjQvqKMen0DuCIFiR01x0DtEwJ1V9\nPKYtOISQqUHTEIExcFI8prJuVRDF3JqkpZCMJKN+w0CdZw5FZq71flHqJU4f\n7wUGxxnufDyux7Pp3xNfE7q5oTfGKIdpTxmv5tJ3NG4ckve/9dBhZ3v54qk1\naBfE6RKz2XO7gst2gJLvWDXi1VzdwtUh58nKVXm7wyoxugiLLHSi3uzXsM/X\nLdfZEGFKpKyX5mGl54kMT6FpyOKm/hAvqD/C/fk2Bs785ik916wGOqheGPcM\nLok5d47WnRopMYhzgcDZCJgH6TrS+wiTjSvgWVAvJFmLnYm4yM2yqfCLNDy/\ncFkHJk6hBZqm9J6mTRbCFU9GBBNA+TLPJKJF6LMl9hIv8IMf1T9f1+qngF4x\nFMlgGsH/IyzqQyiCjm8Gm6hL85lQoyF3dXRf2dN1/gqU+7oWePm1/CjeXQ+w\n/9Eo\r\n=V7gn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCxMB9qrNkXWIHJSxRQdnA5TU8Bv1ka47gYr9aAo5OVcgIgXquNN5t4gnBIrY07JbfTqg/jsYKUhpysW0psdNKpbHs="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.10.0-next.5_1583011655244_0.22548118202632894"},"_hasShrinkwrap":false},"0.10.0-next.6":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.10.0-next.6","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.0","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.10.0-next.6","dist":{"shasum":"15c6d3539ada9bb5e0282cd71a18537b6dfd4c57","integrity":"sha512-k9oQXhXINol/ac9oPrCr/APxGBUMAoUsaK5K9kM9J+dI8WgAYLp825FURHvV3zaT1JmkYKAn17ZRuAvin6h8dg==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.10.0-next.6.tgz","fileCount":385,"unpackedSize":799709,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeWuaVCRA9TVsSAnZWagAAmP0P/3S8qBG0kRS7N/2oWvQh\nlKsYWZ1BJdn8XbivS0XyRHGA94GLvUSywOKEDZF3iGBRAaZDeF6UlT+zUS7G\nx/JENb8xKR/5d4sy32dg15Pg2c8DX5W869E1LumG5cy+bYxxE3zsdCnyfhLi\nmxFVR59WUU/P+ieP33lb2muHZgZscGjEMn7UiFAgNurkxuqmHZRAL0Tgq1it\n0qsx122QoEdwq4szJBMFOGTRGOunkh8SGpwe/2010tNho1aFhYLiaHojPqrA\neYcmzGm49ooW7Tv0/iH9htxX3g/QTqDeDOmflKuNbNmPM5Ap/B7tJwirFOX6\naj9IJP3JQMJ/u/2ah1dZN6tc+vYbfBmJ4BF1yQbi4OQ9ZCp+5fmYg3+AH4Hx\nPp0kKo1AEE8/IAiMVrGz5AtROdHvYdfTr2ng9XJHfsBZa9Azgr0tu1IoKF3Q\n+5HV55aN0zy+5gNLsyfyhvTP36oAuy5inANxpl8ZKbQczR1avvPza1MDYILo\n9Kv7Wa5FsGXB7bBTkOL+9tu9NEPM6nbS4M89GN+5iJyKqdtiKGWcyIiVtFtQ\n8Ad6kh/zhxzARszmih/we5u+8ElEKvQ1alLoclmWceVpLVZXE27LhzjxEB3w\nlO61N1bju0iytb/bo4bsZtRYdjR+UcMvmzd4oq+pJybq203hYsL4oxXI7gOx\nh2zN\r\n=hXF2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCtXrarAUak90pu/DI2iKCo9fy6qixGlVIWXYJSiJRUJgIhAJiJ54rfYVJ78AXIvLnKNJCe61n1awpo/PpEpZxXILCU"}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.10.0-next.6_1583015572487_0.01848771646886016"},"_hasShrinkwrap":false},"0.0.0-pr.429.1.482874a":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.429.1.482874a","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.0","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.429.1.482874a","dist":{"shasum":"1c7db0085baf1062e53d47d448b909f434319b21","integrity":"sha512-CRudg5kDCWJ2JgsUgAjGgOaqBx1jD5ZK4fXAIoinyBA9NNNe7xh4d2NLMqWV8ONLxpGXpK4OmjUo7GNgy0gA+A==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.429.1.482874a.tgz","fileCount":385,"unpackedSize":799671,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXABvCRA9TVsSAnZWagAApQ8P/iZ3QLgaC3w2OSDvNwPe\nDlnz13Ty81MKENxB0TILhLHf+b5c53IrjV3/akR/u/xcsyD2qnSJZllCoA3x\ndT9WVps9oNVZNuB2Zf1vpxNevi2gYIa15zM20lU6PArMAYynuu3XTM/R+NhB\nmE3plrPhj5hWGMbzg/A9fVtkiHlhuolGKANl4Me/oRAiEy8lU4jgTFX/mwN/\nWRVqo1CNBy6OsgP/k0HHHzCiu/HdBNIrrM474DJQhBnhn76lDtKygzYp3Cb5\nBIC1q9jT7/38i96iC6QeoPhV8+XWvcHak7I3fPFYDCti+9dC24SvXcmz8MRG\n9ECjpv3lDTafJUd8Gx0je8g/yD9inFA9Vut4FeklpBCTFuDzpMtQ8G5YQYXZ\nmDl7E5bl8r8jKAyGA7qWazp65IAD/8QaMEqJB6vM0TX3dnJ1Kjt7VOlEjvRG\nqeUyuz7hIN1kNCx5kn0CUmARK50OVU5UVvw4x/QwGCEd4Y6QhGbigT81L/Ca\n+Wagxmp+iWtzktt+pTPi20unTcb+m2Hf68XdForsWq8ZJmulbnVFVgY/FP5O\n1nugGCKV8Ae7mwjTCDdRFjHz3V3GJduSB/CbkQTFot0HR05MgsyUWVBQyj/B\nctyd4nN30VOZqHaV+d00xSy/L2FaC7EEcZEu7Kq+FmtUqBu6j391Ubc7JhNK\nYxub\r\n=Erru\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEMLPalJ46Mp+AcyGZ8wbK9cr8Ivh5qVqa+djaziYBwmAiEAsbY6sdo2Hn0fiKFL0yjxYz9Y9PluRHAsNdUD3+iL6nU="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.429.1.482874a_1583087726685_0.8858979294337697"},"_hasShrinkwrap":false},"0.0.0-pr.429.2.a101c9d":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.429.2.a101c9d","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.0","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.429.2.a101c9d","dist":{"shasum":"7001a37f17597faa4c0240bbbe34d099fea4660b","integrity":"sha512-ovlFKnRfaFs87qgl1PVt/hlzr9sfEeeieICU+13Pjpts7rx6Jp+yFlbCNNJyApdxGY1H5Y9z2gbbRI+y/uyCsA==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.429.2.a101c9d.tgz","fileCount":385,"unpackedSize":800137,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXASZCRA9TVsSAnZWagAAhygQAIOtIa01g1bjW6VlcMwY\nrJLtZlEIgNUjczPur1b+0pTPhg7C1VvoYrsmw3vPpBWlA615Kpw+FzDOhmPt\nf6DJaPsk3SKwe+ExLgaztLPZbk33gvetw8eDskPV9vqCYFEIZZiP2ix3D8ut\n+oJ74Lh+WrqUpRxrjNrSXm52CKeDL5ZDEjWSJKyeFP9HnyQw/DDD/3NmbTtt\nZDNELywuAtxRiclLoYbgYtpoAGmKj3gTXaf2oSMr8MsqGu9GImK2CbQBTCcR\n44A/NNyb/L6zhxAI5FTt68vfdEWrmN/Y2nQLOTn9MmL4UDA5yG7HMpwQrUF6\nkFYiGcs3x0GJYP25LEFaogJx7JP2GQNvHkJ7+huSKInXuKUFH/5pM1EgSKKw\nKEW9+vcB2ItJ8oCOlz5bBk2igf3UUJc4mm0Kq9lfnEEfMu+Y81JnKC3Lb9C4\nOoyomtiBiA/fMhTXgBiDlkj+v3kXGhsfXo2qMdOHENzQAsjaNEKXGG6r8KA0\nXsi9hXWPE2RG+CsQ0eekSs2Yy+21/P7CO3X1yL3IzfCBNHvCAHTsMk9gwQRI\nO51mWW3vwip2jHQPHxoRTh1jEjLCuZWcbl8709z6NLuwTFf9+ViLOZsYx7+6\ngKsEu9bZnNUJF1U1rnxLMka9uU+8K1IX4AvWAU/FjD1LxqovHGX0RJ4SZAiT\n5xzn\r\n=3z6/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE1qIOWADZkPl2H88r3czr1Er/eXbSgXsKzOQUYnAeuUAiB+H4RjXNk4bew+dPXlMMUK83SuBJwCZKUtOIt+J1JnFg=="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.429.2.a101c9d_1583088793166_0.3434222528706421"},"_hasShrinkwrap":false},"0.0.0-pr.429.3.416b167":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.429.3.416b167","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.0","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.429.3.416b167","dist":{"shasum":"52cd7c1832167078f7f06262b15a3249227e60ca","integrity":"sha512-kqyanF894e0zZ7twqZYGTDWHCKYxtytjVu27fU4cVOq4/oLOwpSyC1qlGjyc1X/eo40GzO8Wb0eLpP+VPX7fcw==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.429.3.416b167.tgz","fileCount":385,"unpackedSize":800137,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXAW1CRA9TVsSAnZWagAA0n8P/3h+DDfaYjvjyYJZ2uaa\nqHHK7Ylh7mbSSUvW8p55syDFxowh5N0aZt7b955CKBPZCbJQD8HoFCuX6zcl\n5p+iCIZatlkAuQzWZlCwl+PyNn0N4vObbM+QjDk07O8hx+LwEbBu3KiVm7yT\nLlA+9QWK/J2n9+X52Be1gknjzSkF6H17/MgGocOmD6aR/asqw3/q1LsTo/zW\njnnn2nY4vSvU3IMlP9ygm7OYlh2PQqqFToQsYw10mKdVYUqgkEhfCZrcdbqh\n8oC7IQx+wEti7aMt/Ia0iGkrKny7HBsXjUzbg3qrhSaL3vBxjtK6FSln/enk\nQrZHoZmFB6TNvhFf1YcbHX+wwxqYFfXvWRzuDX2q3w03ElmEkMNmAISBOPFn\n5ZCB7/IeMGyMrx0BAoZQ4dV1j88AIga60gc550zxJ7QMclZJcsSbQE/hxr8Q\nGkyPgBqW3rtYs1YuxFqdgZj8qrD8lq64zwePI9Pa89mUbldF0e8k6sqQcYPN\nFGewVwRN7g5er3OLeft7gAohLyaqWgaK0azjGam+Se8r8ncjRFH32Pj14w0B\nr2mWms1X8ej9D8gKBp/zfmYn3UQSZfNcEjM/1k87gJRlMhJlv6psRVzrntEN\n6OWGb2RLJpDEDhk0GZ66qeBeqGwi9YMXoXL9cBC6diS9lj9PLLI3VhZo8mCy\nHRSQ\r\n=vBQz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDfK/kprYC4QX3rzXXAlk7o2lGTpLdIHO+VTjkt+0HIKwIgOw4XhRxBYByqyxItQztWsLCEAQ1tDeSIpzB6q0NZjeE="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.429.3.416b167_1583089076800_0.5115020420919323"},"_hasShrinkwrap":false},"0.0.0-pr.429.4.2dbb84b":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.429.4.2dbb84b","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.0.0-pr.50.1.64707f3","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.429.4.2dbb84b","dist":{"shasum":"5e640c954bd0525c49882dad47e34ac9200f1be0","integrity":"sha512-A8Xx7QIt3UCfFh6Kk0B2zpGDc8tsd3+z6/PAahlPkhAZNINV8jlrXEd9KTD1wypRGMadSFT7dAYeC0eHhdR81g==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.429.4.2dbb84b.tgz","fileCount":385,"unpackedSize":800201,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXArVCRA9TVsSAnZWagAA9usP/2YZVICfePp77rhNUeGe\no0OdYTAQHlLAC5xJo/vkRXxpFswtGGune9wHam+l8f20UtjO09qaGv2fQnov\n/UYG6h86t5JaIqnJGSEPbSCCcnugSzH7VsHTcHm+RVMSefRS7rAx9sTrGdsx\nzCv9aIpOdgHob87lgSey7rK5/vi8rp7hgQu0i1Cu89loh2uyrm3FhP/GtWU0\nPqy5a4vKfi0otECchZebg8LlcVJZ7zSsEo5WYD6Xbwo8cO4OWETLXVwAfbBl\nfRHPLvqNG3nd3m4oknibPDbNjsqF0suIkruSvivGPYCfMikleh1wI06i8XA3\nuyRM6klkNU7Xd34pHlyIgC70jtf9gAoVxU8+54PHfMhG5cfG3y+17STHwznx\nIMyfeqRpwGstcgsyZVVrV8MLQx7AIsP4u6zpqUDEDAEsX8LMis0V+Ftk5ChT\nK6DvhM+TLZsf0GAZag/NpUyH7HzG6sdvwjABvjBlQ9e/NNUMveQyGYyKarU/\nqZW7nO0qgz2rs5lzkRIya+lEKHlUNh/PwWHVDGYYIxg4TJlkfZgdHBDnLsEH\n05z4SC+wHVsKgjC0LUT2L2WgNPHSabugjPeOWXG9nIAXzrgPzBaxEgF3IuUF\n+E6hvczSfbpydu6s84ZO/o7nhJ6qMcK6hZL7W57knT3EXs0ShRNXLJd1Uqh2\n7sAU\r\n=X6iG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDz4UQ5/6VR6veitZ1UTFDxM/qf1oyPRV/pBYG8kVMUQAiEAkuXQBIDCGH/L/MNXXEgmJD2xDuiAtDXnCrCKEUXKY8g="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.429.4.2dbb84b_1583090388607_0.9711734744861662"},"_hasShrinkwrap":false},"0.0.0-pr.429.5.1bdac89":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.429.5.1bdac89","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.0.0-pr.50.2.aaa9ab3","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.429.5.1bdac89","dist":{"shasum":"522d6bf420785d614c87887304d55515c1d08172","integrity":"sha512-yMFB033yR1p6rqsXxn9xU8Haqjk632UYtnmIWQIUbl9pKkKPBfU7qisHZPCiE0agGEJ9HpAaWznM9k9VnX9IZg==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.429.5.1bdac89.tgz","fileCount":385,"unpackedSize":800205,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXBfrCRA9TVsSAnZWagAA3fMQAIAdxpvhq5T4ml4XvCyP\nfelM76+bothuChtdeAA0sbS8sKwGGvrnOTajVGe89zEoiKvdSudGKmzTPNDh\nuDkIBXZZ9M4WmXhsoMCsl4MQ1h59F5z6UBSPHlWYoVkTQVJE2qPFTOeFa5To\nPbb4/2DpNSlwy5uLfhvGNuhcO8k8PvtNIegyx1DG1sEXxVMkYnCD08cWR8J8\nnv3fD981JxeMWyqi6a2SiN+vL2F4BrB6p2zmr5RmF77w1WXSHqTL1uyGGE1w\nrEM7Qr6M5O0hDr4kwTAVrqtwYbXlCS/9y/QZQTbtFxqpF9Xg2XVCVj4PC9Oa\ndxdOJekBHecL0i25SHFjvXcuB6li3qo18VvPzrkHEKoKlgufsMy6MANpZpQI\nNZN8fgeY6+LAOwA5ESIeVkvVquZTl4goV0Yw9ZH6g1wESw1sszdHTZ1yxuvp\n15Z8CQK3hxehvf60/fGin0F/828ZTsJUlwmDHs/42Vh1mv5hDnRNmA1oNrmo\nGFV3euhV0Yf/zz3mxbzRRnCNOP2f1SGSNEfynDDI2xDqAH31838SfAgb/sLQ\nvVhV+HDZf7qTTkibpdBotPG5MqjhyckFB5nDtXe1+2+nC1eCRqcg0+RJdc6b\nkxg3BkZl46wxATQuAcBf+GZkHLH2m2xcoOcPrJh0ZqygGe1j8uF/PwFEz7tL\nN2jU\r\n=FaRT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDTiZtUDratNDrf8woMNc1q9zl+8lCDEvOvkN9XBz0vzAIhAOddeLXz07hXp5Oc2V4vxtngG9M/GNxgJajGqS/k5qxD"}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.429.5.1bdac89_1583093738636_0.285018509544545"},"_hasShrinkwrap":false},"0.0.0-pr.429.6.fa25be4":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.429.6.fa25be4","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.0.0-pr.50.2.aaa9ab3","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.429.6.fa25be4","dist":{"shasum":"3d9fdeb1b531dab50ad27f9c074594ee5f22eff2","integrity":"sha512-pw5nnHEJoNSwjJmc3ZkEuVdG7KaoQJU3OAoY/5FEPZKcAKle6qWiUoQmQWqOfVQAfxD1H+Uvez1dyhG5ZMQg7Q==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.429.6.fa25be4.tgz","fileCount":385,"unpackedSize":800205,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXBnZCRA9TVsSAnZWagAAmtEQAJJBzslbWZibkHR7tsEv\nADxP5X031hJM/kVBIEQUhXdaOqeHtd2LXoLYgTe4giNRvfddbtZfa9/LfCyo\nIsRXw0A1ep8AHR5Zz0L2nwCM+6lcEzyxZGqd0vACcPfxIEvsOQZ9Bi2cJlWp\nvz6ezOQTU6p76MH5rTNSdb8x0wYenGVl5I0zQdJtxzEL83HxpkHLFaiKnCmg\nXoI1MRw7Nak3+4deJVeNDF3mTpjAZqWs2DkX+/6awT16pBKzMQXFY9RoRM67\nnMXcuYAtPC8krq2khZ1dH8fDWp5KuMCxbvCcRNEY5nVefn6J9l8m6/tqZM0R\n7AFiUbV9MV60Maa3nJkTpTml5540dFVW3iRoYOcUD4PEJoH8DeXt2/UDFfwW\nbSGIJ9rOKivVx9wsmxaTouKqS2hTk/0ZsGSCVjU8XbwS+iv/12UeLGQ8ATmO\nYzAlz4DmCVgQJNgGI97q7AST7p0ym/W3yFS1EVVRZBCHyyneuxA+Xx+aqDjd\nWLmmWWvp0C7S2qw1cjYFGLec1ofaDdo3k8grY4VYoVstDGEZUKDt51mtlGnz\nRg76iytSpWb/APNzYlRAM7TDPCluXGNVephR6zUFRjC758ZrK7te/p5unzZj\nDKAjGSu2DpUpKlm1DQM4BEo9IpKi2fB89QOCT1S2dXflPkMipWUZ6MqOYvmo\nTQKg\r\n=koHT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCXkWJO98eslm7n3FXFYsyQJpUSC7UBzPCtlmDCCcORQwIgAeqWJNiVzxTMUL8OXcFRNC7qLht4uWjlL3XqekOFmF0="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.429.6.fa25be4_1583094232674_0.7379486645276068"},"_hasShrinkwrap":false},"0.0.0-pr.429.7.504fd3b":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.429.7.504fd3b","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.1","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.429.7.504fd3b","dist":{"shasum":"9a6e5e2a9944f292b0326de7c2bf976e99d12c3a","integrity":"sha512-EqSkBDlOZEG2XHZewBDoN8BWrrpd5yvHKzaTXyk9fsoMoBIFAMokVmevIrcZWpzv48wCeCB4hmPV0Gr0c0vP0g==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.429.7.504fd3b.tgz","fileCount":385,"unpackedSize":800141,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXB20CRA9TVsSAnZWagAAM2wP/jqzO+h8KqyvgGpLD0Ad\nXThOmCnv+b3pXjaqosuGLHIYryR0lcD2KwtiuRmihFzRM+Yb64G+UDZJwskM\nFLtqoGIkvZMTEffmV/OOzoFw7XmPakegUV8k0d4BbpuS6ldJMh1NYnEz1ERm\nc66oTNabZTUGubMblQkcnQ4R93v9g9hYg/CkdkbKpIhiQhP8f19QOBLnEtxI\nAgW+i3ns6sr1DvsVHRYyQx3iuKCtvonZowoAGBmPKa4af/cJBhKVgrEpQXEO\nLqhlQkmCWwXDCTqkyoDm9UkJF5rXLqXP2f+7v8MtZLNiFWTOpOrXUV235AlO\nxV57eYBc5ldO1Vn3BZCSK41ZBMfEA03X8QsWkGz5BxhLmiBsxVzaPWHKeHqT\nOqaOAHY0lbZqTX2tETPq0mzDuyN2HfkXlCQUi34es1OYnd6kBrURzs44V0S0\nKYTGU/oiG6avQuRlgLgdAqupk/SzbET+FF9LHb0vQ0EVMT1IRJceD4RM8PDv\nI3GpM0OORu6L1GNxBwGnhgca0IkZ/XtFiS1zkxGZpB/Vk2vH6aiTtCpA4Jgy\np/PG078/4Xdn26i/ENwQjVQI/IOOqhkYhQucc9TAVqtyS2N6iuCnZ5K2ocRq\nOj6HBqfR8ZHPw1ASd8ZqqxjJzWoF37MpSIHs1eql/nn8O2tZ9zvLG7WNRhWz\n73my\r\n=iWIh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC2W9pdQrsRekZeWZayPmEvXQv3FpHfWQYPc8eazhE34QIgBgMRnVB8vtB6FwhmnijmR2xFXfbgrWYPtFrb/qBEcgQ="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.429.7.504fd3b_1583095219731_0.26869227402461693"},"_hasShrinkwrap":false},"0.10.0-next.7":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.10.0-next.7","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.1","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.10.0-next.7","dist":{"shasum":"7bc4dee4f2b1ab03db533b3b8266ffce230868ec","integrity":"sha512-J0q0Dh3HlsG21Ez/IJvKbg5WMkqTUkRmbTTfQL5z6QrF2Y4FAps1A0+LyHz53pG/cvCKKfmag22++4tHhC7SQg==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.10.0-next.7.tgz","fileCount":385,"unpackedSize":800132,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXB9OCRA9TVsSAnZWagAAuwkQAJy/hx5EPjoYJoPbW9/D\nul2x/RFQuZobpcTyyGN6OudbuQ6gqMOqEPdEuVM7xccN/ePmj7hfiZ6GnMtU\nRERaYrr3bfiQqaUvA3HLIBfVo/qzIyjwggeYE2LhqN72TPYMjm+h6b+FJ7Lj\n00dQjpMHvAhDmDp5/Wyj/2jMgqDgh+poqbpqbEgBdM9JgI0aCQ7M6eME4NTd\nd1mwOfO5GyybzyKpFJHVBG+eeYZsUOqjPt+ylEGEroD2Caces4Oogv/5ZZOh\n5KhSEjQPFeqvmsqMkIELEtJk/x/xPWP/5Zc/3vqlbn2Xrp2oZjv7HHyflJJb\nzEuOjsPFDl8e7j8gsFBLfhu8cdQOV626lQGOU9smp0bf2NM3XhTkLJycj+94\nhDTUaw3PqmP7Dn4cp3hxd3Rx8BOp5Efk+w1guROOQ+hvp+bfU5cbTRsNv+y8\nC0xD3coh8ZWPOgwJbmgP2i1+tbkR6+q8ZGTMjYpc9SArDqqHPj5ovZT3nywm\nDF0k2v1qQMFvU9U781svsk7mluPgFVixnRaTmyATMzP+1+eVYZVosz8nwQ0W\n1xyBZoai/dz6MX5DEZbwGjcK+NrnDr2zkEH6pUV6ztHn1yoTqGnf7sIOcvTJ\naAzOIItck3UMP14rpsvfCpc/4464A+3sKKQX1y7PwDm/X3w97eDW7qYbXVPp\nC9T+\r\n=0eUq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICTg8rXF31JUK5wBlnlZN1ZEN+ah+QsEPHqHHBrolcZbAiBwGBvFGAatoKdrSqGArrLzEibmA5IrJ0JOWx2w2fCfcA=="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.10.0-next.7_1583095629679_0.7266344662734316"},"_hasShrinkwrap":false},"0.10.0-next.8":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.10.0-next.8","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.1","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.10.0-next.8","dist":{"shasum":"2075e194f672f92b41c1216061a7724c76d896b9","integrity":"sha512-8Yf0iDjZyWa+/2Ci1kciZCtbJ04AjYOLzK72Ol0iycDbAvE8h6jNNIHW09h9hik+IuCpRK5waTsWNDTwuUqeEA==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.10.0-next.8.tgz","fileCount":385,"unpackedSize":800132,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXCXBCRA9TVsSAnZWagAAbNAP/A/XU00ogtElqCSc/jnG\nJ1s1+i+o6VEHIrtGeaNeT4rm5OCEOdmQU3roLIQZ8ivSwFeJZj7np2RkESBB\ndj89P9HN/wNk81x1o3jfaanStXpqshMFT4sWWWxUnfbWeCGkfCCvssBHt+1P\nZpyds9lX9OdMrXna3syQucvygR4zBqVwbMyqep2ub0v8tBDmhjQe1pm2OJdn\ncjRWjZ4ycHBXtcQfhbk9N0ixH6Comp2Ux+qNz8zWSmfW4eBoaGbFYyukvym8\nVg96QCxB/KL/+DtIJS/fvfaANQR+kbUR+oxuA8RKSm0ZU2ybZudduSKCYRaF\nTpdfSut4US94zK6ddo3qT4ATS3zDlAGvsoJvJhBU/+z96bHOGnKfOqWE88Yq\nlwT1ZqUk8+9sxR+u9djn/qhNlBO6O+w9CRFmRTeIBQstt7vZ+WE5+kCQ47yh\n+A1N2gYyYrpOn80xsonHO0urMYsB0KXdruMXTwA1XB9LI2eLMdwGhLSYWOrX\nMv8Fod59+OpoMdHyoe21ENV7/KmnYbv+s2JEs2QaaTsuSTc7zvGzr5hNQR8m\n85DIHg7xwZDzTBXDeJpsrnOVDl5Dd9XmKDpUh3szxCkjJREIUgv2cIPyaMgs\nqaQv9wzo/mUwLMkrO2ayu/861xTTUMwvkbgvVDOOU1Ja7F47mX91lNUHqqIX\nfiva\r\n=m4vD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICdcEWzffijUPnoEq0IowmG3ETDtApo1TrXlr+Gj3XhSAiBFECBOmmudqYFTE4uT47HdEvte7NdB0I0u1eHLW+IwAg=="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.10.0-next.8_1583097280447_0.7546264198949364"},"_hasShrinkwrap":false},"0.0.0-pr.430.1.30291d4":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.430.1.30291d4","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.1","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.430.1.30291d4","dist":{"shasum":"d519b8261d905b413f2ede54536fb833834b69e0","integrity":"sha512-PqY4jcFSutzQNlg5fkDvSlu3RcF3tyatuZWQh9dooYXrBvBh8RDl+RD+RGWhOr8olqe+zJsv7Q8yjXS2zyQkYw==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.430.1.30291d4.tgz","fileCount":385,"unpackedSize":800141,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXGepCRA9TVsSAnZWagAAJ4AP+wZA/UhQltTwDTBhE78K\n+RouVPS/kjxBc1yBlJqymyNnuY2eLFzAG7FItHHCYTyi1ySuf9w9uby6U5ta\nD7YrzLeKmivPzrbvQSCBoczUEF0zPN/BhD9efpTEKmqSCltqiwwZ9A4tcD9j\nCfuPBlu01e6Ivn9J+VwhClA4gRxRRx/1jwwIsPyCFjWv7wvjZsKCuiNe65Dc\nKClLHpbmpOa93ghtG8Mcmh68enGqGKSkNKHlBFNXKwFgpRlj0wRq9kFVM1Zw\nxx+9tXELM4Zu+8eRjB/W9UiId2ZqWIGtUWcFToU/VumclVTIKlGwnsIhfNFb\nKNf4qdSb7+nTqlcPog5fhyDwN9XdiZQ/Jja7cNfx+uhNg1mTr6OKNuFZdhGj\n+9D1JvJM263yQ0KdghkKMRbp5qRIBRPzTDe/Reimyt6OSLiWqbOu7wGx+jbK\n8YmnLQ7cRdKHg8JAd1zUDaSvRrUA46KvSA8uWYvIwO6Y7hEVXLS2XM1sGOGl\ntGEviWCq3oFZk5tyM2jgDxMJzd/CoHIOr8WECfxz3VU4Qa8gRGDMtxVYZTK/\nAJwFkZGllWmYQqhWULU3fPppPy+yAcG32enCQN3zPxL8zuIsOn6I4BAIYo1z\nfnkkn6fI/2mD60P5t5Zi+uomPfGmdYw97sX1j2fqFG+qhn+KK5rNbL7m+Ln3\nQk15\r\n=8817\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDGx7DjCdc75y7f/sZTlDMDe7tzp58hcXGLgKaTYhvJGAiEA8F2OQRe60po7c7ov6qID53Ssq6x3Oh9WJTVY0LdsKUw="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.430.1.30291d4_1583114153330_0.6072254792038145"},"_hasShrinkwrap":false},"0.0.0-pr.430.2.160d349":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.430.2.160d349","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.1","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.430.2.160d349","dist":{"shasum":"4f97342877c34d0557d36e8ec6fd4e19df509bf6","integrity":"sha512-2InfwseEitGTVwuZvxobBCu/03/mhctfu+Ib5jVtwoIXmnQROcA4SssJAEdEfQQ9fnIRxwp/7YQhbF+uns/hog==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.430.2.160d349.tgz","fileCount":385,"unpackedSize":800141,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXGk0CRA9TVsSAnZWagAAh/8P/3SL28YHivRebwGfoyw8\n83WuYO6BDXBQithXzRQbsMvMNKFFqJVldnNhXRuKv3rf5p0zEG0wIZEK7m90\nBzsH9mtXj/gWfDSyUcH03htHF1TtZW7hHmV7Jn5TXk2tY9N+636tXjESQgqZ\nGSGelQ/JTxvsUn66Oe6f11LM158CstUFs4IHhQQjO8Z7ECatnYco7ltikXUd\nUSuY/nPPmcIWbZtgF61TpJzFtPiS3y5nN7TWDBBsPYl6+AIYj7smdAoQ9x4l\nZYMfnPqXfLakgifB0jVKIEfIYhkJIBuuQYusCAVw7csfoZvHfq7CEcErUTt0\n+QVdUHv1qBP+nloTrm9yKrCXdAF7Kd5x08q220b5kYYutP8y/9XzYJaAO7sW\n8WGJtNylxtYbuzFZxAC2x4VqVq2OUxgPIP8ay9I4VfkQwlwt/1LmL3bqnM/N\nOZIi6UoQswJgJhp6P/Ri0bpmYA6goSxQqoGn6PuR8w3cB3ctW3dqCApGpTB3\nudivTjiBaOXTJsOIjCTN5dJBLqGBbDIjCuvrW0QA7QyPtzoDl3tH/Z2UsrXr\n4uZ0CRtizZhRgvy+uGOUoqmSNLG8vpOIbJ3xgBSHXJR3BaPrYD5kHxkMRwom\nfB8ApxWPJDGS+f/D83GgHkChlI1uX09+rPPafW6Gjx68CZk9nO7lYgeLSqdf\ncC9y\r\n=+f4w\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB6O1XyqMDqcJ5G79Pavyjqg437nt+AuBTQ3hSsnroizAiEAn6GcJhX0klCDMCn3qcCcvNEfsjlzvYxi1EZ0AJmwScI="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.430.2.160d349_1583114547928_0.09417068186856592"},"_hasShrinkwrap":false},"0.0.0-pr.430.3.7841fa1":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.430.3.7841fa1","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.1","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.430.3.7841fa1","dist":{"shasum":"e9d72e36708104ff1e177467f6f0b27aeaa8a80d","integrity":"sha512-fs2fm4+mEn2znCJUvgcakfqt130EhfyuQIfv2ZNoYaVmWS84WGljdq3TZk4sYua4P6D4Y2YJgAfEk+7ZmwLfUw==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.430.3.7841fa1.tgz","fileCount":385,"unpackedSize":800141,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXGzqCRA9TVsSAnZWagAA/gEQAJqYlr0I9LQjUhPFJYMV\nMQuFQnTxm+sJmuWjnGMiPtTJk++e1MdnPU/TMqW1qUbPB7IAIjoolmeXgHE5\nNCR1k76x8zq0uVSa+Up4Eq+QyjmQlftYwUMtx7BUF71WeFP6zFVnziDNK6h7\npKnmXrKFnfHVffPd7XzeD2pZD6XIdHyPeIa6xHBKBnDxjRiCDR1VwWtlDo2E\nh6mN9fhyv08bLlbH0FN4+Apg8rMFaApyBrf5Dd2PsPmAkqv9jlLNxN+0zfBf\nvcHfGZ+xwa6cHYvmro9xYe3AHqEMd+ZAs/uG4TcFQN5JyXSC9osqdWxbrDRw\nPwTxp6DVCa8KoU2DxrdUEEoowsVJz4Fyzf1tqtEq8ZsAYpheFolCCcNbnmz7\nqPtmYPQ2ydmiylR2zgn7jhC2QCe77oxZ5/h+gCKKAVUMAxqRMzT7epYL2wDf\nornXdmYAD56kN+xYIVaSko/MCXoVaD79oNXdYihTAIphf1gjm8vcvrUzAPtm\n4iZJ3HIY7fisu3kgdBS72g3S2O/jyx1D9aIrVAjecsBIJ4KOFlnGQ0c8iTrY\nIggJRauLYSeFa5g2LrKf+zixZmQxpGm8DGpULe9T0Vrn13F7LGnewkvAP4PA\nIm1VZnqNW7vj6R9RorjSsW+xgyYxTjPxBvMXKLk7EriJcXoKps9U7uIc8uP7\nD2jW\r\n=4RoM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCP0vSw105SC4+Q60zFJ9b7XVsaRW47gBgEO5onl/eBtQIgP3T97asYUgnnm0/8cnaOHJ7lrh1y/wFaHtlHKmp45vY="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.430.3.7841fa1_1583115497975_0.8647432595887592"},"_hasShrinkwrap":false},"0.0.0-pr.430.4.0555e87":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.430.4.0555e87","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.1","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.430.4.0555e87","dist":{"shasum":"37b4ac85ae12720fbe630ece1fe717edae5d54ed","integrity":"sha512-Ut+xDWOGUESM9dwj5qshhbT4J6pEjDLCKfklAYBOenW+vD2HfP9YxLGnFfqz066fcrF4NxSqMnWY0eMpbdltNA==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.430.4.0555e87.tgz","fileCount":385,"unpackedSize":800141,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXG6oCRA9TVsSAnZWagAA0eIP/0ll7wXdPVftDpMYbebO\nkKBkCmZAskFidLwNGf9Q5FwSSdnBr12fnCnbyq+BTSAaUn+HVE9Gy/24CIcd\neslOkSRGS6AU/OEbV4jaQpSjjKxJHTa50CIUauQchqm5h7AvQe/8/uuk0RqB\nP0WFouaFOzF2Ste+osl2F1HRWSX/EB071sb93W0Cu3fGX5WJHuRVEf2Yj2Lc\nwpFCd4t4JJgdPZEEhPw7CNCkKObhyJ+SBhE9Lhq5OpEcu4mM8pDhcVKwwKiq\nmI5MW1y+F2fJ2ptU/iLaeJ7TzbqLarXFRbkplBjfGmLyzCvjGZoBEQJmzR/6\njhS4WQ860ghrIhZvm7R19qU/KcH/0+yTY2L5+VdZYqY7NH5A18ZDzmOWxek/\n9iBA+QjX5r0HPxIXuN0cASi2Y86S0/6mtDic91JKXinkc3czn9Fy7qm1NP3l\noHTLrus+o2ffk3G+jSCthpQi76HnXLOXr+ppnof9rdzPiVOilHklzRNPpxD8\nVPpnLcJ1etmG2TbLFaLUg7OLjCapSjDwmkbk9YzJT4xVG5NfdZQPZW2uFTeE\nVHATAVBOXoVgGXXSQ6TJ5hqvUeB6+U4eeTbxUemiu+/GGVF1BHlBUVs23yX3\nJzlbaVMau1+0O9qgvY/Wa05e54pBNTOEuT+m2wqmCvz58E0pqGCvkrP88h3v\nr/em\r\n=pKgz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDw/NniUZXXOs1ZCN2YALdMaIDoxyPc40OmE1nIMgXnXAIhAPRq2dMAO1zU1Y7mxMAl0JGWR/iW1fnnlFj8eooQdoMK"}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.430.4.0555e87_1583115944396_0.5810536193905673"},"_hasShrinkwrap":false},"0.0.0-pr.430.5.02dcd2f":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.430.5.02dcd2f","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.1","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.430.5.02dcd2f","dist":{"shasum":"3b612fbb5873bd24d58ea1be7ad37c09f3609650","integrity":"sha512-cxsKtzrw7XlJdg/a82z1RgJlOFlVQ+YzW5lCnlN7ss4UVZe4hmh0V55gZp/QFwdsv5NJBgh3ql2Uh1kSDJS72Q==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.430.5.02dcd2f.tgz","fileCount":385,"unpackedSize":800141,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXHD7CRA9TVsSAnZWagAAJUIP/25YP0cuXrmmxv9LIDQY\ncdZVlVc9bExE+v/Z57XyYZzdwoht+21v3U8QneLw2aSzBG15uSv+aDEev7jT\nA9gD8XunrcxwxWZyde1KXyp9TPhqadmRXEbblJ6e4wr6sLbp6WLpk91nTZYo\n73X+BEeAGSXyu4KNof81KdDkC+nmcxwgsr4qTzk02aM+SUPW+dqc3e6h2CS8\nN1q0hpuHx9Zca2USwf2bA07vTnNVfDLdAJNaFYJb0rm9BizPyrGh8cbw6+EK\nNvgA4BTG/jbALLOoH04mrjDTLT2spAtlxpnp++lzkEBQF07XQ5UsbBDBHNOA\n/BUMRmALm+xya1132hL861LBIL0FxhAg2q0N/zM0BSK/P6ArL5fZiQ+apvb3\nQeHd+1Fn7w8iJs4/Xrl/JwP3qXEEe8vBZRtDLqHq/Fvlw39X8L+erYNWa6FX\nIp2o4Hw9F32picu5g2kuL9uoyBglykhuqtV7j9p58qQGyVvKjGbwsmqgglzs\nrgrsqGakLcXeSkXxhHgetcHEV2i4nalic6qo7OUMO5UsNUrz9DOUB07Sa/PR\nTU42/yFYR9/cQ99bkcyFU1207pwkpPsqjgjKbE70RZjlPJgJPsx80rutpxhF\n+qPf1WPO+S/4eIrSr5EDvpABWGZMiRPw6gGnaJuNDfbDvWuY6RKpH3ogf/v0\nu8RQ\r\n=gKp2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCSHI7t+Em2qZ7yEbmy7ZIohuqVUEnRa6a/gXYyVBrmOgIhAJ4Bn9ue2peMr37q/+zq5TcfF3TLaL+/6vdXDexNd94e"}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.430.5.02dcd2f_1583116538585_0.5403262065887964"},"_hasShrinkwrap":false},"0.0.0-pr.430.6.e6c9884":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.430.6.e6c9884","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.1","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.430.6.e6c9884","dist":{"shasum":"42b25b21eb4617e2785efdd9f5d7459a00095492","integrity":"sha512-GRDLmeHiD6Ww8bLi7S6DYde95kwe7aro6XJnXB1fZgTTVL6GRHZaxM2y0yLcIJbvMIUtHCjeyy/EmN2BGy8NHQ==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.430.6.e6c9884.tgz","fileCount":385,"unpackedSize":800141,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXHH1CRA9TVsSAnZWagAAFOkP+gIKpcmQRgYa/yzDalrM\nz89nepZrFEI/m1U2LBn/eWLrN+SifvHF9uxxwuLGy2xrfnza7B7FD8apcFGg\n25Gw4d66j3hXNRRQzfGvAgcYAWdAiUb/a2xoVH/Kx/PBAp8Q9JqQj1JltOVb\nVLPipAukN1QYQhVDqccAWvwXAVlARpwKER0z9k86cddjcXrbeYm+DLvmeUMx\n5Ar2n4dQOFR8R5AQ3MW4AcqHO7nNifFIwTDDpktepXJ5kRkuEvQ7GiiCZ0yp\njoHYuEJ8y/p8EgzrdU4UZb36i9/gANDc2C8hPM2KU5cWw1r5FTJ0T7KvUoYm\nXWvf7vDx9KClIGmFoHLxS84fIP3bnDlR9sMKluDS98H+oXrNUHO0S53LLdOi\nwaiu0WH1Vdkr6blXFdE/VKiULb/BkNP02fMVqKWeUaMSHfCyseFID/ewMtR7\ns/s4aMwh22uKykCeKKcTkVFYHBBYO3pX8N9nNWjc0Aa6lEIDmw5JE3i0tqGU\nIG3Iw+VyDKyGX0dJde6RuYYX52PNQSK5KXgCMrX27/2Z7oDfjjyzET4WsDeM\nHyvZxCkaX7sDWSKvy92phgUU/ZWYN1jqk/Q/ftC1WEbsALHiqoa8aZSD0Aox\nmiZeja1oEPVI+jWESNA1Wgi5+Eemxh2RrM9n9f595Ju1csdmGinieVRMUoLR\nHNtV\r\n=cw/u\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC2m1ApYiuZ5EdzeMjwygo8ODpVmeUYeO2GdyTJ4LOvoAiEA3q4Y3uP2ejXLQ2jAB1zA+pu6gYEHCq6gW0E4TwJG+kk="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.430.6.e6c9884_1583116789472_0.7010378378340778"},"_hasShrinkwrap":false},"0.0.0-pr.430.7.7f83551":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.430.7.7f83551","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.1","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.430.7.7f83551","dist":{"shasum":"6194d617da27045881b9e7bd5b84c97c3d1b1bdf","integrity":"sha512-mKqMEBxvVfcDHzBpwmJLLk+67IA2dDghs5BEC+fc7/bVu8RzFijI9FD7FZL95a8GQ46dkAEZ+2/9vYzFjTBpoQ==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.430.7.7f83551.tgz","fileCount":385,"unpackedSize":800141,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXHNvCRA9TVsSAnZWagAAddAP/RoqZJQkXWe4Ep+hiWLG\nAGCls7K+Zz3zvpP8hTtkQQArziH8DsWD0Gw4t+wdhyV8N6CQiH32Xx8bBXEZ\nyNshvA761LoNko37kvYiWL22OsWJbfW78zzwQG+3ydfYKLsxdampFvoOmBmJ\nq+E4Tm3rNXeLTXcSRezLdc0UE9nCjnylmQXUSazxlAzzg3yNEWy3gvG7vUNX\nxuOOB2FiJRQaS+9JtvmjWmApO+gAShLwTIUm4WBHy+fRrDjuuWG0crvlvLLH\nMm1VkI8yO4USGNVYh4efZKDABFDUM90N5cCORgWyYkaOqm2i327OyTSwLuoB\ni2DpAflsQ+ieppd5/VTDMSk6YS2MMEhrA65h5JXDUi7PcNHwjUPjalQWLX0j\n8iumgzrzbrTzPQjIhl7Buy1FhlfyllF/9hJnzCnnDPRY9R53nK8Ub7eUXAdw\nQe0uHEdf+BkLhXykBseu7qRMcHppFBkVyRTKjiSIlVrqbqEVQv4jXricZkNe\nSSOxT92MrwzJIweHctR99GerYSClE7vaC6+HROwLzXy6+di3YDJOZAD/P5xJ\nvqPWvy0Led3gQd4DyEUZx241kmgaCstKS+6+r6suiPjxLHoNvMRR2nq5Hn0r\ni02R9Qj1g44N07PjomI+IZU13EPKvL2Myd8sDUokQSanO+xeQsbKcCkm4X91\nSx8b\r\n=cP41\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFL2VoGvtK7TzRi9Mh7ORjuqSgk5zrrgzpCm8pNW4VKPAiAahDdAHYnijOUqVl2LktnM7orZGxLCdUGOVSBRFrO0Dg=="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.430.7.7f83551_1583117166509_0.438062542258012"},"_hasShrinkwrap":false},"0.0.0-pr.430.8.f218617":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.430.8.f218617","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.1","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.430.8.f218617","dist":{"shasum":"d4444e1318d91a11d30ba3c93261a84e86120439","integrity":"sha512-aH0k3jwFc9TRFi+GzVqfY496lMdVXAid2jph+0fGPOuKHPJCUny/MWc0rOTbX58KYmnK9iWL7tiVDJEAy6ZD9w==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.430.8.f218617.tgz","fileCount":385,"unpackedSize":800141,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXHV7CRA9TVsSAnZWagAA6fcP/Rq+ZzhwoUbWdIkiJxj2\nEQNQ20vMyMioO2Pm4EP2BTfPo15FoktJ/66HvXwDh472oI5G6hBTFuTv9oAy\nHTYCjFWlnF9g/xNX7zZqTXZ/VakFGvJmUIBsWoAEwgnHNdPzZPeHrSoP2n/l\naDypIr4jx8+Mhn76YoKSqVWXyzMa/eBk6Rqj891NU2ZtHUI6PRukfc0VZA1D\no1YPAvrCR571dN8D1uRb7RIIJFWNk1pJLQ0PHddqUVydDQgPR6372ueNgIc6\nW0oCQIYnl/qfePUnBHRPQlDZH9xvSw/Unu6o3/o6GlbHPPl7JaCiNXUfdl4p\ne2cF1LOe3dMOpfdNaAXq1Wl6uGZu1qcRuc2PgOvgVa2/Rp/TQiZfrKykLcXr\nJkDc3XX0HEdO6LQLsRhcT+Et5roM+GQY4TNawKljfa99mRInZvGFHwRK7WrT\nhXkSvgnsRRCW4wLq3F0/xablNjQIikVpQCCVbADhbQSxobW4qB02UM+w5kjp\ncrtAgR0cywZYN7AIB/hJ8q3wXaVXBHebncLPm0hpoTZEUuMogVuvmqY3OLBf\n2JlT2/ip/7zQodmmo/ms1qaLtLu5uwTL9cJ7Fa5TDmF/wcOgbiLJHjys/DFH\n9j7gpXSISzMEXeUwk0y1pTCJg9W3I/xT0T8z3gW2oqShgallUw33r9cyMOa6\n2twu\r\n=eMtc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGiT2ZFzoom+JcdyEgBAbNARn1uV1q1pFKDBJpsnRpJwAiEAkcS56iNEfLmt+AVUgFWbcqfrvE5DyGdKATP61l/s0C0="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.430.8.f218617_1583117690483_0.9543704101440198"},"_hasShrinkwrap":false},"0.0.0-pr.430.9.4dc2fcd":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.430.9.4dc2fcd","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.1","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.430.9.4dc2fcd","dist":{"shasum":"7de8d8f728dac90de7af506d72534a603e90ff30","integrity":"sha512-6KnplCgZicLBF/ylyQgYngie7NL7ckXgpQc3bN6ll/BOWZiqAc6DWzaamiybih5JdJ7Iv8Wlg89LVq1YGXQH8Q==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.430.9.4dc2fcd.tgz","fileCount":385,"unpackedSize":800141,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXHaeCRA9TVsSAnZWagAAqoEP/2Ptkdb63e0I/cqOxS26\nbAmNegChK3MDTNqCdA5WuIusB/+R4xgCEqSU/mBH2EuOH94hP8bx7wHykK7S\ns1v1DQ3IotAlTkub/WgmmvwaqvVuinXhkouvNuBnJMxLer1x7wSr3xeW7Oep\niA1E0EmQ5/ZU4v3nrHIx0c82YW5uaDlZifkVzumYlUtQiLXc3ZZaEg2GEHOB\n5kT+HH/LReVp7DcV4vP8AzRQp6FlT8Av0Rky/b2Ken+z/nLNz41FQGXL4xla\n6OUjeG5xrB3bNf/dGDTPD+tAgr/hOa0IGEUVms10mikhISPcVVbx4Bowtyb+\nvT/qhBXIKPBPPK0TkncoYEONwZK8RqCTgNtxtk9xelRNmZ7D5bqGqvAzXmUT\n5u2cYjdYYhpcEjvtNTjzUWOZ+5naSGTB1oy+VTLwhD2bzZekAP2oGKsYTsfA\neMMJmriqjjaF8mLWCeNXP50X2Ji6dFBkusRVllcAUnvkO9pLMkTCmSckyjTZ\ntPUCyx1tP2j/L4fYWrd/kSobY7sfHH9LT7RvVIL/ASDyCqE+9JYCBrs8UODG\nbTrwJnkwOi0SG13Xccl0KnV3RoEHRrizzG7S6iMBU3+LrUETrM6m6try6EAJ\nzVHDZZPlQUHToGW4iGpLEYMJVBvxZwINXxs6tHGvBnQwy2rrR0jqrE8oB+BB\nsZTJ\r\n=vdnR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBkpjOKLkHc36/KNyoL9dHbKfu/o4PLYZnaWBkE5p2noAiAxnv+IUKQvgFCgqCm9IS86Y4e0u+n4/BqBb8DIAF2d7g=="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.430.9.4dc2fcd_1583117981895_0.21670264986157584"},"_hasShrinkwrap":false},"0.0.0-pr.430.10.7e4022d":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.430.10.7e4022d","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.1","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.430.10.7e4022d","dist":{"shasum":"285c9eb9b8e7991a471682cd73f5c98c5099ad0d","integrity":"sha512-ZEmAcfTb6EPaX1n8GzgX2kEvs+yjlIn8vxqDO9rVbMGu0df8JA6MHBFbnd5qd+TFQMKzoR6v0L8E3AgUMxIK3g==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.430.10.7e4022d.tgz","fileCount":385,"unpackedSize":800142,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXHfKCRA9TVsSAnZWagAAIuoP/08Va446gMgveiI0eDBC\nQaGSxb0j5e7Us8lWRxRFEz1CH6wtP73g3g5+OTJCZDea3G2Csf6wGuQpgPjL\nBHcO1mOntlyF/JxH82xXLSZ8/aTVlciZiXxoojgPArmNJMuYnZEXY981ilvu\nfbaHBSpDpuUnjUt7VShCNksBruxYgJFiq5poNhiNx36IQRwqvcbDcVmSedDa\nH9ds7ZhhlyltelRoltJVIL93uHZxgzFvTneqjwrMzGW3l1Hh/n22KWmpiS2p\nNADzlIVAl93ww+0B11Bag8DTHcveD7Rxp+GeF2eDztWwZomWWSJ8VHQtjA9B\nr0uaucO4K6Sks3k2v0cFd8wy1Nf1kQyZstTHQaAEI7YS7CzYdCW53UZkoam3\nz7y9IipdoDWnuhtQVq47joR1iCW+Mhv/QuHJXeNoUXLTLXzlBQWPtw9siqP5\nRKBKc8U9C6kYh62x5omfEG63JzXA2LBP53gpL8+rtwrOU7WMNkDNvustZp8d\nxciu/EGLR/PABWcp3UwI8p2Yb9FsR/9Y1TIyFapHBigCoMs/28mSlVXHzqno\nGJn1QjTysiCfvGVtSf1wapzO4+2Ab7S68LTRw5zacjHGRCCPIVQVIQIs9qns\nxss05puQlAG9YwH+pX3R5B9Ut6+0a+BaiLIJlWRyV0VoumDAGxUZCMX5kbuT\nvhko\r\n=wHV7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDePAiyAy1beZgOU0E59spoTgMmaSOGvrUbKSNotxAz4QIhAIS4lGCtEFHe0PBZAHydC1WRDWhCqrDN+QkfLkPg+rtm"}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.430.10.7e4022d_1583118281687_0.9944439231657518"},"_hasShrinkwrap":false},"0.0.0-pr.430.11.fc8f7e6":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.430.11.fc8f7e6","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.1","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.430.11.fc8f7e6","dist":{"shasum":"2c9363fe9611fbec6a0c8aea7b724fd143a708e4","integrity":"sha512-Nzaz/hv1eT8U5dmpdDT/ax+KlbPBhF10MLG3d+YITAXrwcQDD8KM/n2LekoPvX6/U3uqKzx6ibpcKwm7qbcyqw==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.430.11.fc8f7e6.tgz","fileCount":385,"unpackedSize":800142,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXHkUCRA9TVsSAnZWagAA1pUQAIrAq1yTztg8Bu98ZzX8\nenpinETz8wno8a3mRUEoTFfT9qx95ny1IosmtwJOBeGkscQvAnMDpyS7E4HD\nuxOUxXLu8pXwcP81ZQV8te2u9vDVceIP38GOhtQIciEWL9aVDYnN5HeeOU0v\naS/9DIaEoCRTDnt6A8QY49ILpSzS8//pdXJBqv5GIrC2WyMe1vG7k+6aZwh+\nW3utzrR+CMoXVIJwcMheAHE2BA7QdWvVl25Cnihs8hLLHAokUKPI2OXpJ8QO\n4V2AboH2aFhpKvVP/iwY+PX5ksabv7Q2e6R2AEM6GaIShhXL4RacAJ669w8b\no94H1Gc2IhAARz1JKGhWPAXSRhuJc21yVWin2mKJuviaB17vQBBLgxR+KRSV\nWXSVnKzEdlDeK4ScZrmDkrTqdivs6qVJrICBtp80mYGu9Q7ov6CeqHcqfGXY\ny11spoSvqlBWUG+O/9zQsgdCarK9ar4qNrHa31O8y/ogxdqriA3M011dA0P1\nx6krj6h6Sn4K0GBWvJxRlvcRdFcaGg3UdmejbT9xQ6q2jk4N5CNAK6ua7jxe\nzabppnMUfMjlhYYPO1im2tFm1455X91jpznkG7LSKENb2FNwnmPwee3Pm6n8\nuZJ4Sh2C2UEVmw3l58OUnrHyl6r9yvp8k+qojHC/8mZueI8tE4oA1O091xor\ndF0G\r\n=bBwN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBWUTcLUYGnAs+cWD3j6+hfGmFv1meddImbgvVnxAETHAiAN5/whdxYzgiY9MnOcRVc9Y1N8+992OjGrjDztFUsDAw=="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.430.11.fc8f7e6_1583118611777_0.10156866761955796"},"_hasShrinkwrap":false},"0.0.0-pr.430.12.c20992f":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.430.12.c20992f","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.1","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.430.12.c20992f","dist":{"shasum":"c1c4758882d69fd017f41b30e8e412a86474d3ae","integrity":"sha512-h6mLZ9sX3KRtPtvKaEaZi1MAl4hSHOWmhVSEUQK2NIcN6AYzvnn3vV4EohBTNMTzwjbx1gDt3ZuHA81ES9YsZg==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.430.12.c20992f.tgz","fileCount":385,"unpackedSize":800142,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXHn2CRA9TVsSAnZWagAAysEQAJu/4P/ikcXu7UMQOe9P\neM0dajx09Fo6gbarW8AOtRbZc02cryknXKREVIWpdfK4o2yg9ThmNYk4P6LM\nSC5H7pO8ghSxUoT9dRhC6BI+9KiIjnITA0vuavi7RySSX2gsPUuQolv830XE\nFov5rK65XCRn2Cf8k7X2djtIUCyXCOVEKx2T8qdQ7wVQv+Znrcdnij3FpCag\niijMDFiD3Q2q//SJ21J+hWBi9Yo0Bnflo9YbyMeb/enKPoNPeS4N1MSnzt+C\nZ+tM/cJfGpVG57A9yE5HxvsH7/yaR7j2Way2LCIKx7Wb4Msi5HPiFRbJ3MVH\n6uJdIcaAl9AgyXdfdLYIkI49IunCAqR8ttQkeprwX4raE1TdZqTegkrGUycI\ndvQ1Uh/ARDHTbxrez91WK5tOQH4/AyZ7ZEHUrIGEV7jprtGUT9kj/dqpe86F\nVmgHjn5PY80ZlXyo5cYfqosUemdHM8Zyi0WROkeRYE9c+dhQpYM7q6mUJDeU\nQamnbBSvfjkQB/mPoB0lspIBDFcWI1NT3BuYiptvlXJPdtoJ4SrxBIcFqFCm\nW6s9yJhVB/9amGGQ2bOqdLBIYZSi3E73sFnBWw50tQylUGmVFRcZd/RA+B7V\ninv7o/4yelyyPT8836dIZUyc9BKjYDI9NrD8uGmiRlDNNm0bkj2juci7Fz93\nZaxy\r\n=wZ4/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDeFTHZg4h/871+j5oPeqMycwOFIOOPU/Krha6Xd1vL+QIgF8We4ZZlZUw4OaOff+8rI502EEESJTQuxExiTFs5078="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.430.12.c20992f_1583118838287_0.46175286304960617"},"_hasShrinkwrap":false},"0.0.0-pr.430.13.c66087c":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.430.13.c66087c","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.1","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.430.13.c66087c","dist":{"shasum":"384a793efe63d9a59cbd5d69e099935f0b576738","integrity":"sha512-cVlVwu/7BEZTvHfayjiEv9ey1r3ncmurXTTSe2U0D3ijCK9VwEj/vlvfGsf9mTHFHKQWWinkl2Qp7iWuyobGmA==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.430.13.c66087c.tgz","fileCount":385,"unpackedSize":800142,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXH0nCRA9TVsSAnZWagAApToQAJkfCLyiAx2GSWWSuEXY\nQU0GNsdWmsbSkaGMV7HPLwmX6G/tKX3C8/rvDASoG3iSZMWyhoe+x3dbAwJ8\nc5zx6q6/YZXCOIyJuCnLh5IUEmYH3aD09UZMXEnlh/29e5HnWdgtFVQUTcRD\ns6bhKBhZkF+r/VjpOhjx8RHjVtqnXYA3wMbds7PpdqjrUSG7Jur+C92xNaKS\nWdT6klepAvqncxyDVNdeaVU5clc6jFTVhoQ3qy9xW0kYuw+Fb2Osc3MTsp0g\nHJQMGzNmEOm0w7AN1OG1ow2BTd0Y7SmFEPT09mL7U0FW6YP0P9KYlkIGmK03\n0v9B78EoX32FXpDUFY4wlkqzC48Ha6i2xvIFzAW3FVykZoFZzS89AYghyyYd\nZ33soczrijgixD6IHqdUbOdBa8iM5+8+qjRifN1qy/MIOBfnCeePT/O8uHkM\nIJUVrF0mt8IRu+d+ekkDZVFau7sYFxdj06TnSQ3jb01TG3PJfW5bOWgn2t6I\nhhVzsVLWX9buHGNfNoyHmXOQvOHN2xbAthjOtnbfsj9a8IT6Bvjfj7u0Y3+2\neegvxjC2ShotL6Eh+3+BESkUWqeSwjHfd+kSOXd269coge0QPvH0DS0Jd5Rt\ncoH6JCIvLUm2JuWryNwmTrngc1Q5qHgmDHnYwG0rzuysW91DuvqTj3wOMjnm\nRTRI\r\n=/eSt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID1R9nYUIkYsriHwWs9a/Yu+PF4py5dIC6MBRFDwhiNWAiEAvGjK/kgRicx0aLjZurRgQ/HamxXf7TwYpJmlaputvs8="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.430.13.c66087c_1583119654921_0.9995715796988827"},"_hasShrinkwrap":false},"0.0.0-pr.430.14.9f94e3b":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.430.14.9f94e3b","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.1","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.430.14.9f94e3b","dist":{"shasum":"1cd4273b6e5935718a35f8ba20842c54c253bbff","integrity":"sha512-hMNwUUklSnDdkmIKl9YMhzuf/Du8BytQq5Xj0dzxtOJXlmq6tdRojYvZQpEbPnqorBXDsXiKaZs95C2GKalwmQ==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.430.14.9f94e3b.tgz","fileCount":385,"unpackedSize":800142,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXH4gCRA9TVsSAnZWagAA0KAP/0hMsdwaT/w0mx15QevG\n7D/4tXiWtmBK1F0DS7ajgsjDwPSdpcBkneIS/tDBb/Gwyac4g7decJfWk5Xf\nE4DNtUaQEzCRaB1I/GISALyndouR7v27ks5R/XVejnjNWjP1p6z0NlrjVQR3\nX+N/shb55tyNURAUYBxFlMFQ4GzmrhWC09G77xXmdlgC/GxXX3OfOGT+XCkh\n6QmsfmO86xb4iS/yPmI2/rfVdjdYja1BOYDAQKTSew6tID1Do+iaRBUpE88G\nAGdu1vV9Jjm7P59xWtSjcKRvkatI/xNgna89QJ1m/119Ch8KxovFHwEGIpOT\nL7/VGY9pAA0JeV6vKu2sK2AtXHcChqslJpiVoWXLR9HvFPqJj6bDlAHRYVwC\nJ9sqA+RAQXZwGhwM81sYrgHoEP604Ef/BnP1Cco3Rkjm1W+XWTZ0Ebqcbfoa\n4caHhtNaKyHnwPKdyt9Cx1gvIU9UbzdB+QCB7l4AFffx8bKxFj47UeOOjIQH\nRw/wumXNppLw5mQs2zi7H/BExaMVI8iybHJ2PIBpFj6HE1RUwBck64Qg0tK/\nq/P8y7LPL3N5f/qzgyBbgnwjf77vzFjTmAwi+e8cyrQAuZARyiGCGMLvjhRO\njwdJqzqNDHLLOeIhtXgBrVkuXl/4LCgIWMSHKCWisMnkqM2pIPzwq78ZitIK\n8mcI\r\n=Wll6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC7gZKnhuQ1yVaZEcBZhV9OAKZhGmMlYqmMB94M4NKbtAIhAKsSX6K31N1l74jKFkwX3CJ4De7AzaRSAPGIpjUXMpw9"}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.430.14.9f94e3b_1583119904171_0.4453950344026878"},"_hasShrinkwrap":false},"0.10.0-next.9":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.10.0-next.9","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.1","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.10.0-next.9","dist":{"shasum":"bbc64e3386f83374b6215a323818e278fe657598","integrity":"sha512-BW5SSVkbyNESqtlV5rEMGNcRQXGYuJfxBd1a/mWpNJvbnzUKCyl8PQeMOJpYLaQgbC5fKa5eExtAQj2rMKeaIg==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.10.0-next.9.tgz","fileCount":385,"unpackedSize":800132,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXH7/CRA9TVsSAnZWagAAjR4P/RCfkphKhz5Ub5EeCbxT\nD9DT4cWGfSpmucOhoMbtXmV4rNlEF/ewZAhA6VSijok+U1rp036RooknWYHf\nasaOaLjeGSUxYUHjVT7Ue8KSFKQ+7tOCHdEcs17gwGJDJ9vyX+fWElLIV+5G\nTwi+8j9c/HhGVR+xzAQx/wFzaNqU8w1+NpDCvsQ9NBm7WfPVohJEjT4eQJ8V\nPOj/U2oCRznmmgILJnCZ8PKhE/dOecrPFDpwhcPxZNdFX8LJliPEsbSwytHU\nzLjWt4Y4D3ueVxOU5FhKN128NX7l45DoD3eIdXLIWAns8QYkA49iKPIMWlqI\nND1g9i3G3UAtdY1mYTANwz+DczG8liajFzE1jpr3XBloAyFyJiXtJ2lfXyw9\nxh36GRa95BwXYjM5lxuxsJVi223/EGDYXt6YDgTb9l8QWivffk75zLAECJIF\nmPiy1Xwk5c3bLQR4ReUfO0YcEPsPpbUCepXnp34rtYO/AD2eqYqWusRgAUEf\nmdoU2K52gCKiPJ0xJU0KG3G4D0wtpvzqPsIvtU55NBzH/mF3nk2bYLFyapoR\nOsQh5PlKWJW4D/f4PMEGgXKxQB8cAT7snNyUJKQVY/dPDNvXZaKtpTvlaiTm\n398OjKBEqBIJaVs5vizqanXTlOY8vJrFKivGL+IJR3hip7NVRI1BQbDn7fw3\n1amN\r\n=ICwj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEZbkZSa6l3NnV1fuT1pAkYBbLuTO6+WO+7tUX7kxuMZAiBXqAVMG6kXGY7lVWTbrAytkzh01I2OM4Qln+J42aUoXA=="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.10.0-next.9_1583120127266_0.515291665275931"},"_hasShrinkwrap":false},"0.10.0-next.10":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.10.0-next.10","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.1","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.10.0-next.10","dist":{"shasum":"aa032e42bc923c7f9fd34916f6ec9bda2748ff63","integrity":"sha512-rcbEBNGRnzxpUCctaApzEli9pw/5alFAsogh2/0p2vVljTe7yeSyNvi0FdQfpLU23WVZ3giKlVC9LWjB3nrOYA==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.10.0-next.10.tgz","fileCount":385,"unpackedSize":800133,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXIN/CRA9TVsSAnZWagAA20UP/RUX4tfJmTuJiqQ+x/1a\nXfJ6dvw2f+o4PQUVNy+n0WpOt92dT3nFqMsIjveazKsqLd6l9lLOggGP3iL+\nsxO4YgmW1t0IXWnPjjKwkLAWzsImg7+cOEMizzD5wT/NB6vMdUThft16rOIZ\n/zX/jWRNwxeWNJSN/WVzruhtHRcrxdhSwU/1z/9gHDnlQ4xJPFwjNQX0IUKh\nA/+7YzCDgPuXs9kuEyvuofPcoHE4cVdKr8swwVWyPVgXL8ihc1YIFtjThqKy\nxjrUVb+DakkvZAptSeX1PzjLDqa/ZDj5NunhwaviAneHd5MbjSUWxeDV3rza\nR0CWYus0YtMEofVOCJ+TY/QZ9+XsV/7m3pFi0eJsJR4OnfntUnhK67hED2JM\n1bMM7Q3OwyLi+/aChsJZxam3xYa5xrsFmIYUFAiRs0yWvRCmLlaagGjogNqK\nNSXbGvwACBvWeF80gl06PbCfB1XlEmRu8IvOCX9fvqlyYKjb5j9ZZ972SmRb\n7KYT6cboFY2/CL+tJWgkyANtjFwZeLfp9pKCl881JwWMVYJrTE2leXOfKomF\nxcDpUm83I9KXhqfikqo0CY9Fr9hK4JWl+trl+Nve6LZIIvnUrQdPC1j5v0U5\nUcPl+L9i5piUmHz1k2L/Z0YmqolybwF0KGXwq/+eN/92adegtlXl1Xo7OuCu\nKLxF\r\n=p6L0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDK30/f4RnzpHYNKjoMa9PX5rqeeqleE/luClDC2x5plwIgXb7V3ucZVP7mJ4sEiNgz89Ha+ikgtCGLOg1xuG8PLCY="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.10.0-next.10_1583121278977_0.6340034302373292"},"_hasShrinkwrap":false},"0.10.0-next.11":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.10.0-next.11","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.1","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","test:system":"jest --verbose --testTimeout 60000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### System\n\n```\nyarn test:system\n```\n\n- Live under `/test/system`\n\n- Almost like E2E but they work with the local package code (whereas E2E would work with an actually published package).\n\n- These are useful because they provide many of the functional checks of E2E with a lower barrier to running, namely needing a published package. For example pull-requests made by community members cannot trigger E2E tests because that would require publishing and GitHub actions has no way for [PRs from forks to access secrets](https://github.community/t5/GitHub-Actions/Allow-secrets-to-be-shared-with-trusted-Actions/td-p/34278).\n\n- You must run `yarn build` right before running these tests.\n\n- These tests run by having the local package installed via folder-reference into the test project. This disables package hoisting. This in turn [breaks typegen](https://github.com/graphql-nexus/nexus-future/issues/432) because its import of `@nexus/schema` will be unresolvable (it looks for `node_modules/@nexus/schema` but actually needs to look at `node_modules/nexus-future/node_modules/@nexus/schema`). The system tests encode a solution to this. You should only have to think about this when actually devloping the system tests.\n\nThe solution to this problem is an env hook exposed by `nexus-future` called `NEXUS_TYPEGEN_NEXUS_SCHEMA_IMPORT_PATH`. when set it will cause the typegen file `node_modules/@types/nexus-typegen/index.d.ts` to have the import from-value rewritten to whatever the env var value is. This env hook lives inside the typegen component but is leveraged by the system tests suite.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test/e2e`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.10.0-next.11","dist":{"shasum":"20721d9c33493083a563ceca32d681683480c834","integrity":"sha512-3ADXdE1F0/BsO4Mg3taFhCx4N5qttzXJzPl5L4rSHcsbwMYzw3uUz1TZvca0r8hxQTrNoGrql6/s5QvB4y6Gkg==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.10.0-next.11.tgz","fileCount":390,"unpackedSize":807475,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXW4xCRA9TVsSAnZWagAATSQQAI3LcwUj7odgLsUAyguj\nDPFvsRwQnA8vnTa5/y5ol65ZCKRqi4uoiT5utgiiiV4usbWBK1FcEg/tGBY9\nfxYDTwm0+5zjCSVC2pX0FpxuwWlSzmbcgjiijCxodPrIOofjm+ivtwXblL0/\nklg3PjmIxoFhK9eTVDVJ1WrBuFt9Lh9Oep0ts0sg/lZix0YPiMsn+nafnF97\nHf0aVH1cHhfcnKDBl+t+SjfoFVQ3s7edrlBMCnhcB6dTwTJauP+TjXZBde1D\nxu14shOLtfb0zQeABrjlrNwp45XVXljLnNSP+qrO39BZxKVXMiCSZycOqDmg\nqLaJII6kphrPf0Pa+BIfdI6eYm4HMlwi63o6dvMjj0TW1q53Qq0vgxUpf9LE\njK+vtPGs2+g9EITKIK2BNdx6lJRMAWtjjWTqMLYyD/Wkw09ygbNVx4I3m6UB\nQkG6PuNTnb9yxbihGWTBnD8zkEibccng/ieNvOFcuhbCp4BAh82TbEXzGYrM\n4KUb9K3eRktvvrrIpbgAn8nKfc3kc6loTQDFhz9CnYgzbB+FPzwEOxKBkKWC\n+R198Izp5U42N1c9odcA68wxNQ2CyYdBPfoi75h+TA+E7ai09QBkAu20zDa0\nwKMTgbLA49uRbMLafXF4MxR0XJqZZWqtg//XGuR6Xbd7N4rRSktdD/i45+Hs\nV7zu\r\n=cj/f\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGtpnc8XFjO8Z+34pFoGIvw1zJFaP4BqskOKyilDFF6/AiB6mjyYNj2caJUU0Scs53CYPai+OwXITrGPlsnlPNkNrw=="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.10.0-next.11_1583181360913_0.5700796692176422"},"_hasShrinkwrap":false},"0.10.0-next.12":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.10.0-next.12","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.1","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","test:system":"jest --verbose --testTimeout 60000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### System\n\n```\nyarn test:system\n```\n\n- Live under `/test/system`\n\n- Almost like E2E but they work with the local package code (whereas E2E would work with an actually published package).\n\n- These are useful because they provide many of the functional checks of E2E with a lower barrier to running, namely needing a published package. For example pull-requests made by community members cannot trigger E2E tests because that would require publishing and GitHub actions has no way for [PRs from forks to access secrets](https://github.community/t5/GitHub-Actions/Allow-secrets-to-be-shared-with-trusted-Actions/td-p/34278).\n\n- You must run `yarn build` right before running these tests.\n\n- These tests run by having the local package installed via folder-reference into the test project. This disables package hoisting. This in turn [breaks typegen](https://github.com/graphql-nexus/nexus-future/issues/432) because its import of `@nexus/schema` will be unresolvable (it looks for `node_modules/@nexus/schema` but actually needs to look at `node_modules/nexus-future/node_modules/@nexus/schema`). The system tests encode a solution to this. You should only have to think about this when actually devloping the system tests.\n\nThe solution to this problem is an env hook exposed by `nexus-future` called `NEXUS_TYPEGEN_NEXUS_SCHEMA_IMPORT_PATH`. when set it will cause the typegen file `node_modules/@types/nexus-typegen/index.d.ts` to have the import from-value rewritten to whatever the env var value is. This env hook lives inside the typegen component but is leveraged by the system tests suite.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test/e2e`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.10.0-next.12","dist":{"shasum":"10d2f8d72c530f780968284856d2ea1997666449","integrity":"sha512-xIII17p+J2rSwpPbiBE5hdxuaS94cCoLe9A2EhzFA4d/MBbA6WbifIJEHXVX+21NRakscUgEtGg1JsSs+bK2AA==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.10.0-next.12.tgz","fileCount":394,"unpackedSize":813371,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXcOICRA9TVsSAnZWagAA8jYQAKC4HoWlrJCcm/YptAgO\nw6tOkafwzO1XjhsOWW8scmUbQckJhyHQOSpeZ25CIlQF2siCZr6nIhe7vn2d\nhBjJ3e2K/ETd8LClm5Xmy0LZ0Cpy+MkIztgOCUFfrM3Uww05EQEeS8rBaL2c\nWUNp8xt6b0zaVVGKCxeuPIaPxBHev07REsoLxQ8jGfB9RvsSVXQ5aG0zUJ7x\noyISHBq8j9DHvZ+csuFhE7xGVUsoAyrwrLR41IPtkr2VIu078nkB8Eh2Th1F\nW5wblwHTo0y/QgPJwIeM0Tk5dXIRGlp6oRF8a9rrZoxyZgzqFwfAhqTvvtUW\nAnXstBE5lM2Q3yJhsQT+mMSjK1cvfEgG6SSJnTp7BY6W0o9sI7mdtntLhOel\nTYNXEiBE/jY7y2dxK2OMs/TksLCRHN0/PAM8CVQoLzl2DFsgs/b4pM1DRCeU\nXgw9JXZ23lrqlqr1TAJ/8JUJtnLCGS9Yw2pvw2qKXlNN9XjYGURBYynSsLIt\nvGwPgBaApwh8PWxICRGhsO+3/88Wys8tDONMZcjyW4ELRzgw2xpxIiuWUimO\nE+TQ78JqtgUKXAcBntQHlNRnU+Qcgjjc/bVx36k7vBuAmDbJnEeFiVlFDCj9\nXitNsj9zToKTOepFVx5k8ENgSIN+LQZsiQcyvSL56H4Ej0h1rOwNr0tf3UoG\nTjuh\r\n=Fcax\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHLQEXRo9/HOivYONRzbkKGSO/dfcWka9J+Dyxbu7n2nAiBWPBvCqxqYG8eQMfr3FBpeY3FphZo/NWJZ9ZhprynNZg=="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.10.0-next.12_1583203208000_0.2130555542728494"},"_hasShrinkwrap":false},"0.10.0-next.13":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.10.0-next.13","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.7.1","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","test:system":"jest --verbose --testTimeout 60000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### System\n\n```\nyarn test:system\n```\n\n- Live under `/test/system`\n\n- Almost like E2E but they work with the local package code (whereas E2E would work with an actually published package).\n\n- These are useful because they provide many of the functional checks of E2E with a lower barrier to running, namely needing a published package. For example pull-requests made by community members cannot trigger E2E tests because that would require publishing and GitHub actions has no way for [PRs from forks to access secrets](https://github.community/t5/GitHub-Actions/Allow-secrets-to-be-shared-with-trusted-Actions/td-p/34278).\n\n- You must run `yarn build` right before running these tests.\n\n- These tests run by having the local package installed via folder-reference into the test project. This disables package hoisting. This in turn [breaks typegen](https://github.com/graphql-nexus/nexus-future/issues/432) because its import of `@nexus/schema` will be unresolvable (it looks for `node_modules/@nexus/schema` but actually needs to look at `node_modules/nexus-future/node_modules/@nexus/schema`). The system tests encode a solution to this. You should only have to think about this when actually devloping the system tests.\n\nThe solution to this problem is an env hook exposed by `nexus-future` called `NEXUS_TYPEGEN_NEXUS_SCHEMA_IMPORT_PATH`. when set it will cause the typegen file `node_modules/@types/nexus-typegen/index.d.ts` to have the import from-value rewritten to whatever the env var value is. This env hook lives inside the typegen component but is leveraged by the system tests suite.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test/e2e`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.10.0-next.13","dist":{"shasum":"35019899ad41aa3e47ed5046024c20b86631d306","integrity":"sha512-gY4BQgqZCvVNQNwClLuE/KtOlGNO0PfkJxSyoFRqGVI36IkueU1hHp7ZueLA+EiO+RLPW+cQIAOwPvmUDkzOrg==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.10.0-next.13.tgz","fileCount":394,"unpackedSize":813016,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXi9uCRA9TVsSAnZWagAASIoP+QG2+EVbYlUAvHnTAnwQ\nZHqYNcGIEiR4iSjhPfOidV1vpRJjOftutOJenlpa3pabsDNjDlSWd6tEyUpT\nQq/Lm2mL9qwJAwVvU71iL9me69XLhq0VMvkLWBJEVZrxFjI9w03msga0YEwh\nCAFQcyNdMlMoJ36hd8v5sZmNzy926MAAc5vntHDg0mVRN4BgrTBK2UpH+H9H\nktna4uF7Q7ZBuAvMLOzR/5s6oCDg+I8ucsxW0klD7l/1DcwbVamIpGRZncd0\nCKf2D6Y8PinVZ1fE6LdgSqUd7LAsTgRWcSAdUEFFQIlwsf91Zto789AbXjnM\nRuJ2X5A3fiBmuJ80pCeLyagCTCwfCYg2uGujtXN3Zo3Eqg+vmlpgDRlrxVbD\nKoryNhubx18jy6KO+0TrVnxXAKtkDZuYy4bZN9Yubh2ArU2BpObyOQZs43mR\nP4NiWWWWb3SG4DpNkCWnrGQqtsO2sVugCmEbX12gKl4WWVg6vF11S3qyapWv\n1nf/JEfJZKEdmotQ9FJsJWfvIk1RAGgXLIr/5CF763Wwez7qSvf1qGHgCc5f\nokm1001nauG2WLiWJA4ps8b+n1TJAxNsJdZOnfKrzOI1/cdvHLp4P+mtiN5p\nYODYZ1DFfVLyhcgdO+H82C1tHkF3d2M8XkujuzU8/HcqGlEjNfXBEid8xfrE\nbfxw\r\n=AqgD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA9of8dy32ukqVU7EO+RUtcHmUnzsi8Gv3wJE4VFUxAsAiEAjutsHZvPwD1vYOsqhvagoqOupTrkin9CA2VhKPujY2Q="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.10.0-next.13_1583230829624_0.32684685955649373"},"_hasShrinkwrap":false},"0.10.0-next.14":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.10.0-next.14","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.2","@types/lodash":"4.14.149","@types/node":"13.7.0","doctoc":"1.4.0","dripip":"^0.0.0-pr.53.2.4b5805e","husky":"4.2.1","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.0","type-fest":"0.10.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","test:system":"jest --verbose --testTimeout 60000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### System\n\n```\nyarn test:system\n```\n\n- Live under `/test/system`\n\n- Almost like E2E but they work with the local package code (whereas E2E would work with an actually published package).\n\n- These are useful because they provide many of the functional checks of E2E with a lower barrier to running, namely needing a published package. For example pull-requests made by community members cannot trigger E2E tests because that would require publishing and GitHub actions has no way for [PRs from forks to access secrets](https://github.community/t5/GitHub-Actions/Allow-secrets-to-be-shared-with-trusted-Actions/td-p/34278).\n\n- You must run `yarn build` right before running these tests.\n\n- These tests run by having the local package installed via folder-reference into the test project. This disables package hoisting. This in turn [breaks typegen](https://github.com/graphql-nexus/nexus-future/issues/432) because its import of `@nexus/schema` will be unresolvable (it looks for `node_modules/@nexus/schema` but actually needs to look at `node_modules/nexus-future/node_modules/@nexus/schema`). The system tests encode a solution to this. You should only have to think about this when actually devloping the system tests.\n\nThe solution to this problem is an env hook exposed by `nexus-future` called `NEXUS_TYPEGEN_NEXUS_SCHEMA_IMPORT_PATH`. when set it will cause the typegen file `node_modules/@types/nexus-typegen/index.d.ts` to have the import from-value rewritten to whatever the env var value is. This env hook lives inside the typegen component but is leveraged by the system tests suite.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test/e2e`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.10.0-next.14","dist":{"shasum":"3eb5d7722bd847f1400f1b297e258d10297a73f3","integrity":"sha512-G+JsWPM3h1YC9aopQHXKWCq9XsjLA/s/2PMmpQ2UBr1F+1o4WWYij7GJ1ZZHKjLS9Nc9WEwfn7PoH1IwBhsUMw==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.10.0-next.14.tgz","fileCount":403,"unpackedSize":815701,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXr0GCRA9TVsSAnZWagAAW1sQAIoa916acxDwFAeZz4IM\nkzLNeRTLH2MPIyFiZaVgBTn1v+D8GKlVH8cj2wYRIbAAwyGRPVbURytMOxa1\nUe7LB5iem92WgGWPvvUpvjenERN/ukTt+wanietHN+E5vICZCXUzW+YApPZJ\n8bDKKI6AJgm/1clCt4vSnPS+9B5tJHZuPSaQyGz6XF8Ph7SkYBp8O0WJcOg4\nQiEHm/n8nHxaJC1rPrnk5j4S1ovgexZVEmzl2bMDWcomes/KjpO/hdc8EB+X\n7tSKXdN6pqrO7ekOPKbBxTxsYl7zm59YDjGNm81+8XUyu2NTmND9/5p2ewxb\nUWuE0ygDRRVCn/V8WjyrK4aslzc+WKkPo9bL9iPgJOnNtkw+Y1oBHg407m6U\n8I7yF33b0x26zTy4ZeK/guKAOXP6HlK3ha86c74gcRbmeEGCocQzYRsnGvcc\nwg58nh5ATM9ZTetT32gZABaMKvjynZ2s72BTW6UD3VCnqWbtR6ry0HypJFrd\nxzbsJX7WtDsiUgeCegthfWSdipqZL9aHGt06Sz2A00GWA4VFB45uzNqqBYnq\nO5oTE1PxfsAzg5UF692gyOc9lvSc7Z7V90OetpB1R3JXugKJlBORNrsfO3pn\nmTqskAOkXTbHfW3AaXvWkLtRhwmZYvSr+wZW+Igr06RBagIWaodMIycZa6Gp\nBrTE\r\n=4DWS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCAuCo+kMIrQ6m2/cdZiCWajaefngDrOfBIGY1fZXG9sgIhAOf4lDa7eBfRNhD6nI61JcXgEEq7/ehNPytsvnEqGyJd"}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.10.0-next.14_1583267078129_0.4741945582617404"},"_hasShrinkwrap":false},"0.10.0-next.15":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.10.0-next.15","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","test:system":"jest --verbose --testTimeout 60000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### System\n\n```\nyarn test:system\n```\n\n- Live under `/test/system`\n\n- Almost like E2E but they work with the local package code (whereas E2E would work with an actually published package).\n\n- These are useful because they provide many of the functional checks of E2E with a lower barrier to running, namely needing a published package. For example pull-requests made by community members cannot trigger E2E tests because that would require publishing and GitHub actions has no way for [PRs from forks to access secrets](https://github.community/t5/GitHub-Actions/Allow-secrets-to-be-shared-with-trusted-Actions/td-p/34278).\n\n- You must run `yarn build` right before running these tests.\n\n- These tests run by having the local package installed via folder-reference into the test project. This disables package hoisting. This in turn [breaks typegen](https://github.com/graphql-nexus/nexus-future/issues/432) because its import of `@nexus/schema` will be unresolvable (it looks for `node_modules/@nexus/schema` but actually needs to look at `node_modules/nexus-future/node_modules/@nexus/schema`). The system tests encode a solution to this. You should only have to think about this when actually devloping the system tests.\n\nThe solution to this problem is an env hook exposed by `nexus-future` called `NEXUS_TYPEGEN_NEXUS_SCHEMA_IMPORT_PATH`. when set it will cause the typegen file `node_modules/@types/nexus-typegen/index.d.ts` to have the import from-value rewritten to whatever the env var value is. This env hook lives inside the typegen component but is leveraged by the system tests suite.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test/e2e`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.10.0-next.15","dist":{"shasum":"0a7ad5cf9d0a81cdbed1aa975de2f226d8743caa","integrity":"sha512-eFs02ZTZ568hy4D4knhwnn/zoyh9irisDbDn1+ocKrgGJsWVorR4RufsnBZYMQ1mKp99DXQDMZYsFBkZo1TsTg==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.10.0-next.15.tgz","fileCount":403,"unpackedSize":814739,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXsAkCRA9TVsSAnZWagAA1k0P/jEpGQSYDxv6WgbK36sw\nUkoL73fqY0nmUW1ka8goNG/jovuZZupA4pTF2E/4HE0cOHGS3jLeSMM3AOnM\n7ysYW3fiatwC1iGJXbB3LEObucMQvh3O3YgkX5buQcZWtFr2MB9Q930L+L9V\n61O/HIXhnWm/uqcz35SqhNWp9DPmWXwtCJhqIN/nsULiHjiRob+N7yzbMM7W\nzExhXVGkMLvHD9mKZO2LuUo/bs51HVdGAhepII7jZA8XshlLUBWftjY2o76Q\nmrZcb06bXPyxrK7qr1OgWfLi/MK1MnX+hY5H503qF05HS+2o9KbqW+I+O5Zw\n5QE40yXtk1HwaY29c2HV+V4+72cLLav+nzSWHAx0TPmsCjLFmPXJDoBY2zJg\nCINejynXP9f59goS8DjXZWOeXrDy4boksR0D6QH46ok5gooqJ+tOfOs/uMlf\niE8/jxT0PSS3nNVU3PGUI9ShJM6Mw9bh1jgmH4uX9xloYkus4XRxR3oAaYN9\nZH0Ha/etoGvNvXwP43euexGOS0uB4TMDJNu/JXG7xmKGDMwckcfDN16szGw/\nACFttbTuBYipEIgbtQiJJtT2Vg9QNeMFtpgsAZLTUNCoINQQyTW8lsxmhHBM\ns4bcllB6ixB/FlIU1LhUawe/l9FOqjhWPnZJuynWgRKqRN5cdNjSbMkSJ0sS\nYao8\r\n=XmOC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD0YlZwt+Iaq9Ujj0NxRughav6n8tdQBUNUqz/HQKk0+gIgH5l1wLxgM8Wb/XDuQ6EdRlcYe8d2/VfdoKqdrIiuigs="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.10.0-next.15_1583267876345_0.6876239372219639"},"_hasShrinkwrap":false},"0.0.0-pr.436.1.2582639":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.436.1.2582639","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","ts-morph":"^7.0.0","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","test:system":"jest --verbose --testTimeout 60000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### System\n\n```\nyarn test:system\n```\n\n- Live under `/test/system`\n\n- Almost like E2E but they work with the local package code (whereas E2E would work with an actually published package).\n\n- These are useful because they provide many of the functional checks of E2E with a lower barrier to running, namely needing a published package. For example pull-requests made by community members cannot trigger E2E tests because that would require publishing and GitHub actions has no way for [PRs from forks to access secrets](https://github.community/t5/GitHub-Actions/Allow-secrets-to-be-shared-with-trusted-Actions/td-p/34278).\n\n- You must run `yarn build` right before running these tests.\n\n- These tests run by having the local package installed via folder-reference into the test project. This disables package hoisting. This in turn [breaks typegen](https://github.com/graphql-nexus/nexus-future/issues/432) because its import of `@nexus/schema` will be unresolvable (it looks for `node_modules/@nexus/schema` but actually needs to look at `node_modules/nexus-future/node_modules/@nexus/schema`). The system tests encode a solution to this. You should only have to think about this when actually devloping the system tests.\n\nThe solution to this problem is an env hook exposed by `nexus-future` called `NEXUS_TYPEGEN_NEXUS_SCHEMA_IMPORT_PATH`. when set it will cause the typegen file `node_modules/@types/nexus-typegen/index.d.ts` to have the import from-value rewritten to whatever the env var value is. This env hook lives inside the typegen component but is leveraged by the system tests suite.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test/e2e`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.436.1.2582639","dist":{"shasum":"0a663f90772d91fa35e592118cabed591993737d","integrity":"sha512-ifP5mYU8bvDkyAnizBgKTG/wfW21lKPf5YXej4tGKA8kvLDdvSwS2ujgl0wQfKi6RCE3UNQihjnPXqqHjlev9g==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.436.1.2582639.tgz","fileCount":416,"unpackedSize":824602,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXxozCRA9TVsSAnZWagAAeVoP/iNZlYEWQasCwkJ56+Ai\n6OTTNdSJWtDzq4eep5o8dXqDhjA23GnzHSJ0KNQhLO5rSXxhM56U1Cm+rJgB\nVg0Et3hlUWxyDd0l8psFDt/Vq4E3F5+ixHZQzbp5/eAcRMC6XMAGtazLSqKl\nYX6vHFZV1VxAfXt+ZCBNDt1IsKtZCrPgD3XbGImaxERKFRsmnidt10akmFdz\n/2WIt+LzZ2/fXrjbtUR+/ruoFw5FSLRCydk/SYNpl4Xa6qOuX4+HeAiDFIhP\n6S/Pt7y8DsbjIOt/QdXe3prPJ5THy7QsQtDaf32IG3xF80YB2PhVW+wnjx5k\nSAauwIFY6BUnRDEDCHrRAAbNzdp7eGj9pF9RbngHvoF0TDDpK1wCaDaQRGYV\nZyfpj1QlTVMTozsAJVaiQCQryY1ksbdWld/18FBc8rJif6/Ae9Aocd93lR1k\nHoaKw+urhm4foD352JKjRUAQ7JCqR+rxKnaLxMLrEQjgeLHInU4vyno3aiBz\nJWcpo56CIHTLS1PkQdIU08LZZ47qipj3FJ05EpVMs+SQTLrG26UFWcD6dF8G\nh6nw/XldM+7EcxBk2+nvkLcbwXd6wcF8k9tYhTeTE/elChlbWOZ/k/UnAjd1\nI/AGoRJ8/4YqYg0PpEiQBXaK7RsBkVyUdeXLu2UE0PjpCiZrIOHta6Yyqvv2\nAGw8\r\n=P3qZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCKC8pAKmztkkr/auiiPPBZMemDUvslk9znsjmXDzIL1QIhALURFjANnPu3AS8R/pDZR5MTNWuAsSGGVTGiFjreGU9x"}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.436.1.2582639_1583290930534_0.4953149533970249"},"_hasShrinkwrap":false},"0.10.0-next.16":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.10.0-next.16","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","ts-morph":"^7.0.0","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"node --experimental-worker node_modules/.bin/jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","test:system":"jest --verbose --testTimeout 60000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### System\n\n```\nyarn test:system\n```\n\n- Live under `/test/system`\n\n- Almost like E2E but they work with the local package code (whereas E2E would work with an actually published package).\n\n- These are useful because they provide many of the functional checks of E2E with a lower barrier to running, namely needing a published package. For example pull-requests made by community members cannot trigger E2E tests because that would require publishing and GitHub actions has no way for [PRs from forks to access secrets](https://github.community/t5/GitHub-Actions/Allow-secrets-to-be-shared-with-trusted-Actions/td-p/34278).\n\n- You must run `yarn build` right before running these tests.\n\n- These tests run by having the local package installed via folder-reference into the test project. This disables package hoisting. This in turn [breaks typegen](https://github.com/graphql-nexus/nexus-future/issues/432) because its import of `@nexus/schema` will be unresolvable (it looks for `node_modules/@nexus/schema` but actually needs to look at `node_modules/nexus-future/node_modules/@nexus/schema`). The system tests encode a solution to this. You should only have to think about this when actually devloping the system tests.\n\nThe solution to this problem is an env hook exposed by `nexus-future` called `NEXUS_TYPEGEN_NEXUS_SCHEMA_IMPORT_PATH`. when set it will cause the typegen file `node_modules/@types/nexus-typegen/index.d.ts` to have the import from-value rewritten to whatever the env var value is. This env hook lives inside the typegen component but is leveraged by the system tests suite.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test/e2e`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n\n### Hacks\n\n#### Shebang / TS use strict / experimental-worker mess\n\n- We use workers to speed up extraction of context type from user's app\n- These are experimental in Node 10.x and thus require flag `--experimental-worker`\n- We support Node 10.x\n- Node only allows opting in via cli flag (e.g. no config file being read optionally)\n- Nexus is a node CLI and has a shebang so os knows to use Node to interpret the contents\n- It is not possible to pass flags to node here\n- Except with a weird [shebang hack](https://unix.stackexchange.com/questions/65235/universal-node-js-shebang)\n- The shebang hack is broken by the output of `use strict` by TS strict mode\n\n  Needs to be:\n\n  ```\n  #!/bin/sh\n  ':' //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n  Actually:\n\n  ```\n  #!/bin/sh\n  \"use strict\"\n  ':' //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n- So we use `noImplicitUseStrict` option to remove it from our emit\n- This fails because `strict` adds `alwaysStrict` and that is incompatible with `noImplicitUseStrict`\n- So we explor `strict` into all its parts except the one we want to remove, `alwaysStrict`\n- sigh\n","description":"https://nexusjs.org","_id":"nexus-future@0.10.0-next.16","dist":{"shasum":"8afab883f539889353f725af7955262b3251c384","integrity":"sha512-tDxawSpB75H3h6q2KXq7TlfEhIayCaDLgwewluInEy357r1cv7fw83YhfYdm7oVTrP0gKpkJ2/RJ2wuAqmowBA==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.10.0-next.16.tgz","fileCount":416,"unpackedSize":824475,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXytTCRA9TVsSAnZWagAAW7EP/i8n/arcVvWIwbulcELS\nvM6sLbPphsiebMZiQTuz+YOqrN62LPj3eobps1y4A6yg9Wb2Bo/zkPb90dPa\ns5PeaqeejxdU2UOmjilPP9P/6YJpxuFB5j78/v6KJaOPV03d0Sox7zkJeMKW\nB5cTWiVQU8N5dNYuPNZflpBNg93m1NrCq8ZytbeVB2zvKnMBpcTvlAirGlLp\nDz9U6/BMa5mVnQPDx+aO+3yS15e84NV4J5A/1hDcotL8A/Lo5A16I6/uX1rX\nwBajggLIYYXceHz+LuAei24FZGvsHrOVcTBmQLc6LRNmxtZnK6d9jtQ2BqT8\nPgAh4T0o7x2bOg0TjrhgTzfpccAMP4Gzs7yrX12XFvCoC7pGgtC9T8DNYTPB\n9oOJBbbulBhhxazcO/O8VSt4pw60tRZ8z0BftXWRpZ5wMAGZ34Cd09GJHVlk\nbfZHVVuf5f+igVHRZDjfxOGHQc3hlQVLSgpOZA9BuKa3CBgplPyl6NeKdykE\nsH/I3MtxTBgpWoJaV/M9kg8eHLTZxZKqP+/cIbt+M+kg/lb0y1mPLr9r0PK9\nqEtQ1n6OLQxz9X0Adq6/OkCNnBxAZ3jtABaMhVVOG4651UKI0uTlZsSA85kg\nf8wEWKfD2q5YHKJQ9QHxGHa7bZQUX8V8/ETccluLEzO6BkNbE9NbaNirCppD\nTsjv\r\n=0Qcq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDDcyYn/ZUbqmDQjFSQzPWUqjSNjavYLW/hdHNEo6FU8AIgDBD6v86Gy8HDHbkm7HAs9AYIYieuEGKXljDcatm82Qk="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.10.0-next.16_1583295315096_0.7313385022479513"},"_hasShrinkwrap":false},"0.10.0-next.17":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.10.0-next.17","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","ts-morph":"^7.0.0","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"node --experimental-worker node_modules/.bin/jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","test:system":"jest --verbose --testTimeout 60000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### System\n\n```\nyarn test:system\n```\n\n- Live under `/test/system`\n\n- Almost like E2E but they work with the local package code (whereas E2E would work with an actually published package).\n\n- These are useful because they provide many of the functional checks of E2E with a lower barrier to running, namely needing a published package. For example pull-requests made by community members cannot trigger E2E tests because that would require publishing and GitHub actions has no way for [PRs from forks to access secrets](https://github.community/t5/GitHub-Actions/Allow-secrets-to-be-shared-with-trusted-Actions/td-p/34278).\n\n- You must run `yarn build` right before running these tests.\n\n- These tests run by having the local package installed via folder-reference into the test project. This disables package hoisting. This in turn [breaks typegen](https://github.com/graphql-nexus/nexus-future/issues/432) because its import of `@nexus/schema` will be unresolvable (it looks for `node_modules/@nexus/schema` but actually needs to look at `node_modules/nexus-future/node_modules/@nexus/schema`). The system tests encode a solution to this. You should only have to think about this when actually devloping the system tests.\n\nThe solution to this problem is an env hook exposed by `nexus-future` called `NEXUS_TYPEGEN_NEXUS_SCHEMA_IMPORT_PATH`. when set it will cause the typegen file `node_modules/@types/nexus-typegen/index.d.ts` to have the import from-value rewritten to whatever the env var value is. This env hook lives inside the typegen component but is leveraged by the system tests suite.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test/e2e`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n\n### Hacks\n\n#### Shebang / TS use strict / experimental-worker mess\n\n- We use workers to speed up extraction of context type from user's app\n- These are experimental in Node 10.x and thus require flag `--experimental-worker`\n- We support Node 10.x\n- Node only allows opting in via cli flag (e.g. no config file being read optionally)\n- Nexus is a node CLI and has a shebang so os knows to use Node to interpret the contents\n- It is not possible to pass flags to node here\n- Except with a weird [shebang hack](https://unix.stackexchange.com/questions/65235/universal-node-js-shebang)\n- The shebang hack is broken by the output of `use strict` by TS strict mode\n\n  Needs to be:\n\n  ```\n  #!/bin/sh\n  ':' //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n  Actually:\n\n  ```\n  #!/bin/sh\n  \"use strict\"\n  ':' //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n- So we use `noImplicitUseStrict` option to remove it from our emit\n- This fails because `strict` adds `alwaysStrict` and that is incompatible with `noImplicitUseStrict`\n- So we explor `strict` into all its parts except the one we want to remove, `alwaysStrict`\n- sigh\n","description":"https://nexusjs.org","_id":"nexus-future@0.10.0-next.17","dist":{"shasum":"dbd766863da487070e45d465a945637354614e66","integrity":"sha512-VOuu5+GPj2wJfvbAhK30np5WDz3VJqzQSsPW0Trsd2DT+upsspdQ3Z9heQ55IcZzOweeoLtWb/oFlNZdlWRSsg==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.10.0-next.17.tgz","fileCount":416,"unpackedSize":825208,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXzEiCRA9TVsSAnZWagAAPUUP/3AQkrUNy0ycD5oDX/tf\njE4wn1CjKMaWf8fos2EsIbcaQBDCPtk34+AevkRjW6Tq0FyEAUZOJCoMPs0S\nbyeVIr+vqP7ctwTNtMH5tcX+FrS6cLkTx0f1vdlnfFYHid1sCOADltRuDwnu\nfzi5B3u6eGcn2sGgECVwmb2vMkHshjL3qiFGm/UsC0KM/kGgOF9+TqoxX8cU\nOKsLTxV6IPHCwszFfkvDg4qPM+t82pN/D4IWI5tWF+waer8WhppzXM07mVJs\nAInAMyGYWBTVXE5nt7yy+wQbDCAMK92wYyt5DfrL4cVXFNECHLEq1hvC5Tch\nJ7KeliDKAzHrJUSd8Vdk6WJui1YzWe06FLkrMCCMf+m7Zeoa8RL5iL38cno5\nbR8zj9isKFibyWqXRh5JgQjnB5VeeVd/rAEtjKzMUOz75nKL2F1dNnkuzH7x\nPlBlDuhmRJD8DFwOQEke+cwHo0aASqEz7o7vlGQAjAUUoQuxzchscA3B+b1x\n1HqbZ0WqCdQBhoLY9qqoEXyI98x2AJIYYrK+3ZT6whAS5d5DTIdzcGnaZAK1\n6fbErjNGDD+DtrmemnCwvwC9bMjKOSGrXG+L4LwSmHXsXztb36J8BWqYj4dk\nV7Hjx2eOhFRtO4ji6IllVZvcpTnQfY99EoTd9Ct6JUXvCNbd6SaTeh79G0Gh\nVkKu\r\n=Ccll\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDaqD4jCtw5mJG/BYnhyMKP/YZ4EiJvYnbre89vfX2fhAIhAI1z8Z0h0vA24a3pUuFj1kjxghNVc4aBgUhjKgIcfoiX"}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.10.0-next.17_1583296802404_0.7917790663715014"},"_hasShrinkwrap":false},"0.10.0-next.18":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.10.0-next.18","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","ts-morph":"^7.0.0","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b && node scripts/fix-cli-main","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"node --experimental-worker node_modules/.bin/jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","test:system":"jest --verbose --testTimeout 60000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### System\n\n```\nyarn test:system\n```\n\n- Live under `/test/system`\n\n- Almost like E2E but they work with the local package code (whereas E2E would work with an actually published package).\n\n- These are useful because they provide many of the functional checks of E2E with a lower barrier to running, namely needing a published package. For example pull-requests made by community members cannot trigger E2E tests because that would require publishing and GitHub actions has no way for [PRs from forks to access secrets](https://github.community/t5/GitHub-Actions/Allow-secrets-to-be-shared-with-trusted-Actions/td-p/34278).\n\n- You must run `yarn build` right before running these tests.\n\n- These tests run by having the local package installed via folder-reference into the test project. This disables package hoisting. This in turn [breaks typegen](https://github.com/graphql-nexus/nexus-future/issues/432) because its import of `@nexus/schema` will be unresolvable (it looks for `node_modules/@nexus/schema` but actually needs to look at `node_modules/nexus-future/node_modules/@nexus/schema`). The system tests encode a solution to this. You should only have to think about this when actually devloping the system tests.\n\nThe solution to this problem is an env hook exposed by `nexus-future` called `NEXUS_TYPEGEN_NEXUS_SCHEMA_IMPORT_PATH`. when set it will cause the typegen file `node_modules/@types/nexus-typegen/index.d.ts` to have the import from-value rewritten to whatever the env var value is. This env hook lives inside the typegen component but is leveraged by the system tests suite.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test/e2e`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n\n### Hacks\n\n#### Shebang / TS use strict / experimental-worker mess\n\n- We use workers to speed up extraction of context type from user's app\n- These are experimental in Node 10.x and thus require flag `--experimental-worker`\n- We support Node 10.x\n- Node only allows opting in via cli flag (e.g. no config file being read optionally)\n- Nexus is a node CLI and has a shebang so os knows to use Node to interpret the contents\n- It is not possible to pass flags to node here\n- Except with a weird [shebang hack](https://unix.stackexchange.com/questions/65235/universal-node-js-shebang)\n- The shebang hack is broken by the output of `use strict` by TS strict mode\n\n  Needs to be:\n\n  ```\n  #!/bin/sh\n  ':' //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n  Actually:\n\n  ```\n  #!/bin/sh\n  \"use strict\"\n  ':' //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n- So we use `noImplicitUseStrict` option to remove it from our emit\n- This fails because `strict` adds `alwaysStrict` and that is incompatible with `noImplicitUseStrict`\n- So we explor `strict` into all its parts except the one we want to remove, `alwaysStrict`\n- sigh\n- ...\n- UDPATE\n- ...\n- We discovered that TS also emits `;` which breaks things:\n\n  Needs to be:\n\n  ```\n  #!/bin/sh\n  ':' //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n  Actually:\n\n  ```\n  #!/bin/sh\n  ':'; //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n- Went back on the no-strict-emit and now resoted to `sed` operations after build...\n","description":"https://nexusjs.org","_id":"nexus-future@0.10.0-next.18","dist":{"shasum":"411276fb512f600c801ee87c0418de819bb9d98b","integrity":"sha512-X15AkFnrQoQnHCZtGWHNoYEaMJaE5Ahyk/2F4dfxVtCPeIGdxjmiwm6OkGwWQagfdgGpSCp0KvCJfGYLNc2TxQ==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.10.0-next.18.tgz","fileCount":416,"unpackedSize":827025,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXzklCRA9TVsSAnZWagAAPFkQAIMr9BHN/AuHVBoXdum9\n+/HQhjR6zPLjGEXJKO0HIhdzB+k3z3vRFq+hsar+jnlAZHurQAwTlyYTmgRx\ncH3VbmgzwRXWIfkpad7eEVodCKz+abNjBUTF4jeYF1lDCGBKddYU0TcKkpb3\nrn3R1eGnwBEWrx4QkOM6s5Fh0pZ83/ZIyZdf9g8bdk3W+pD3pYNC67GfzFKN\ncnRJ8gJmnPNzNYEesPunni9zA02rYUH8R5Z9S7Yf4js+bCmQvqOkoYe4c1Un\nP18JEUHQ9mI2oPO1muIPcn3408wJq2xDGZBBO7B6l0T6n4vniy9GyRXIhFjI\nmqIZs0aP7Zfq0cRs5eKSkKkS2otQhMFHBc6tseHS2rCV/NLEVH//SlQ2/DPM\no0xcdBj7RPZiSW4CiuGJGgmyU5mwUXAjXf9YEFZJT+GWxKLuIcugl27mUlu+\nqCGDOo06nks2wdyUgyRLtUkWaSN/zlnKxWHHjPbzmTWalF0wu3CIMSE5RXrh\nL8uZZGgzZy0y3WYH52TuswMSEVu7ngQB7L1jPa4emeA8+6mImEFA6zWN6ZGg\nasrUVAr3m4EN3Rz62aY0gWrcaW1FPGfr4w5inR92Z+7lyaKOae0PbHQXeCfP\nKb6uZfKaBtDZ6XGNSu72mDDxA4ncWQ7fCkbdlEfyM4F1h8WI5e42yZ81UuWW\ntrNw\r\n=rmW+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIQCL/2JeZSBiMjnn3LrA1UNG1uCppXgxuyNNcJSBfRy72QIfIj8fzY9bK0DBeqJT8ng7T4xFYCYL6Jb2fv0VObO3YA=="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.10.0-next.18_1583298852626_0.008893063663549139"},"_hasShrinkwrap":false},"0.10.0-next.19":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.10.0-next.19","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","ts-morph":"^7.0.0","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b && node scripts/fix-cli-main","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"node --experimental-worker node_modules/.bin/jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","test:system":"jest --verbose --testTimeout 60000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### System\n\n```\nyarn test:system\n```\n\n- Live under `/test/system`\n\n- Almost like E2E but they work with the local package code (whereas E2E would work with an actually published package).\n\n- These are useful because they provide many of the functional checks of E2E with a lower barrier to running, namely needing a published package. For example pull-requests made by community members cannot trigger E2E tests because that would require publishing and GitHub actions has no way for [PRs from forks to access secrets](https://github.community/t5/GitHub-Actions/Allow-secrets-to-be-shared-with-trusted-Actions/td-p/34278).\n\n- You must run `yarn build` right before running these tests.\n\n- These tests run by having the local package installed via folder-reference into the test project. This disables package hoisting. This in turn [breaks typegen](https://github.com/graphql-nexus/nexus-future/issues/432) because its import of `@nexus/schema` will be unresolvable (it looks for `node_modules/@nexus/schema` but actually needs to look at `node_modules/nexus-future/node_modules/@nexus/schema`). The system tests encode a solution to this. You should only have to think about this when actually devloping the system tests.\n\nThe solution to this problem is an env hook exposed by `nexus-future` called `NEXUS_TYPEGEN_NEXUS_SCHEMA_IMPORT_PATH`. when set it will cause the typegen file `node_modules/@types/nexus-typegen/index.d.ts` to have the import from-value rewritten to whatever the env var value is. This env hook lives inside the typegen component but is leveraged by the system tests suite.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test/e2e`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n\n### Hacks\n\n#### Shebang / TS use strict / experimental-worker mess\n\n- We use workers to speed up extraction of context type from user's app\n- These are experimental in Node 10.x and thus require flag `--experimental-worker`\n- We support Node 10.x\n- Node only allows opting in via cli flag (e.g. no config file being read optionally)\n- Nexus is a node CLI and has a shebang so os knows to use Node to interpret the contents\n- It is not possible to pass flags to node here\n- Except with a weird [shebang hack](https://unix.stackexchange.com/questions/65235/universal-node-js-shebang)\n- The shebang hack is broken by the output of `use strict` by TS strict mode\n\n  Needs to be:\n\n  ```\n  #!/bin/sh\n  ':' //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n  Actually:\n\n  ```\n  #!/bin/sh\n  \"use strict\"\n  ':' //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n- So we use `noImplicitUseStrict` option to remove it from our emit\n- This fails because `strict` adds `alwaysStrict` and that is incompatible with `noImplicitUseStrict`\n- So we explor `strict` into all its parts except the one we want to remove, `alwaysStrict`\n- sigh\n- ...\n- UDPATE\n- ...\n- We discovered that TS also emits `;` which breaks things:\n\n  Needs to be:\n\n  ```\n  #!/bin/sh\n  ':' //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n  Actually:\n\n  ```\n  #!/bin/sh\n  ':'; //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n- Went back on the no-strict-emit and now resoted to `sed` operations after build...\n","description":"https://nexusjs.org","_id":"nexus-future@0.10.0-next.19","dist":{"shasum":"90e8b2aae6923c2cdece3ffd8d6110eaa9c089c4","integrity":"sha512-Ll08UuuTG+wysYZLC9oRb2GP6SM1xG/pNzMYWhp8hRYseaOtPc5uKqJA3Z7TI/lYSW1SrPuW/qq2qfytXckMWw==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.10.0-next.19.tgz","fileCount":416,"unpackedSize":827025,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXzrsCRA9TVsSAnZWagAAHXQP/2i/2/5UrHu1yniqOU2F\nfHRpGH+ZRflRcUausqYhjOaGLz80cWr9ZU6OQLx7T72kc36W5e7R7iswPY92\nV8WWJyFk3gU0BW9416RMUw4rYtzkYEtHFa6Soob/C62mqSbZqbm/I769eaQs\nNpWKD/sTLucXUMtI3kvi99NZe9lKBSm/qaRulGKMZdKPWdCGbmpqbDe+X+Nj\n74CBFFxm0pWeHWnUhrjQ9i1EloxHhQatPk/rEgN/REEb5o1qL7TndfNrru8T\nASgliON1HERaoW+BvwuMvbZozWbXLWUqonQaU3MjE7l2TwFXpJ2bQpZf2o0E\nI+56dd05JG2B0WghAQqeBzLYTU2/njHyJbQG4WgrKJQqxR7rGmduEWYUezn4\naL1ubyy+l3G2HGqgcEWaay2puRiBhYxHEUQ0aJCkRm4nj/7uQV9h1JHvTUSv\nOxbL8ZOAv/8mL3Qjc7ciXPahbjasOwevsHahhoWTF6Hr+Ec30wOrfIqL3dfL\n453VLNiUbzacnfigHYl8atzHlAqki/Bd4eUYWj8QySqtUDKlv33rQHIKemO0\nrAJo/0qq+2kmo8p+MFQ7UMP8hCRgrFibT8Vg1XBU1G96+C42AiFcoYLzk072\n1UVxQJ9fqMRJGmeEKKiN6eaan3AdpfZN2hz6Kb39LIsSjYI3BfvourYC/2/v\nPCpb\r\n=3fja\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDQQRCqG5V577tze4GKoacb0R5wEqSD8erIG6RDdn5DJAIgJQlAbGlgaxfLIkf7zu3sg5cg50b0OjECxmDc29PwcDQ="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.10.0-next.19_1583299307521_0.6295751060339703"},"_hasShrinkwrap":false},"0.0.0-pr.439.1.d561d8d":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.439.1.d561d8d","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","ts-morph":"^7.0.0","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b && node scripts/fix-cli-main","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"node --experimental-worker node_modules/.bin/jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","test:system":"jest --verbose --testTimeout 60000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### System\n\n```\nyarn test:system\n```\n\n- Live under `/test/system`\n\n- Almost like E2E but they work with the local package code (whereas E2E would work with an actually published package).\n\n- These are useful because they provide many of the functional checks of E2E with a lower barrier to running, namely needing a published package. For example pull-requests made by community members cannot trigger E2E tests because that would require publishing and GitHub actions has no way for [PRs from forks to access secrets](https://github.community/t5/GitHub-Actions/Allow-secrets-to-be-shared-with-trusted-Actions/td-p/34278).\n\n- You must run `yarn build` right before running these tests.\n\n- These tests run by having the local package installed via folder-reference into the test project. This disables package hoisting. This in turn [breaks typegen](https://github.com/graphql-nexus/nexus-future/issues/432) because its import of `@nexus/schema` will be unresolvable (it looks for `node_modules/@nexus/schema` but actually needs to look at `node_modules/nexus-future/node_modules/@nexus/schema`). The system tests encode a solution to this. You should only have to think about this when actually devloping the system tests.\n\nThe solution to this problem is an env hook exposed by `nexus-future` called `NEXUS_TYPEGEN_NEXUS_SCHEMA_IMPORT_PATH`. when set it will cause the typegen file `node_modules/@types/nexus-typegen/index.d.ts` to have the import from-value rewritten to whatever the env var value is. This env hook lives inside the typegen component but is leveraged by the system tests suite.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test/e2e`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n\n### Hacks\n\n#### Shebang / TS use strict / experimental-worker mess\n\n- We use workers to speed up extraction of context type from user's app\n- These are experimental in Node 10.x and thus require flag `--experimental-worker`\n- We support Node 10.x\n- Node only allows opting in via cli flag (e.g. no config file being read optionally)\n- Nexus is a node CLI and has a shebang so os knows to use Node to interpret the contents\n- It is not possible to pass flags to node here\n- Except with a weird [shebang hack](https://unix.stackexchange.com/questions/65235/universal-node-js-shebang)\n- The shebang hack is broken by the output of `use strict` by TS strict mode\n\n  Needs to be:\n\n  ```\n  #!/bin/sh\n  ':' //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n  Actually:\n\n  ```\n  #!/bin/sh\n  \"use strict\"\n  ':' //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n- So we use `noImplicitUseStrict` option to remove it from our emit\n- This fails because `strict` adds `alwaysStrict` and that is incompatible with `noImplicitUseStrict`\n- So we explor `strict` into all its parts except the one we want to remove, `alwaysStrict`\n- sigh\n- ...\n- UDPATE\n- ...\n- We discovered that TS also emits `;` which breaks things:\n\n  Needs to be:\n\n  ```\n  #!/bin/sh\n  ':' //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n  Actually:\n\n  ```\n  #!/bin/sh\n  ':'; //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n- Went back on the no-strict-emit and now resoted to `sed` operations after build...\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.439.1.d561d8d","dist":{"shasum":"789e27f4a42c6f8b3b063d99c817648e4d409768","integrity":"sha512-pJwl6qjHMsP/1S/gakfiD59DJKYZ4bl98/GjLyCREGBU/odVZRwXiuu7iCiJzdAX37F0Pzl8DYyGHlrT7B0zUQ==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.439.1.d561d8d.tgz","fileCount":416,"unpackedSize":827064,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXz0zCRA9TVsSAnZWagAAhp4P/jBiVcIE4ZWs/WkU4wD2\nuOR6YGPSA8vizQ9M8ebgUFCcf/oUDzStOMl7rzLquqQ/zTeeVv6V5EJz4S01\nsvcwNZED/Fy7SH3efEbBTcyckeS/fGFvhP83Q7Tnj6go2Nvz5hzhZAR3FpWq\n92zxhBKXlJRu2tSpeKcW3GqM7E5e14gm5zCpkFhGmNIK8TckaryUw8/9R1fD\nQ9y7RfuDKXTorj2KzPXuScH2Zwt52F9QiNN1TP6Lwo9fq/EXwKSmQ7XN/SP/\nn1maQCxMnxq83xrJ3lsGcUyWd6AYNyuKhz/3gfQXofjIbD/tVJwqVnOrIAtf\nSud5L9/P6+iaP4aRq3zEFkuQP9Y/+Tc7yGxquZxgQO2ZNae0pu+b/9zlfztu\n4cknDItdEV09Q7e/xMOtz4bmoEMRtEehJwnOs0f4C2SK6UUwxNCtoODhoror\nhbUSqUpbHYzJMsvypQQBt0rkterOKmWYZ1MJFKHrry27eHSOulTp4pw9Oi/R\n92ZHn42VVOE1tjUy0Ryzq2Qr8Ym9wUFWvzHgzrGiFbl6iQQsC9pnZeliyd9L\nhKzZGeXsSdAThJ+uflVnYSXDLjtYVbZvRSGLV7Lp6HwWjTdb15qwwXaJ05R3\nABO/xFwJBwkaa3lfcQlK8ufqzNdvde/4/GfWnzjP5G/mlhZqbqMFRRVCafvs\nGaW/\r\n=/klL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDags0QZ36eLgV34gtSW5RyAG0LRh97z9XEXJpq+yFyYgIhAK8XQs87JiRX92YfGqLfLYVqtloTXGEEo71WoKdNiIAw"}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.439.1.d561d8d_1583299890594_0.3488957281260998"},"_hasShrinkwrap":false},"0.0.0-pr.439.2.10d5eb9":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.439.2.10d5eb9","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","ts-morph":"^7.0.0","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b && node scripts/fix-cli-main","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"node --experimental-worker node_modules/.bin/jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","test:system":"jest --verbose --testTimeout 60000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### System\n\n```\nyarn test:system\n```\n\n- Live under `/test/system`\n\n- Almost like E2E but they work with the local package code (whereas E2E would work with an actually published package).\n\n- These are useful because they provide many of the functional checks of E2E with a lower barrier to running, namely needing a published package. For example pull-requests made by community members cannot trigger E2E tests because that would require publishing and GitHub actions has no way for [PRs from forks to access secrets](https://github.community/t5/GitHub-Actions/Allow-secrets-to-be-shared-with-trusted-Actions/td-p/34278).\n\n- You must run `yarn build` right before running these tests.\n\n- These tests run by having the local package installed via folder-reference into the test project. This disables package hoisting. This in turn [breaks typegen](https://github.com/graphql-nexus/nexus-future/issues/432) because its import of `@nexus/schema` will be unresolvable (it looks for `node_modules/@nexus/schema` but actually needs to look at `node_modules/nexus-future/node_modules/@nexus/schema`). The system tests encode a solution to this. You should only have to think about this when actually devloping the system tests.\n\nThe solution to this problem is an env hook exposed by `nexus-future` called `NEXUS_TYPEGEN_NEXUS_SCHEMA_IMPORT_PATH`. when set it will cause the typegen file `node_modules/@types/nexus-typegen/index.d.ts` to have the import from-value rewritten to whatever the env var value is. This env hook lives inside the typegen component but is leveraged by the system tests suite.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test/e2e`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n\n### Hacks\n\n#### Shebang / TS use strict / experimental-worker mess\n\n- We use workers to speed up extraction of context type from user's app\n- These are experimental in Node 10.x and thus require flag `--experimental-worker`\n- We support Node 10.x\n- Node only allows opting in via cli flag (e.g. no config file being read optionally)\n- Nexus is a node CLI and has a shebang so os knows to use Node to interpret the contents\n- It is not possible to pass flags to node here\n- Except with a weird [shebang hack](https://unix.stackexchange.com/questions/65235/universal-node-js-shebang)\n- The shebang hack is broken by the output of `use strict` by TS strict mode\n\n  Needs to be:\n\n  ```\n  #!/bin/sh\n  ':' //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n  Actually:\n\n  ```\n  #!/bin/sh\n  \"use strict\"\n  ':' //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n- So we use `noImplicitUseStrict` option to remove it from our emit\n- This fails because `strict` adds `alwaysStrict` and that is incompatible with `noImplicitUseStrict`\n- So we explor `strict` into all its parts except the one we want to remove, `alwaysStrict`\n- sigh\n- ...\n- UDPATE\n- ...\n- We discovered that TS also emits `;` which breaks things:\n\n  Needs to be:\n\n  ```\n  #!/bin/sh\n  ':' //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n  Actually:\n\n  ```\n  #!/bin/sh\n  ':'; //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n- Went back on the no-strict-emit and now resoted to `sed` operations after build...\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.439.2.10d5eb9","dist":{"shasum":"2627ec810f02e04a577e3231a64ef63831855ed6","integrity":"sha512-qNKXiWh3TslrhQpjh7S5ETBA1KZGKnEr+OUXlPqXBV8NJRuJ/UAOduMGVIlXD0+5D8YUuC2TfSDsp8DlLXOjyw==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.439.2.10d5eb9.tgz","fileCount":416,"unpackedSize":827114,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXz2BCRA9TVsSAnZWagAAc04QAIeAdL9CjIwWXultzx9R\nJEBhcgSXFeksFNQoGhISRdrxOWLlJ8WXUyU7yDE2L+A1YFGqx+Y7dJt+baEt\nQoDTToUzL18GduQz7SJh2N2NhWsOU5cvlkL4q/2RVNiudD88Oammx77xbChK\nNIyDZKmt+fDxChHLUJINlAY5glJbijE7/urJMX2XXeS4+r0zR5lKu5ec+Hon\n4ThIbSmKy4HCEKvb9YIHoTveNJlM+mvDASotYJ5axkU4HzkHbg0l56/wqhuK\naKgHjUlcF2tvta2/IwRJgjJ6GHkzb0XC8Mr/EemPTdbsJ0qihuc366ysCfYP\n/7Wd2l7n7EfnKRqaVfHL7iGdqI76zKKLggjGV7WE3WZ/7wbMGyjcyIkvkDQ9\nbAOGNx2Y7IVlnTXpeNKPPRNVNXuz49q6aRfvPViC9xSQCZG112ioXAWzrOTm\nxzWjO9uYCjBQ5qvMOUBnJMfD8OfKq0J6bWZVNdHl01/6V5jftj5WWhPm2sDO\nlpBBfys6HHJ/3NBwqPBbJRtj7/9Dvt6BXd50Qavzk1ILuU6S2k2bGWpqWX2P\n1zA+GkAW6sWvqCRtGMaOgDBZbHjezet4mbjt6A8yIF9NvqwEW1MzRQTC2BGU\nnpxJabf+q/GM0KEvg/rizAtmmOC1KlpmRGNA6F5mM1ACerYLLYddPBi+XxG/\n9NRH\r\n=+PRC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCVwUlp+sAolGp5ZcQ7GEtpNpshvs/S33ptgcSJ5LcUIwIhAJ05KVvBMyYgNhfVSrHMfJCIMVva4hVPL2qQCEhjSFGd"}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.439.2.10d5eb9_1583299968814_0.9223995456603602"},"_hasShrinkwrap":false},"0.0.0-pr.439.3.caf1a2e":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.439.3.caf1a2e","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"git+https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","ts-morph":"^7.0.0","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","test:system":"jest --verbose --testTimeout 60000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### System\n\n```\nyarn test:system\n```\n\n- Live under `/test/system`\n\n- Almost like E2E but they work with the local package code (whereas E2E would work with an actually published package).\n\n- These are useful because they provide many of the functional checks of E2E with a lower barrier to running, namely needing a published package. For example pull-requests made by community members cannot trigger E2E tests because that would require publishing and GitHub actions has no way for [PRs from forks to access secrets](https://github.community/t5/GitHub-Actions/Allow-secrets-to-be-shared-with-trusted-Actions/td-p/34278).\n\n- You must run `yarn build` right before running these tests.\n\n- These tests run by having the local package installed via folder-reference into the test project. This disables package hoisting. This in turn [breaks typegen](https://github.com/graphql-nexus/nexus-future/issues/432) because its import of `@nexus/schema` will be unresolvable (it looks for `node_modules/@nexus/schema` but actually needs to look at `node_modules/nexus-future/node_modules/@nexus/schema`). The system tests encode a solution to this. You should only have to think about this when actually devloping the system tests.\n\nThe solution to this problem is an env hook exposed by `nexus-future` called `NEXUS_TYPEGEN_NEXUS_SCHEMA_IMPORT_PATH`. when set it will cause the typegen file `node_modules/@types/nexus-typegen/index.d.ts` to have the import from-value rewritten to whatever the env var value is. This env hook lives inside the typegen component but is leveraged by the system tests suite.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test/e2e`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n\n### Hacks\n\n#### Shebang / TS use strict / experimental-worker mess\n\n- We use workers to speed up extraction of context type from user's app\n- These are experimental in Node 10.x and thus require flag `--experimental-worker`\n- We support Node 10.x\n- Node only allows opting in via cli flag (e.g. no config file being read optionally)\n- Nexus is a node CLI and has a shebang so os knows to use Node to interpret the contents\n- It is not possible to pass flags to node here\n- Except with a weird [shebang hack](https://unix.stackexchange.com/questions/65235/universal-node-js-shebang)\n- The shebang hack is broken by the output of `use strict` by TS strict mode\n\n  Needs to be:\n\n  ```\n  #!/bin/sh\n  ':' //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n  Actually:\n\n  ```\n  #!/bin/sh\n  \"use strict\"\n  ':' //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n- So we use `noImplicitUseStrict` option to remove it from our emit\n- This fails because `strict` adds `alwaysStrict` and that is incompatible with `noImplicitUseStrict`\n- So we explor `strict` into all its parts except the one we want to remove, `alwaysStrict`\n- sigh\n- ...\n- UDPATE\n- ...\n- We discovered that TS also emits `;` which breaks things:\n\n  Needs to be:\n\n  ```\n  #!/bin/sh\n  ':' //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n  Actually:\n\n  ```\n  #!/bin/sh\n  ':'; //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n- Went back on the no-strict-emit and now resoted to `sed` operations after build...\n- ...\n- UDPATE\n- ...\n- [We discovered](https://github.com/graphql-nexus/nexus-future/pull/439) that `npx` gets broken by the weird shebang\n-\n- reverted\n","readmeFilename":"README.md","gitHead":"caf1a2e2ef6ddd90bad3b9d255ef965a85bc50a7","description":"<p align=\"center\">   <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">   <br>   <span>Delightful GraphQL Application Framework</span>   <br>   <br>   <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\"> <","_id":"nexus-future@0.0.0-pr.439.3.caf1a2e","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-OgmUujDZBCZa6dKI6CU1Ei3GcicbT1BD8PF/pbKis4qTMYlZhcjUR14mUbGZ9uRHo9zfAwQXNKy9Z5tq8GXHdg==","shasum":"5c7180609bf476b31dd1ef002ef2d1b722d46676","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.439.3.caf1a2e.tgz","fileCount":395,"unpackedSize":828434,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeX0NSCRA9TVsSAnZWagAAz8AP/RdJHmDMHabmToNtzOw5\nvOg1sSq0t+XSBADfQ3C8vSHAbpyPFyQ6BzZf4q714mavcgM+LAr0uwEclfSD\nArUoI8DvX9rklPEVryLQJhp/+2Yz/q3u8MaPb+iWfEUrN1vFOfzQIegIiXfr\nvFySH+OaCqaSAAcJ5Jgl+UcScgl5k3d/RIS15O8iERKxhHN6u3G/nXpkOxsY\no/IBxOVZ7Vg+SlupLmxKiWmkpDuRR2KKYgoT6t4kW1XPc8CV++cOThOu/OAG\nI9WHLk5734l/DvboOMC5rlO0AATtjBr6HHzPzO4DVkCfgs6MNy5CSP0MFVgR\nlo0xUzxWc+8nFD3bID5lxHRpMMTRpPzMiY7zElgduJlSQLSL7gOAxB064eX+\nPJbt1u+hSO0u8dKERw4h9LdRYBznM+ZSjEJ0YYTXlDS5BNryrAB3EqzFTibE\nitsZ6e6X0gFRuTodk6D/7cLEJtSf2rZDXD4fQurR2x8krn9OfK6h52M4k9kr\nFsYR9XyPOpG9wMVlexC1/y1vw5VrVwrPSyiNKQSyEYGI0epRnlGJSiPFHqbj\nHJ1+mQt3fgzIJkA0RMH5iVISt9nFEjHEV7s84n14kbtor+IGr9PUEve5U7Gs\nKYN2rDn8T3d/YHkpx3312HcFiY6afh5tZtFLa92tmzjCDGSmoU8vrHRp0Csm\nb4qy\r\n=pCP5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCi0PpE3Ug/9ef/10HdBZZygmTsC2n5u2cnkDy8tpaWMwIhAKAeNFQRgPe93rNE9sSeFqo8JAuXS7oaBSEF0wqLjbZy"}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.439.3.caf1a2e_1583301458235_0.5466374803035989"},"_hasShrinkwrap":false},"0.10.0-next.20":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.10.0-next.20","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","ts-morph":"^7.0.0","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","test:system":"jest --verbose --testTimeout 60000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\">\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### System\n\n```\nyarn test:system\n```\n\n- Live under `/test/system`\n\n- Almost like E2E but they work with the local package code (whereas E2E would work with an actually published package).\n\n- These are useful because they provide many of the functional checks of E2E with a lower barrier to running, namely needing a published package. For example pull-requests made by community members cannot trigger E2E tests because that would require publishing and GitHub actions has no way for [PRs from forks to access secrets](https://github.community/t5/GitHub-Actions/Allow-secrets-to-be-shared-with-trusted-Actions/td-p/34278).\n\n- You must run `yarn build` right before running these tests.\n\n- These tests run by having the local package installed via folder-reference into the test project. This disables package hoisting. This in turn [breaks typegen](https://github.com/graphql-nexus/nexus-future/issues/432) because its import of `@nexus/schema` will be unresolvable (it looks for `node_modules/@nexus/schema` but actually needs to look at `node_modules/nexus-future/node_modules/@nexus/schema`). The system tests encode a solution to this. You should only have to think about this when actually devloping the system tests.\n\nThe solution to this problem is an env hook exposed by `nexus-future` called `NEXUS_TYPEGEN_NEXUS_SCHEMA_IMPORT_PATH`. when set it will cause the typegen file `node_modules/@types/nexus-typegen/index.d.ts` to have the import from-value rewritten to whatever the env var value is. This env hook lives inside the typegen component but is leveraged by the system tests suite.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test/e2e`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n\n### Hacks\n\n#### Shebang / TS use strict / experimental-worker mess\n\n- We use workers to speed up extraction of context type from user's app\n- These are experimental in Node 10.x and thus require flag `--experimental-worker`\n- We support Node 10.x\n- Node only allows opting in via cli flag (e.g. no config file being read optionally)\n- Nexus is a node CLI and has a shebang so os knows to use Node to interpret the contents\n- It is not possible to pass flags to node here\n- Except with a weird [shebang hack](https://unix.stackexchange.com/questions/65235/universal-node-js-shebang)\n- The shebang hack is broken by the output of `use strict` by TS strict mode\n\n  Needs to be:\n\n  ```\n  #!/bin/sh\n  ':' //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n  Actually:\n\n  ```\n  #!/bin/sh\n  \"use strict\"\n  ':' //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n- So we use `noImplicitUseStrict` option to remove it from our emit\n- This fails because `strict` adds `alwaysStrict` and that is incompatible with `noImplicitUseStrict`\n- So we explor `strict` into all its parts except the one we want to remove, `alwaysStrict`\n- sigh\n- ...\n- UDPATE\n- ...\n- We discovered that TS also emits `;` which breaks things:\n\n  Needs to be:\n\n  ```\n  #!/bin/sh\n  ':' //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n  Actually:\n\n  ```\n  #!/bin/sh\n  ':'; //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n- Went back on the no-strict-emit and now resoted to `sed` operations after build...\n- ...\n- UDPATE\n- ...\n- [We discovered](https://github.com/graphql-nexus/nexus-future/pull/439) that `npx` gets broken by the weird shebang\n-\n- reverted\n","description":"https://nexusjs.org","_id":"nexus-future@0.10.0-next.20","dist":{"shasum":"db4c19ec761a75e60c6f570c95e0c7cf49d0f20b","integrity":"sha512-zBgs4i21LkrvfDnYDKdYTlBXNnxQhf3i6EXWb+OjDnXygoY/QvPoTaRYvjBFQ+xJ8WfTppm5b5gxJP5doss6iA==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.10.0-next.20.tgz","fileCount":416,"unpackedSize":828427,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeX0SiCRA9TVsSAnZWagAAS64P+wRpA8/u2dkwG93Oq5m2\nS6K37sg9FepcOu6kQon7ihEEYJETi0uQLqf7qGcQgMsjPWd0Pc4NYuXOK3im\ncng60iP/WGIxwjSYV/SyCTrAcHuHZK/3cjTWEaOXmwRUCUMeu0UyYsvAhWmL\n+7GJekSRC8Wou61GSryVZO0C1u5lNu7u5BRe9F7JUmFtV/EdxnfFRqGDv4Rm\ndT31cblLh4+Ntxg/NXtiyq9qWFWanJQE64okYU7JCXU4xmINupUR8yxYRek4\nE5rXQiARqmXexvcfh3U4qxMLN74ffkpmbUZV5QWS/XhOT+6IvCAs+/O6BdZE\nHobsH8khpF0wyhrmo+6nppdQqBVPBVSOSYatO0+8n/2/bkBEMUvowjC4wPEP\n0yzkRILTuh+mcTy3MaKjbY6mo6dtNP6hXTMqK+SJDR1yyIupXF8fLG96GvL+\nUNKeu4kqYj1njuGcazmJj2rNp67poDNvN8nTmFy+wIiHr1WcDOxbTZ0EEl8I\ndaxWCNDI9iwFPIbj5NlrismJ8eh0sq3QCd7k0oTNx/JHvxvXKqAjnsOhKkxd\n85PNzuAB5tojJFssgysKvouHsuhXcA26jFKXxg1gmvcdde/nbLMwY2lLsRSu\nXWyf1hhe03aPjkUtCGp4GmhM4Asv7UVJMNeHdMmaFxFL/K0bTT5g8gcv/HhP\n8ViY\r\n=Qo0z\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCm0SolsmFzSfbP/v2lGJc1/k1m9x5rbELkbC0tnlH0VwIgTtpNnhRzNB7oD4kIm8bLtmVFYcV5u5cTPewaK3PSz1Y="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.10.0-next.20_1583301793874_0.14307127591347157"},"_hasShrinkwrap":false},"0.10.0-next.21":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.10.0-next.21","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-morph":"^7.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","test:system":"jest --verbose --testTimeout 60000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <a href=\"https://nexusjs.org\"><img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\"></a>\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### System\n\n```\nyarn test:system\n```\n\n- Live under `/test/system`\n\n- Almost like E2E but they work with the local package code (whereas E2E would work with an actually published package).\n\n- These are useful because they provide many of the functional checks of E2E with a lower barrier to running, namely needing a published package. For example pull-requests made by community members cannot trigger E2E tests because that would require publishing and GitHub actions has no way for [PRs from forks to access secrets](https://github.community/t5/GitHub-Actions/Allow-secrets-to-be-shared-with-trusted-Actions/td-p/34278).\n\n- You must run `yarn build` right before running these tests.\n\n- These tests run by having the local package installed via folder-reference into the test project. This disables package hoisting. This in turn [breaks typegen](https://github.com/graphql-nexus/nexus-future/issues/432) because its import of `@nexus/schema` will be unresolvable (it looks for `node_modules/@nexus/schema` but actually needs to look at `node_modules/nexus-future/node_modules/@nexus/schema`). The system tests encode a solution to this. You should only have to think about this when actually devloping the system tests.\n\nThe solution to this problem is an env hook exposed by `nexus-future` called `NEXUS_TYPEGEN_NEXUS_SCHEMA_IMPORT_PATH`. when set it will cause the typegen file `node_modules/@types/nexus-typegen/index.d.ts` to have the import from-value rewritten to whatever the env var value is. This env hook lives inside the typegen component but is leveraged by the system tests suite.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test/e2e`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n\n### Hacks\n\n#### Shebang / TS use strict / experimental-worker mess\n\n- We use workers to speed up extraction of context type from user's app\n- These are experimental in Node 10.x and thus require flag `--experimental-worker`\n- We support Node 10.x\n- Node only allows opting in via cli flag (e.g. no config file being read optionally)\n- Nexus is a node CLI and has a shebang so os knows to use Node to interpret the contents\n- It is not possible to pass flags to node here\n- Except with a weird [shebang hack](https://unix.stackexchange.com/questions/65235/universal-node-js-shebang)\n- The shebang hack is broken by the output of `use strict` by TS strict mode\n\n  Needs to be:\n\n  ```\n  #!/bin/sh\n  ':' //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n  Actually:\n\n  ```\n  #!/bin/sh\n  \"use strict\"\n  ':' //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n- So we use `noImplicitUseStrict` option to remove it from our emit\n- This fails because `strict` adds `alwaysStrict` and that is incompatible with `noImplicitUseStrict`\n- So we explor `strict` into all its parts except the one we want to remove, `alwaysStrict`\n- sigh\n- ...\n- UDPATE\n- ...\n- We discovered that TS also emits `;` which breaks things:\n\n  Needs to be:\n\n  ```\n  #!/bin/sh\n  ':' //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n  Actually:\n\n  ```\n  #!/bin/sh\n  ':'; //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n- Went back on the no-strict-emit and now resoted to `sed` operations after build...\n- ...\n- UDPATE\n- ...\n- [We discovered](https://github.com/graphql-nexus/nexus-future/pull/439) that `npx` gets broken by the weird shebang\n-\n- reverted\n","description":"https://nexusjs.org","_id":"nexus-future@0.10.0-next.21","dist":{"shasum":"603a885e5a8e54b31dcfd46d32b1a58d1c2cb618","integrity":"sha512-zytwgtssxUXte0HEhVUGxXoQVIHPvgVNPx7HPwDIV3DFxN6KK0kxhnCoCZ4KRh2CrC8K8nD/fhqtDNHD7r7MAw==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.10.0-next.21.tgz","fileCount":412,"unpackedSize":783555,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeYPpyCRA9TVsSAnZWagAAXlAP+waJYlkKwboSfLnhOxnM\nSh1u8OMtiZ/5Hlpw9uXWahsSomQeeqgp7bvV2Ut/01X0XSfhe7HV0/j8paSG\nlXyS48tPRkL20LcIMFHXt9lMIfZBhdxnHn1PjV375FbkyTN+lJs4cDARBmON\neKzWmxB8tHw9T1TJLJwyDn+2CChXqZxjfLs/zUnOLMSV3z8wISejD4w5RHYl\n3lVW4KokehK9jrWud5K9sAptkqRidxuZujD1VMY2E3KXLBBqmjpcFvHoEoQM\nVkeaajVWr9sWdSnzi87MEpz2Hb7Iso9C1dLH12wMpK2Gx/SPC8r6+r2h3kIU\nB61Y57nAwvQWm0SWaXeqP841YWH6fWNy5fRepXbVhPF+A+ufb2YPXAo9eeCI\ni6fEJHetRVgoSyW7Dacs4kmOWKtTNEGGNosHr9DBeye/kCgspCTN37xGHOAS\nIYw9lTnnRlZDk5mSaRt+VMk8Ep5Sg9JI42VNJLuFzzgGiXLHjmozNXIvb7Dy\nAPonrqdsvdmVmdJHkaAS2C3tSllBC2jB8j4S5LJnBrRhRZgxPX3koWl5JNxf\nqh5mBsRLVeTaNdOP9dFjZHSRqih+QB2FbEqBWrYJYlFHOYRqObMnZ49m6uuC\nJZIsokwW7IPCZypyzF3yPS7gG7gVeuVrNdDi8rKfZEYS3AyciVm93BoDvpA2\nIbqm\r\n=s2KR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDd+kPElnsrMshJYO1iY9SEgUgtUOuVtCjxaQufd6ZEUwIhAOSSIoYOty2mHEwJUQPFysEi2fDa+jV++iAWj6flxaiH"}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.10.0-next.21_1583413873643_0.49327609876773426"},"_hasShrinkwrap":false},"0.10.0-next.22":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.10.0-next.22","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-morph":"^7.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","test:system":"jest --verbose --testTimeout 60000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <a href=\"https://nexusjs.org\"><img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\"></a>\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### System\n\n```\nyarn test:system\n```\n\n- Live under `/test/system`\n\n- Almost like E2E but they work with the local package code (whereas E2E would work with an actually published package).\n\n- These are useful because they provide many of the functional checks of E2E with a lower barrier to running, namely needing a published package. For example pull-requests made by community members cannot trigger E2E tests because that would require publishing and GitHub actions has no way for [PRs from forks to access secrets](https://github.community/t5/GitHub-Actions/Allow-secrets-to-be-shared-with-trusted-Actions/td-p/34278).\n\n- You must run `yarn build` right before running these tests.\n\n- These tests run by having the local package installed via folder-reference into the test project. This disables package hoisting. This in turn [breaks typegen](https://github.com/graphql-nexus/nexus-future/issues/432) because its import of `@nexus/schema` will be unresolvable (it looks for `node_modules/@nexus/schema` but actually needs to look at `node_modules/nexus-future/node_modules/@nexus/schema`). The system tests encode a solution to this. You should only have to think about this when actually devloping the system tests.\n\nThe solution to this problem is an env hook exposed by `nexus-future` called `NEXUS_TYPEGEN_NEXUS_SCHEMA_IMPORT_PATH`. when set it will cause the typegen file `node_modules/@types/nexus-typegen/index.d.ts` to have the import from-value rewritten to whatever the env var value is. This env hook lives inside the typegen component but is leveraged by the system tests suite.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test/e2e`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n\n### Hacks\n\n#### Shebang / TS use strict / experimental-worker mess\n\n- We use workers to speed up extraction of context type from user's app\n- These are experimental in Node 10.x and thus require flag `--experimental-worker`\n- We support Node 10.x\n- Node only allows opting in via cli flag (e.g. no config file being read optionally)\n- Nexus is a node CLI and has a shebang so os knows to use Node to interpret the contents\n- It is not possible to pass flags to node here\n- Except with a weird [shebang hack](https://unix.stackexchange.com/questions/65235/universal-node-js-shebang)\n- The shebang hack is broken by the output of `use strict` by TS strict mode\n\n  Needs to be:\n\n  ```\n  #!/bin/sh\n  ':' //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n  Actually:\n\n  ```\n  #!/bin/sh\n  \"use strict\"\n  ':' //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n- So we use `noImplicitUseStrict` option to remove it from our emit\n- This fails because `strict` adds `alwaysStrict` and that is incompatible with `noImplicitUseStrict`\n- So we explor `strict` into all its parts except the one we want to remove, `alwaysStrict`\n- sigh\n- ...\n- UDPATE\n- ...\n- We discovered that TS also emits `;` which breaks things:\n\n  Needs to be:\n\n  ```\n  #!/bin/sh\n  ':' //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n  Actually:\n\n  ```\n  #!/bin/sh\n  ':'; //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n- Went back on the no-strict-emit and now resoted to `sed` operations after build...\n- ...\n- UDPATE\n- ...\n- [We discovered](https://github.com/graphql-nexus/nexus-future/pull/439) that `npx` gets broken by the weird shebang\n-\n- reverted\n","description":"https://nexusjs.org","_id":"nexus-future@0.10.0-next.22","dist":{"shasum":"d1cf76644a6e6494b55282409e5127e96edbebd3","integrity":"sha512-UKI004U6iUlOJJkgex9kIQFo73S+2ZCOjSe5uHSBkdpDbN2zzDBpmib0w1YyC+LT3VCV62nSVY1VDAKDBIvImg==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.10.0-next.22.tgz","fileCount":412,"unpackedSize":783871,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeZFkRCRA9TVsSAnZWagAA5vgP/1uMmQ4TTKeJQroP9IjH\npIjhjUvFR0/WCeYC8SlQbzcAl2vizziFPhSFkrhY0MNVQPj4N9ldSeGvb88y\npdEAc9Sw+v6bPXQGs/tUPeYQhp7HpTeDcEI2vgiXS9i/FZ/TA31eDTMELcS1\nujyhm3uhU8M2ocGhYOXNXaGLbtxRUHwFbARAfI8i236w8vQ5tGbrIqNT02GC\nJsc3dZ0a0CPulyhN+pdUVLmAXWwijPpm5o2F2Oue8tEMXr3Dwv9nsO1X7toU\nFam5vvcxGZ9MVy96XN5FNAgLQP0A9e7oj4xr6YJxr0lQbyj/RcvBYicYdeJx\nUNPe0eNkhBIFRDxS2O9ZWHwwZd1uj8itoQ1H8pPtTzoi3Y0gwnz6HOr8pOlU\nR1M0oLzop2UPpavmpT5MR7k9e6/wDd9ygW060yAOEadXLGrHdzPwA79S3DZM\n1uJsDr/C1aL7KwOfhVZ7Q2xFtHYCBLaAsddv7OjRO1sWZ/Otcrw1FlSx8wSe\n3hd3F0r/gTOOvQC2yvwxOE93Mz1LDJOY8bjS89iqYGRW30QAOhk3qsCmsszR\nG35XqI9Z7jx4DjuHzu6CHKW5dPZdaDKHYehaVahdeGlEjtHyFGTVmQYNhdk3\naf6YHKojWPphWq+SfMP37XtUehnk//ExTKGDCiNYwj3XpbcHEOlXINv/MjQf\nC/+l\r\n=aIm/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE278lALGbJ4MaQhjAcwTA1K6dJJAu40SCntOlHM8deJAiEA6BmsrQiu6sJK+w86Y5mcWVeWzpzr6jW8gQgteki5cCM="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.10.0-next.22_1583634704778_0.13838902659327212"},"_hasShrinkwrap":false},"0.10.0-next.23":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.10.0-next.23","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-morph":"^7.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","test:system":"jest --verbose --testTimeout 60000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <a href=\"https://nexusjs.org\"><img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\"></a>\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### System\n\n```\nyarn test:system\n```\n\n- Live under `/test/system`\n\n- Almost like E2E but they work with the local package code (whereas E2E would work with an actually published package).\n\n- These are useful because they provide many of the functional checks of E2E with a lower barrier to running, namely needing a published package. For example pull-requests made by community members cannot trigger E2E tests because that would require publishing and GitHub actions has no way for [PRs from forks to access secrets](https://github.community/t5/GitHub-Actions/Allow-secrets-to-be-shared-with-trusted-Actions/td-p/34278).\n\n- You must run `yarn build` right before running these tests.\n\n- These tests run by having the local package installed via folder-reference into the test project. This disables package hoisting. This in turn [breaks typegen](https://github.com/graphql-nexus/nexus-future/issues/432) because its import of `@nexus/schema` will be unresolvable (it looks for `node_modules/@nexus/schema` but actually needs to look at `node_modules/nexus-future/node_modules/@nexus/schema`). The system tests encode a solution to this. You should only have to think about this when actually devloping the system tests.\n\nThe solution to this problem is an env hook exposed by `nexus-future` called `NEXUS_TYPEGEN_NEXUS_SCHEMA_IMPORT_PATH`. when set it will cause the typegen file `node_modules/@types/nexus-typegen/index.d.ts` to have the import from-value rewritten to whatever the env var value is. This env hook lives inside the typegen component but is leveraged by the system tests suite.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test/e2e`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n\n### Hacks\n\n#### Shebang / TS use strict / experimental-worker mess\n\n- We use workers to speed up extraction of context type from user's app\n- These are experimental in Node 10.x and thus require flag `--experimental-worker`\n- We support Node 10.x\n- Node only allows opting in via cli flag (e.g. no config file being read optionally)\n- Nexus is a node CLI and has a shebang so os knows to use Node to interpret the contents\n- It is not possible to pass flags to node here\n- Except with a weird [shebang hack](https://unix.stackexchange.com/questions/65235/universal-node-js-shebang)\n- The shebang hack is broken by the output of `use strict` by TS strict mode\n\n  Needs to be:\n\n  ```\n  #!/bin/sh\n  ':' //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n  Actually:\n\n  ```\n  #!/bin/sh\n  \"use strict\"\n  ':' //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n- So we use `noImplicitUseStrict` option to remove it from our emit\n- This fails because `strict` adds `alwaysStrict` and that is incompatible with `noImplicitUseStrict`\n- So we explor `strict` into all its parts except the one we want to remove, `alwaysStrict`\n- sigh\n- ...\n- UDPATE\n- ...\n- We discovered that TS also emits `;` which breaks things:\n\n  Needs to be:\n\n  ```\n  #!/bin/sh\n  ':' //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n  Actually:\n\n  ```\n  #!/bin/sh\n  ':'; //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n- Went back on the no-strict-emit and now resoted to `sed` operations after build...\n- ...\n- UDPATE\n- ...\n- [We discovered](https://github.com/graphql-nexus/nexus-future/pull/439) that `npx` gets broken by the weird shebang\n-\n- reverted\n","description":"https://nexusjs.org","_id":"nexus-future@0.10.0-next.23","dist":{"shasum":"7f548a3dfcb657dac8245732fed82780e5ac2207","integrity":"sha512-nllx36y2Qng/aVi/iuNX1W+NouSG4p7CJZuMwsw0UP8Z38+UZoxsAcXYXguRfkqF74LNWBNn9FYI8HZO+3iQIA==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.10.0-next.23.tgz","fileCount":412,"unpackedSize":786987,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeZG+VCRA9TVsSAnZWagAAZpUQAI5aqrtJlwrhzbSaqREC\nW6g6SQmC4VqGZKUWK/VWJwZWeFMUgvET5YXdwSEC93q/0oFAb+9E5ViqnQOd\nNtOVyUUiK8CDRejge38HtZF4M4/H46HcYMjzJj0/To+SL59XWljtmJ+KBDhW\nVcdlyqVpyQPwgCCHL5yjD2N3hwG2Go3H52+K7bhK3b/IeJ4AObaaZwMT4bU3\ny+gO3JD7nG9PW4KK67h6pHWuNPSlwOujB+ccMYfjMwJeIQ7ZXDLUfF3dnX16\n2rVLypnadSK+Rc4fftc2nDyuKLLjxd7Ufksx5fWV4WrxAgxn0M1L5MD8br7b\n4Qx4Y8RV594VcxrM4z63/bpCkPdJl4dO9WOw0Lkc7WwSG/W78Oe+1k9rcows\niPtIp8TkwUJereP9rGcpDXs4KSEffLmfsz/YFFpmt5gpSGPLl4wHp85wQ8PW\nT+elYld2uRFx/HcMzgLnnNdTxG9zw0gsnQsQYqxD4S96Pjm00LGmGcxbYchn\nDL0PaY7MdcGXGAnkaAGSe2w+tguS/vWTbspmcVaX91+GjZs5c2WGItfvU53h\n7aPdpsdxcA2uxmyujuAEmnkVogpPmaXObidpTUMOi3RdCunL02p4PwImcCYc\nd55gkKDXSdKOLtEB9QogxPEui0g/khSru83smhCv1GPN9ImjMNpru/Fh1PFW\nZ7oH\r\n=vQWV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCxOYGXAV4SMW3NxnvMcRWimNPyXyVTwsixHqUKvkr/lwIgOeuVMz+jM1opp1xkFzuBeUurE4L9Hw/ew6shY9+DS2Y="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.10.0-next.23_1583640468713_0.2756908020575408"},"_hasShrinkwrap":false},"0.10.0-next.24":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.10.0-next.24","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-morph":"^7.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","test:system":"jest --verbose --testTimeout 60000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <a href=\"https://nexusjs.org\"><img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\"></a>\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### System\n\n```\nyarn test:system\n```\n\n- Live under `/test/system`\n\n- Almost like E2E but they work with the local package code (whereas E2E would work with an actually published package).\n\n- These are useful because they provide many of the functional checks of E2E with a lower barrier to running, namely needing a published package. For example pull-requests made by community members cannot trigger E2E tests because that would require publishing and GitHub actions has no way for [PRs from forks to access secrets](https://github.community/t5/GitHub-Actions/Allow-secrets-to-be-shared-with-trusted-Actions/td-p/34278).\n\n- You must run `yarn build` right before running these tests.\n\n- These tests run by having the local package installed via folder-reference into the test project. This disables package hoisting. This in turn [breaks typegen](https://github.com/graphql-nexus/nexus-future/issues/432) because its import of `@nexus/schema` will be unresolvable (it looks for `node_modules/@nexus/schema` but actually needs to look at `node_modules/nexus-future/node_modules/@nexus/schema`). The system tests encode a solution to this. You should only have to think about this when actually devloping the system tests.\n\nThe solution to this problem is an env hook exposed by `nexus-future` called `NEXUS_TYPEGEN_NEXUS_SCHEMA_IMPORT_PATH`. when set it will cause the typegen file `node_modules/@types/nexus-typegen/index.d.ts` to have the import from-value rewritten to whatever the env var value is. This env hook lives inside the typegen component but is leveraged by the system tests suite.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test/e2e`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n\n### Hacks\n\n#### Shebang / TS use strict / experimental-worker mess\n\n- We use workers to speed up extraction of context type from user's app\n- These are experimental in Node 10.x and thus require flag `--experimental-worker`\n- We support Node 10.x\n- Node only allows opting in via cli flag (e.g. no config file being read optionally)\n- Nexus is a node CLI and has a shebang so os knows to use Node to interpret the contents\n- It is not possible to pass flags to node here\n- Except with a weird [shebang hack](https://unix.stackexchange.com/questions/65235/universal-node-js-shebang)\n- The shebang hack is broken by the output of `use strict` by TS strict mode\n\n  Needs to be:\n\n  ```\n  #!/bin/sh\n  ':' //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n  Actually:\n\n  ```\n  #!/bin/sh\n  \"use strict\"\n  ':' //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n- So we use `noImplicitUseStrict` option to remove it from our emit\n- This fails because `strict` adds `alwaysStrict` and that is incompatible with `noImplicitUseStrict`\n- So we explor `strict` into all its parts except the one we want to remove, `alwaysStrict`\n- sigh\n- ...\n- UDPATE\n- ...\n- We discovered that TS also emits `;` which breaks things:\n\n  Needs to be:\n\n  ```\n  #!/bin/sh\n  ':' //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n  Actually:\n\n  ```\n  #!/bin/sh\n  ':'; //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n- Went back on the no-strict-emit and now resoted to `sed` operations after build...\n- ...\n- UDPATE\n- ...\n- [We discovered](https://github.com/graphql-nexus/nexus-future/pull/439) that `npx` gets broken by the weird shebang\n-\n- reverted\n","description":"https://nexusjs.org","_id":"nexus-future@0.10.0-next.24","dist":{"shasum":"7e6eecc9aab1b019ad1f85fa4dfaa34c70c7ed47","integrity":"sha512-SsgdOwFGAwH+JXMZEcd+ueasLvp7gBmwNQPfhH8lOyxejg7DOI38OdudMvpM55faEaaLbqgP2SiAA3iJ3UtYnQ==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.10.0-next.24.tgz","fileCount":412,"unpackedSize":789692,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeZokaCRA9TVsSAnZWagAAWWoP/1lNP9DVBwRr4kumwGC/\nxY7ZrtIn0Q28ISXKSEZmKr0nzNN+klqhcKmS99myTYVCQalL22Ej5npM7P7E\nuZ0pQINpje0Kdh1SCTC3+sLG1RckbdzySwAMqTjXlzlXgDvQB543qjAiJW6+\nxCGq67KfLnPGpR9ShOdwNeJPKkpG2SHt44yNKxHdTHQAS5cY9uxzk6HYBO0t\noNTjOr/jOBN8YLbOl/R2IgcUixA4wkn9NH7Ap5he8oQeEhLmq33bjzkQHgm/\nq3gmZ8p3TgF8zvPyhM9qeHeBFwSCnsyJYKyavIHR9wca0Olkd6r10fx3ZjHV\nhDfe322ynSpek/04NtCUgJoKasxBMXFEB0z3iZeU7auKpGrM6kF3v0hUFDad\nbsoAN07XlX4e2+6XZB4wOAd7kwRZVnLgzmcamXx022tlVw4DaSPdAYfu5nOF\n/KfAX7887OUwvR9YcbKQ9f4HfZ53e1+bsTOMTDcKktzoUz8ZjfEZj+2OB/3F\nvvLBNuwf5F/7VJWi6dlrfjYlUhAbtVZ/KAcxV2xD6kx/TCP/qrt0OcR08Dj/\ndQq/nKld511bUML8UHyxEKkJf82s9jkFh5q7cmLWPdvfmBAV3Eof9qqHsACV\np9VPgOUPXR5uz8p29dtliUdZsJE4nuZq5kr0YdC71+TG6CrQWeRMdYwAyyRa\nNjXU\r\n=1wd8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDj51pezlgkMz+EAgOfDZsIeahbYVXyKOfQDfVGSMojOAiAIpOyc9l8dIyoWQB285uqaM7ODN3IgN0OI2SY3FUHlMQ=="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.10.0-next.24_1583778074423_0.040352290399152446"},"_hasShrinkwrap":false},"0.10.0-next.25":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.10.0-next.25","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-morph":"^7.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","test:system":"jest --verbose --testTimeout 60000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <a href=\"https://nexusjs.org\"><img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\"></a>\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### System\n\n```\nyarn test:system\n```\n\n- Live under `/test/system`\n\n- Almost like E2E but they work with the local package code (whereas E2E would work with an actually published package).\n\n- These are useful because they provide many of the functional checks of E2E with a lower barrier to running, namely needing a published package. For example pull-requests made by community members cannot trigger E2E tests because that would require publishing and GitHub actions has no way for [PRs from forks to access secrets](https://github.community/t5/GitHub-Actions/Allow-secrets-to-be-shared-with-trusted-Actions/td-p/34278).\n\n- You must run `yarn build` right before running these tests.\n\n- These tests run by having the local package installed via folder-reference into the test project. This disables package hoisting. This in turn [breaks typegen](https://github.com/graphql-nexus/nexus-future/issues/432) because its import of `@nexus/schema` will be unresolvable (it looks for `node_modules/@nexus/schema` but actually needs to look at `node_modules/nexus-future/node_modules/@nexus/schema`). The system tests encode a solution to this. You should only have to think about this when actually devloping the system tests.\n\nThe solution to this problem is an env hook exposed by `nexus-future` called `NEXUS_TYPEGEN_NEXUS_SCHEMA_IMPORT_PATH`. when set it will cause the typegen file `node_modules/@types/nexus-typegen/index.d.ts` to have the import from-value rewritten to whatever the env var value is. This env hook lives inside the typegen component but is leveraged by the system tests suite.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test/e2e`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n\n### Hacks\n\n#### Shebang / TS use strict / experimental-worker mess\n\n- We use workers to speed up extraction of context type from user's app\n- These are experimental in Node 10.x and thus require flag `--experimental-worker`\n- We support Node 10.x\n- Node only allows opting in via cli flag (e.g. no config file being read optionally)\n- Nexus is a node CLI and has a shebang so os knows to use Node to interpret the contents\n- It is not possible to pass flags to node here\n- Except with a weird [shebang hack](https://unix.stackexchange.com/questions/65235/universal-node-js-shebang)\n- The shebang hack is broken by the output of `use strict` by TS strict mode\n\n  Needs to be:\n\n  ```\n  #!/bin/sh\n  ':' //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n  Actually:\n\n  ```\n  #!/bin/sh\n  \"use strict\"\n  ':' //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n- So we use `noImplicitUseStrict` option to remove it from our emit\n- This fails because `strict` adds `alwaysStrict` and that is incompatible with `noImplicitUseStrict`\n- So we explor `strict` into all its parts except the one we want to remove, `alwaysStrict`\n- sigh\n- ...\n- UDPATE\n- ...\n- We discovered that TS also emits `;` which breaks things:\n\n  Needs to be:\n\n  ```\n  #!/bin/sh\n  ':' //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n  Actually:\n\n  ```\n  #!/bin/sh\n  ':'; //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n- Went back on the no-strict-emit and now resoted to `sed` operations after build...\n- ...\n- UDPATE\n- ...\n- [We discovered](https://github.com/graphql-nexus/nexus-future/pull/439) that `npx` gets broken by the weird shebang\n-\n- reverted\n","description":"https://nexusjs.org","_id":"nexus-future@0.10.0-next.25","dist":{"shasum":"a2ebd4d9f886bff90c5df95520986743ffa310fa","integrity":"sha512-9xEjKGGJ99eDfueRM4INS0/oWZ6PQH+JYzHx+5yJc5qPiQMpe3O7HqvEtLD9tdlB5t34eH5e9B2H/jwqYh37nw==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.10.0-next.25.tgz","fileCount":412,"unpackedSize":792455,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeZqSnCRA9TVsSAnZWagAAA7UP/jGq2qCsbZtKtwcjyi+D\ndmbq1y61Yjf9fHh4e3/SquzHcD+Vjcg8/QL1jxYgytUlG1jAkYzXr+DgQ8z4\nVqX2K1AKnsyOjKt23VJ6oPk8JuJisDH+aGLUIpF8y/xPbDwsUqSTVLO2taEa\neswjYf1YfaD6lm4HluB/e4oz1+CtCGs37D7Nn9P48o3uQSyO4jEK2lVZ14Ke\nCJ3nESgHtqMG5aSiU/S16o66r2KNTM8C2v9L9ibq6HaNqyMd9jmtzC+b7nyE\nxrJFj6rUNgE1oY08v32EQvfaY2P/8TAYiz8uFJPqe3Lu/KHKMLEV3o/m5WAN\nmnQcIeu6uZgIEmL4+cyfPmLZDMOekOAGMVInoSYesQbM6jqAa/JTK5A9Q5Q2\n2jw9JLaBhFd6VfV0OvhKCoUA0LkXx/OyQd8QxfqjOZkTif0/VbFcp3nYpBig\n4j5SR/jaXb+k+7eDp7GIkbyC/d4qQiU3tEmSLDn7BYBCGIASCESps//Yn2ge\nLuzlgtgwj9/q/9xeUc3BnEXimdSwLVp73ly0b592PQ2bR35oAxfBc8/hD9nn\ng7FGcDAW3Rrt/PnWMtsjjcXpJwfx/tebRCjbJXmiON+DgTjXt0XCnbGH3SHK\nv98em3xBolrg3v3CCSpoeYFqpO6+prqYySDtvMdRvfqCffDp9MRcPN9bO8hq\nEOzJ\r\n=4kqX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD3jc/0odghVBImyJZvjn3BUs6EWs5rgrjB0MTaftPyTwIgbY2gbOlnrpX5buL2BZ6ZU0CQOIou5eW8qfBF7q7Z+Ds="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.10.0-next.25_1583785126800_0.6904809222093526"},"_hasShrinkwrap":false},"0.10.0-next.26":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.10.0-next.26","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-morph":"^7.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","test:system":"jest --verbose --testTimeout 60000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <a href=\"https://nexusjs.org\"><img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\"></a>\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### System\n\n```\nyarn test:system\n```\n\n- Live under `/test/system`\n\n- Almost like E2E but they work with the local package code (whereas E2E would work with an actually published package).\n\n- These are useful because they provide many of the functional checks of E2E with a lower barrier to running, namely needing a published package. For example pull-requests made by community members cannot trigger E2E tests because that would require publishing and GitHub actions has no way for [PRs from forks to access secrets](https://github.community/t5/GitHub-Actions/Allow-secrets-to-be-shared-with-trusted-Actions/td-p/34278).\n\n- You must run `yarn build` right before running these tests.\n\n- These tests run by having the local package installed via folder-reference into the test project. This disables package hoisting. This in turn [breaks typegen](https://github.com/graphql-nexus/nexus-future/issues/432) because its import of `@nexus/schema` will be unresolvable (it looks for `node_modules/@nexus/schema` but actually needs to look at `node_modules/nexus-future/node_modules/@nexus/schema`). The system tests encode a solution to this. You should only have to think about this when actually devloping the system tests.\n\nThe solution to this problem is an env hook exposed by `nexus-future` called `NEXUS_TYPEGEN_NEXUS_SCHEMA_IMPORT_PATH`. when set it will cause the typegen file `node_modules/@types/nexus-typegen/index.d.ts` to have the import from-value rewritten to whatever the env var value is. This env hook lives inside the typegen component but is leveraged by the system tests suite.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test/e2e`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n\n### Hacks\n\n#### Shebang / TS use strict / experimental-worker mess\n\n- We use workers to speed up extraction of context type from user's app\n- These are experimental in Node 10.x and thus require flag `--experimental-worker`\n- We support Node 10.x\n- Node only allows opting in via cli flag (e.g. no config file being read optionally)\n- Nexus is a node CLI and has a shebang so os knows to use Node to interpret the contents\n- It is not possible to pass flags to node here\n- Except with a weird [shebang hack](https://unix.stackexchange.com/questions/65235/universal-node-js-shebang)\n- The shebang hack is broken by the output of `use strict` by TS strict mode\n\n  Needs to be:\n\n  ```\n  #!/bin/sh\n  ':' //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n  Actually:\n\n  ```\n  #!/bin/sh\n  \"use strict\"\n  ':' //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n- So we use `noImplicitUseStrict` option to remove it from our emit\n- This fails because `strict` adds `alwaysStrict` and that is incompatible with `noImplicitUseStrict`\n- So we explor `strict` into all its parts except the one we want to remove, `alwaysStrict`\n- sigh\n- ...\n- UDPATE\n- ...\n- We discovered that TS also emits `;` which breaks things:\n\n  Needs to be:\n\n  ```\n  #!/bin/sh\n  ':' //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n  Actually:\n\n  ```\n  #!/bin/sh\n  ':'; //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n- Went back on the no-strict-emit and now resoted to `sed` operations after build...\n- ...\n- UDPATE\n- ...\n- [We discovered](https://github.com/graphql-nexus/nexus-future/pull/439) that `npx` gets broken by the weird shebang\n-\n- reverted\n","description":"https://nexusjs.org","_id":"nexus-future@0.10.0-next.26","dist":{"shasum":"3e66e1e92838f6ccc629e1a8645d3b13a3f3f089","integrity":"sha512-nYQVh76hE/iouQl7i+XF3VP7dhWTuvXvUZ24Cz5g0K4X8z/JezBulJHIPvZHEOQ/0gD2wAElI2xmP5ld16knvw==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.10.0-next.26.tgz","fileCount":412,"unpackedSize":793047,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeZqk5CRA9TVsSAnZWagAAnbsP/RRF7hgbMnOKgC5lVQJS\nT53iowllhlSTynMY/xgpBjQdKwgil5cKu4qd/Mn7XV7u/DKI5PeEhqBEHbHB\ndKUgDhQlC9tXgvs+NCc/8YogRvou1S+FE6oKMGtRe4QRyO37g7sLZXufRjxM\nwH2p/cR5DxNobVKJT6K7EfLFN9f0kqjl+uGk+4t44hMR08zUx341iYqiDKnl\nVYW9YYGypqqglXNz7Hg/hXTUt4psFWYK0KK8FsbgKMrIqjH1i5HZtt12ZVEN\n58A78QbD6WO7nydiYvzesElTZIQpRfN2w9khNfcQ72WIwjlsStZaUycvvHrQ\nF2oa2IkAz+4vZzkfWuynVuJwVhmjnO7kDIq/dTehRJmcLfgRtU4pLYl/KtPD\nBe8nK9yplkleur5ADVJebqblh94WicgGU7vekbQCPjC7c3Dt84MZgD62tbdV\nXQhB2FdRK+nUVVuHQ5oY9iD8D1GEk6APyHe2Vx6SFC+Fb6uxn17MzqmB/n66\n+RMwWDlg0uWAZla00XuwNqIeOtGuRSwOXAFqfBMWhouqhNu2jrnmkC5Gpzka\nQVzfpI/+q4X1ibsBrt+++bxZjCMcoD8CjJumsqGSDhW+gHttev4sHYML/BE2\nJnl63MgCKuEELBuKrTTL6oYk/HbCH9BElzYIAFoo3o0rwEQ+oZQeYjipJcw1\nz+mo\r\n=ZLp4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBPuwuiZ4zlJrVqM86vJhzBco0eqmgT4xKsYAxXUumilAiAtEeS6wDGAYlKbpaEJcqMVTNl3WpaeUKvjPk5Z0LyeXA=="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.10.0-next.26_1583786296868_0.8425978401488343"},"_hasShrinkwrap":false},"0.10.0-next.27":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.10.0-next.27","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-morph":"^7.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","test:system":"jest --verbose --testTimeout 60000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <a href=\"https://nexusjs.org\"><img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\"></a>\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### System\n\n```\nyarn test:system\n```\n\n- Live under `/test/system`\n\n- Almost like E2E but they work with the local package code (whereas E2E would work with an actually published package).\n\n- These are useful because they provide many of the functional checks of E2E with a lower barrier to running, namely needing a published package. For example pull-requests made by community members cannot trigger E2E tests because that would require publishing and GitHub actions has no way for [PRs from forks to access secrets](https://github.community/t5/GitHub-Actions/Allow-secrets-to-be-shared-with-trusted-Actions/td-p/34278).\n\n- You must run `yarn build` right before running these tests.\n\n- These tests run by having the local package installed via folder-reference into the test project. This disables package hoisting. This in turn [breaks typegen](https://github.com/graphql-nexus/nexus-future/issues/432) because its import of `@nexus/schema` will be unresolvable (it looks for `node_modules/@nexus/schema` but actually needs to look at `node_modules/nexus-future/node_modules/@nexus/schema`). The system tests encode a solution to this. You should only have to think about this when actually devloping the system tests.\n\nThe solution to this problem is an env hook exposed by `nexus-future` called `NEXUS_TYPEGEN_NEXUS_SCHEMA_IMPORT_PATH`. when set it will cause the typegen file `node_modules/@types/nexus-typegen/index.d.ts` to have the import from-value rewritten to whatever the env var value is. This env hook lives inside the typegen component but is leveraged by the system tests suite.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test/e2e`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n\n### Hacks\n\n#### Shebang / TS use strict / experimental-worker mess\n\n- We use workers to speed up extraction of context type from user's app\n- These are experimental in Node 10.x and thus require flag `--experimental-worker`\n- We support Node 10.x\n- Node only allows opting in via cli flag (e.g. no config file being read optionally)\n- Nexus is a node CLI and has a shebang so os knows to use Node to interpret the contents\n- It is not possible to pass flags to node here\n- Except with a weird [shebang hack](https://unix.stackexchange.com/questions/65235/universal-node-js-shebang)\n- The shebang hack is broken by the output of `use strict` by TS strict mode\n\n  Needs to be:\n\n  ```\n  #!/bin/sh\n  ':' //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n  Actually:\n\n  ```\n  #!/bin/sh\n  \"use strict\"\n  ':' //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n- So we use `noImplicitUseStrict` option to remove it from our emit\n- This fails because `strict` adds `alwaysStrict` and that is incompatible with `noImplicitUseStrict`\n- So we explor `strict` into all its parts except the one we want to remove, `alwaysStrict`\n- sigh\n- ...\n- UDPATE\n- ...\n- We discovered that TS also emits `;` which breaks things:\n\n  Needs to be:\n\n  ```\n  #!/bin/sh\n  ':' //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n  Actually:\n\n  ```\n  #!/bin/sh\n  ':'; //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n- Went back on the no-strict-emit and now resoted to `sed` operations after build...\n- ...\n- UDPATE\n- ...\n- [We discovered](https://github.com/graphql-nexus/nexus-future/pull/439) that `npx` gets broken by the weird shebang\n-\n- reverted\n","description":"https://nexusjs.org","_id":"nexus-future@0.10.0-next.27","dist":{"shasum":"01cc15e7141ce88e84590ce35ecf11b20ddfc673","integrity":"sha512-gVV8ZEm4/a1174gviZIqI1ietCGsjhYkugwGF+ao2ySw00aokSNruRWaSgdRcRCBiVYtFmmlvy2Hq5jlU5hmIA==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.10.0-next.27.tgz","fileCount":412,"unpackedSize":794333,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeZwCsCRA9TVsSAnZWagAAYA4P/RTOrA77UEV+Juc8W+c7\n5GTbakni/CjqkQsIr9OtdLRvr4B2paBqN/bbcvDHeUX9UVsuJga1sk1/2nuR\ngIeAHsppukFy3oTcIWLOuhbqH8HV3ryWwTS/SRmMl67LvUPCB0wYZoEdJM4i\ndMBsaLT1lLErylyP4ebrmKh8ei+IFnoMrc+eQTUIN9o8HcEqlFxoGMZY7q7F\nv82u2uDrw0JtIYRwupyQBk1uE3KZWj7qcWTxLpfLN/qWP/zdzOeOY5Fmbfjf\ni70kRkCqhcXujdWNnh2vauR4xWZ+n6+BtYW6e9o4uATWC8+hkJoLUsbxodgk\nsd4uKvRa88THcG7Oglh/5/YTUpz65wBijSeBVA/J6cWVGz9NYykcuJ7zQrX4\n2zMoWLfcd1SPCp/0Vipds0fZn/9Ow/cfRJ0T7zcrCVS3I9rE001rsyIU/RMD\nSe3z9zB+iKL/7Q792ntOARm6DuXklaHcMcQx4JDteGuaB6ALEKeg6fHGw/nv\nGpnPTNt2tPt/inwtZVJoQ0+i/BN0sTK6tkknRK7yygro/IJfFVg7FzFrSdh7\nM0Pyie57EySo+JsOtu+E7do60gUGkE7ROAb/zHh4zAJUAksR0EB+zG1Terny\nIgCFTRc64SSmC6/pnJRqGZVXhs703/kHu2T01A6j++d3QxN9sATY7TpvVotY\n5/7N\r\n=Kq3U\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD6HBFsTHc5HvFml8BGVV6kB530LJCdXpriPFT5qe7Y6QIhAMFKEJ42UIMlGFZvYGcr6B+K1O6+5Y3LbdUfD5KHzIo1"}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.10.0-next.27_1583808684327_0.608437131948165"},"_hasShrinkwrap":false},"0.10.0-next.28":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.10.0-next.28","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-morph":"^7.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","test:system":"jest --verbose --testTimeout 60000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <a href=\"https://nexusjs.org\"><img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\"></a>\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### System\n\n```\nyarn test:system\n```\n\n- Live under `/test/system`\n\n- Almost like E2E but they work with the local package code (whereas E2E would work with an actually published package).\n\n- These are useful because they provide many of the functional checks of E2E with a lower barrier to running, namely needing a published package. For example pull-requests made by community members cannot trigger E2E tests because that would require publishing and GitHub actions has no way for [PRs from forks to access secrets](https://github.community/t5/GitHub-Actions/Allow-secrets-to-be-shared-with-trusted-Actions/td-p/34278).\n\n- You must run `yarn build` right before running these tests.\n\n- These tests run by having the local package installed via folder-reference into the test project. This disables package hoisting. This in turn [breaks typegen](https://github.com/graphql-nexus/nexus-future/issues/432) because its import of `@nexus/schema` will be unresolvable (it looks for `node_modules/@nexus/schema` but actually needs to look at `node_modules/nexus-future/node_modules/@nexus/schema`). The system tests encode a solution to this. You should only have to think about this when actually devloping the system tests.\n\nThe solution to this problem is an env hook exposed by `nexus-future` called `NEXUS_TYPEGEN_NEXUS_SCHEMA_IMPORT_PATH`. when set it will cause the typegen file `node_modules/@types/nexus-typegen/index.d.ts` to have the import from-value rewritten to whatever the env var value is. This env hook lives inside the typegen component but is leveraged by the system tests suite.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test/e2e`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n\n### Hacks\n\n#### Shebang / TS use strict / experimental-worker mess\n\n- We use workers to speed up extraction of context type from user's app\n- These are experimental in Node 10.x and thus require flag `--experimental-worker`\n- We support Node 10.x\n- Node only allows opting in via cli flag (e.g. no config file being read optionally)\n- Nexus is a node CLI and has a shebang so os knows to use Node to interpret the contents\n- It is not possible to pass flags to node here\n- Except with a weird [shebang hack](https://unix.stackexchange.com/questions/65235/universal-node-js-shebang)\n- The shebang hack is broken by the output of `use strict` by TS strict mode\n\n  Needs to be:\n\n  ```\n  #!/bin/sh\n  ':' //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n  Actually:\n\n  ```\n  #!/bin/sh\n  \"use strict\"\n  ':' //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n- So we use `noImplicitUseStrict` option to remove it from our emit\n- This fails because `strict` adds `alwaysStrict` and that is incompatible with `noImplicitUseStrict`\n- So we explor `strict` into all its parts except the one we want to remove, `alwaysStrict`\n- sigh\n- ...\n- UDPATE\n- ...\n- We discovered that TS also emits `;` which breaks things:\n\n  Needs to be:\n\n  ```\n  #!/bin/sh\n  ':' //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n  Actually:\n\n  ```\n  #!/bin/sh\n  ':'; //; exec node --experimental-worker \"$0\" \"$@\"\n  ```\n\n- Went back on the no-strict-emit and now resoted to `sed` operations after build...\n- ...\n- UDPATE\n- ...\n- [We discovered](https://github.com/graphql-nexus/nexus-future/pull/439) that `npx` gets broken by the weird shebang\n-\n- reverted\n","description":"https://nexusjs.org","_id":"nexus-future@0.10.0-next.28","dist":{"shasum":"dc73d1029367b887e41f49762bdeda073a59ee92","integrity":"sha512-dDsYkMCssppyS7kdmdyUnr2vIQYOix6gwBZCoRSRqmixjt+dxkWHTMFYlnZVhvqgM+J3oO19jrsN9YZ8KWRx4g==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.10.0-next.28.tgz","fileCount":412,"unpackedSize":794504,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeZwKdCRA9TVsSAnZWagAAOGkP/is4yXWr5zaZbAmPgttx\nwdGU2HgcG/bB3eJom+j1XTVP1OEXOgfmCSIPMxq2RbYcQS4rGgeCA5nrO/nG\n52KAxZJB8EgSx1BbQTzMUIedSQTGy6bSEW9z4D1hMv5aVAoj0NGav6yhD7rK\nXv5aYeIL0IT4VIIDXeR+/Z4dxeJ7MNZnqTdMrgy+A/WS0G26+bdsGuctitK2\nIRhh7GiEycfefAR7uzVKElOZ7MdwC21SFf4ULVyLZwC/qI0s2ieUnlv67mrV\nrOk4w7MiYoKJEQ4pjf+0R9rzcyyG3VzmLn15UPeceiwyAqgALOVJSXsdGvtd\nK48QCDvjLGro9+mAThMLIdau5j6t/zP6gM4GIfbN0xD6mY+LIM/4avQyW79j\nDJMnAp5ZakPR24eHvcu7isKjoqnukAi9Nqpmn+EJbmQW//RayU7GW8QDnXOK\nUGn/KJfpUsYId5iUzqdd+yuoFmf+g5WX2ehn68/6nAuczQxFtgpTnx4Qoxk9\nNzWoowjtdL+CE0rTeijDcL3HWmOz4O0A7ABWRSa69K8Gd0n4L8I72RuAK7Zt\nzPEnDNIYGTBJwGWQUrm18gjflZYV3TlkcRndBrxxXW357TKE7F72MylwCoEU\nNsZIa8cntOhhnJYEkhUJxdk6JCsbypF64kZbMeR9CREi+cxOh9CvtFyL2WIi\nkL7r\r\n=2bzs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDzJs8kkr7n+ghkVlN8EE9XcFUdm+8WIpsWaAHyatNdeAIgPwh3LzC1/E9c/IjW8/ohmxWLEgJgVqOMB9y4UHtnXyQ="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.10.0-next.28_1583809180797_0.13895754720829578"},"_hasShrinkwrap":false},"0.10.0":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.10.0","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-morph":"^7.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","test:system":"jest --verbose --testTimeout 60000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"description":"https://nexusjs.org","_id":"nexus-future@0.10.0","dist":{"shasum":"e7bafb5e4d4afc7f19e17665fd0752338edaccec","integrity":"sha512-P8EoFGri2UcUB5wcRmTXYqNwcznLAHhfp/y5VmJAgAdNtEvsOliyFdd3ZKFEr/lLofqZjmOqnUV1s7uruwHpOw==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.10.0.tgz","fileCount":412,"unpackedSize":794496,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeZwOCCRA9TVsSAnZWagAA8eYP/ioXJ1+pncNxUrBpsvX8\nayPrFwXCVhlu/KPJtMSujTxsGr30Tj5jTC4rCZ1n43sBpOg8jZDxALoFShXp\n23ooiwWBk48UEvGDuERJ1CnA55c1BCZ3+kFutbUP9rc2GoEuT5E0NqwFJypZ\n11MgEAvkKZViDzbv50OIhoC/lzg4wW+CAsAJ/EFPTdW3pTD/yAfdtwGyU0Rf\nkC1S5lNCC1KWfMFoTet0n6NucyBmm+oDs5rNB0oliErsz83A75rMY+8jQXAB\n+RU3nSxbfGleDCPQf7O0N24L2cJez8uKFgtWxhj/T6RNJ0MBexOPZ6K+Mz3e\nKoy4cIbDERfQvuQidv/suYXnN3fnyyJAdN6rzgPKwxE80cLOufRyECjOn3/f\ne1haTagKD6NJbE93nsirJIVBwdMYTCfN7PcQutqClt3dq93hOPjTZu+4oaF1\nHhB/2LO8MYLCCTgl57Aqi/opx/osnLt/o2EsUbWMRKwpY6RV62ztpZDgJgES\nLnPUAOLCq3kt0TBTtoL8yMQSnptIo7knB/gMZxL5cRRo4i3x+PFw8je+naix\nrrCj/3uaNQAdfzFvo3niKjqNzSUTlpFveCbHuYPZt5dlg0n4PORppWU764E+\nWyrR0IK9+fD8x6w7FM4chB+onr/NioSVDSUqntPasmYaMKAkvN9E8V66aq1G\n/qk+\r\n=fWZH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDZcx2FL0jRmnzKOnAZpfs2i8LTebn3RBzgmPlWorm0TgIgLk+NweeRCVC4TDbsCVJJk7DXbjPsDeb0tZau8ZgnSGo="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.10.0_1583809410343_0.2445956624067862"},"_hasShrinkwrap":false,"deprecated":"nexus-future is now just called nexus"},"0.10.1-next.1":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.10.1-next.1","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-morph":"^7.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","test:system":"jest --verbose --testTimeout 60000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <a href=\"https://nexusjs.org\"><img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\"></a>\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### System\n\n```\nyarn test:system\n```\n\n- Live under `/test/system`\n\n- Almost like E2E but they work with the local package code (whereas E2E would work with an actually published package).\n\n- These are useful because they provide many of the functional checks of E2E with a lower barrier to running, namely needing a published package. For example pull-requests made by community members cannot trigger E2E tests because that would require publishing and GitHub actions has no way for [PRs from forks to access secrets](https://github.community/t5/GitHub-Actions/Allow-secrets-to-be-shared-with-trusted-Actions/td-p/34278).\n\n- You must run `yarn build` right before running these tests.\n\n- These tests run by having the local package installed via folder-reference into the test project. This disables package hoisting. This in turn [breaks typegen](https://github.com/graphql-nexus/nexus-future/issues/432) because its import of `@nexus/schema` will be unresolvable (it looks for `node_modules/@nexus/schema` but actually needs to look at `node_modules/nexus-future/node_modules/@nexus/schema`). The system tests encode a solution to this. You should only have to think about this when actually devloping the system tests.\n\nThe solution to this problem is an env hook exposed by `nexus-future` called `NEXUS_TYPEGEN_NEXUS_SCHEMA_IMPORT_PATH`. when set it will cause the typegen file `node_modules/@types/nexus-typegen/index.d.ts` to have the import from-value rewritten to whatever the env var value is. This env hook lives inside the typegen component but is leveraged by the system tests suite.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test/e2e`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.10.1-next.1","dist":{"shasum":"d6963e6a65686c3b57c7d72e8d857425361acddd","integrity":"sha512-a2R/nibGN5ehR5YFHmNh81uUEcHzHe5jJn/6ptiIcWZSBaEkzZzDKqHIdWzD6s4PsQkY71p2NCgU9Ghos2pvIA==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.10.1-next.1.tgz","fileCount":412,"unpackedSize":794971,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeZ8hFCRA9TVsSAnZWagAAktAQAKEZpoSAl9vZrwkhLvw5\nBUWY983q48YHBmOZ9kfs/DxVmGaRIagrDPOQoAzxFQ299Do2D4BWcOWbLpbF\nx0uU2I776VZjCuVwbNjtnkLeISzba3jTSJ+f4YyiYF2D1dtIZ+1kPlabwPPh\nttFMhsUds6oTLzs3tMoIxe+VXriaL+xha5ePUwLgLXcYIcHqKfhApuokLCHY\n/lpLlfU7Yvs5hQ+L4AfbgyKyq8HWadSdVK/z/Wan5ZbRUijB54Bme7em84oz\np3odrDOUrE8MmHXzrRbTxz95rjg0SDsFsu3puNDioHop4MDmZlu7uVIeH7Kq\nHQ05tLOqu80p7ZzNZpLiqeKOCd7Dl3X62MIc/k60UuZLCc+59SuF1Y7jE46J\nBajSd6xD9C2DCO+DUuJJ5AYTC1vAo9zwhJDHehfXz6F4aH+wV82a5g0XYFwE\n/7wk5voxWXhz2xVMcyay27JtJLqBWMWjDw7JeTYxJa5DDd+l19lHQGLYaw3h\noAKgFUuxUbo3eBnGYyyIdp0+9yI7xLelTWJ8RCCEJ8aaMDUM/xCKy7e3myO7\nszhl2Y4LvJBfIsH0UXaaLEqEPozQVTftnde933BPuD0KdkI3J7rzYpr1VJtW\nrrIPz7poAzgYiH/Is+buGNc5FMzJIx4X4EceARbVBE7VsNStSKQmw0DE9fG4\nVmS7\r\n=IWzs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFw6jwJx7K/AjGrffP1aNX7v9vDKZSfYDdRpBb5HoU2fAiEAgCtcf9oZYB3BjIOAI7TtZ+c+6zbMTGW59NKQaiFG4UA="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.10.1-next.1_1583859781279_0.1620653926100062"},"_hasShrinkwrap":false},"0.11.0-next.2":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.11.0-next.2","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-morph":"^7.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","test:system":"jest --verbose --testTimeout 60000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <a href=\"https://nexusjs.org\"><img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\"></a>\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### System\n\n```\nyarn test:system\n```\n\n- Live under `/test/system`\n\n- Almost like E2E but they work with the local package code (whereas E2E would work with an actually published package).\n\n- These are useful because they provide many of the functional checks of E2E with a lower barrier to running, namely needing a published package. For example pull-requests made by community members cannot trigger E2E tests because that would require publishing and GitHub actions has no way for [PRs from forks to access secrets](https://github.community/t5/GitHub-Actions/Allow-secrets-to-be-shared-with-trusted-Actions/td-p/34278).\n\n- You must run `yarn build` right before running these tests.\n\n- These tests run by having the local package installed via folder-reference into the test project. This disables package hoisting. This in turn [breaks typegen](https://github.com/graphql-nexus/nexus-future/issues/432) because its import of `@nexus/schema` will be unresolvable (it looks for `node_modules/@nexus/schema` but actually needs to look at `node_modules/nexus-future/node_modules/@nexus/schema`). The system tests encode a solution to this. You should only have to think about this when actually devloping the system tests.\n\nThe solution to this problem is an env hook exposed by `nexus-future` called `NEXUS_TYPEGEN_NEXUS_SCHEMA_IMPORT_PATH`. when set it will cause the typegen file `node_modules/@types/nexus-typegen/index.d.ts` to have the import from-value rewritten to whatever the env var value is. This env hook lives inside the typegen component but is leveraged by the system tests suite.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test/e2e`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Install `docsify-cli`\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation. To make this less painful, install globally so you should only have to do this once.\n\n   ```\n   yarn global add docsify\n   ```\n\n   ```\n   vim /usr/local/bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.11.0-next.2","dist":{"shasum":"12fcf5b9dc8c4adff4e50fa4135b4b7543df6b6c","integrity":"sha512-ePIxiz6BfATdtNJAdNlgpc5ulP3xQVBlFn1IK6bz6H2T87UmfY5m98h6S90ijN9yd3e4fFwZbBxBu39mpE8Vlw==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.11.0-next.2.tgz","fileCount":429,"unpackedSize":802801,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeZ8iTCRA9TVsSAnZWagAAPHsP/iLPj8DwuMcS0VQUEQY5\ncnMwEe/239RNaA04mQfvDoeKMh4d5eV82HLARCc4qalIZpudOCXEDqATbYlW\nroULn8Xm/c7phJzA6awhehd4eOOaHsieOnWTpHbB6v0zUka5bz+Yl2gOmOMD\nIQl5ycpKfOBttJzeor5Tmjc+/bRs8rkw7vB8Cy/32jR7PfgXL+QiEwsodpil\nP5w53lu7WdEL7cFElZIU9CRUJhvDYzhG02145InUJIPhKwIFx3AA6A0Ur50p\nt6gYruZaAK6Y8jwHCVR/M/5XN/ufU+c6u7sSFNOOhap/sHxyMV93TuccaKRO\nymy42FroepEZGdG8KUcHq4uIcMTxJZKy5CIQJwoAtbgebu5lqnbEgDIlwlyV\nV9Qkcp0UKsPiXW/hpVfgm0zSqYypRRrTz+gWV63TV1hhKCeepGjczQuOlEqc\nokGxMC1fN8Gp27IJUHd1u/eMUCfDpMz6XuGFigMS7uxmBmd6B208c1hN99nf\nyC/Fim6wWzFOcBulcVS3RCFPsj88xfaoABvFvZ2XpaKYZMQW3pbZw0mNFYUf\ncwAp/EPqyy0e6HCb6aZ0HDyHM893iONl+jtgy/sSzSIIkDy2dc2U9kRV8qzg\niKk8ecBxpYzI7gFO8EBF+BwJiTw29dcBEo2PY8/W7mtZpffOz8HJtMvENu6B\n92RF\r\n=Y06l\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDCS2acLLyBqJ4EXJTQK1DCa/UFvS9GW1ckkItITWvPUAIhAKJAfQ0t3g69ipkCclmvBI9LvyLaFiIRq2bRGOyg6FtG"}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.11.0-next.2_1583859859402_0.7713105303678669"},"_hasShrinkwrap":false},"0.11.0":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.11.0","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-morph":"^7.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","test:system":"jest --verbose --testTimeout 60000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"description":"https://nexusjs.org","_id":"nexus-future@0.11.0","dist":{"shasum":"2c81062c566477c000ad58213fade40de62691fa","integrity":"sha512-MDt3wZ5skArReHWQghUQzUTVCozr12DvxJdJWfr8CbIvgtNjQD68Zq2yIVORTIUNCQXxx7rpjW6tlgco7aPuaw==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.11.0.tgz","fileCount":429,"unpackedSize":802794,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeZ8x5CRA9TVsSAnZWagAApL8P/jN41IHA5r7JdlamjSTZ\nIVivwwyf6ljHjtTy1jQBIrNQRgsqlZrUlhi23EAiQaTSgumI7xAqyYkoCeAE\nVYSqCRXua8W0h5jN8MAfbjg/8E2CylVTPdduSSrUCeE4npekA+4fFuTlSAp0\nZPPrkb4hkRSfvp2vTHzcGMClqM0V2GCznvMvF1Ul9o/KjkttwW/Hjd6m4uXe\nnVRULfm0g6cKTlJ10WAGbuIhdxjMXMWhhQCMFkBT4Ump3iEZwwj2SYYSIbsu\n/sUxjiifdqz10dcVoF5LnXwU2FdBkpWl4V9JxP9FJyrqC2oZnTH8CrFNqRuc\nea0+HDgK5GKCiYa8SEmUZR4534jNQx0eqzXVs82jonQxnvR6yFUM467nREo9\ntTfp9YHEq11nkpbH7cxinItPOdhVj4PpB5W1Tyoc7oxvJGw7PbmtnILCKDJH\nPQ4MwZQbeKzEB4yGuZROq/ow664PGoi7WA9eV4IULPSETGkyErDLufRjjl49\nFJHgMvj4zLDOkngomtP/iP1I4MRzdNgyXv4aAqZ6Hmw7woqu/ZVutxyH6rUL\nNxJkeu2Fg/We7e2k5YGIz6dd0Dtru/6PU7PcAwDbHGEujZjoTyT8IgSWTW+e\nZz6d/ibO3Quuj3P9KVxk2fdp9HSkeIV06zr5nEfbVp85Z0AJpZeP4Do7myFy\nZwqj\r\n=6Aeu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDPGRRi8dKBy0iH8UXo3KpIvEIMHRn6dNxNKzHzcIAFQgIgW1wgWqvlBZByjs61REIXOCsAcMeeMybhkyMRbosYPrY="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.11.0_1583860857017_0.4828602724076976"},"_hasShrinkwrap":false,"deprecated":"nexus-future is now just called nexus"},"0.11.1":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.11.1","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-morph":"^7.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","test:system":"jest --verbose --testTimeout 60000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"description":"https://nexusjs.org","_id":"nexus-future@0.11.1","dist":{"shasum":"ee4d245859fc5a9ab26fd6a25c6ca218e2a793b6","integrity":"sha512-vTs7RGfoOYU0XDJ4ThbqAcbn9gRCF361/uNA3DMCLOMxvmaO8xvQBhcTnmT9skR5fUOH4FE+RpNBa03hP4Fyqg==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.11.1.tgz","fileCount":429,"unpackedSize":802972,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeZ99SCRA9TVsSAnZWagAAECUP/3FfezpzcDMNvJ7RkTwG\n/FeSY5jWs8UPJd+RnO7Ivsvb/IBgMrRmWkSe/2Ps64KfJ82EO4RiVTG1Zsnm\n3QJaYS3FFtIQz7fbSLVwmC6iVaSrQmZB4TlsdD1czSnfkH8gk0s8uqrLSOST\nVV5+pfNog3NggvxZ4GrTfLzHi9vcWhhwQeIFotJPOixDUS7bPPhtbm2cUuh0\nuVPw/X3h/EFfJrnsc1DxO7Pe9gZKvqLyy2Vj4TyJt99KhHCKpqlgeXL9Jih5\nd9bPt9R8vB3vkljJGib6T8VmZO0wYFWLIobP8K/2dYpi+CGR0cZUnwwc/Igd\nHr1udHuFbQE1io7CBeJawDIy5vRIyDXtoskpjgbXMmPMSwMitcMze3u3zW3t\nBsc/hjH0SG2u84SDWWk4Vn7ZICigTiO2F00KvquHsvdZXAbKKGIY+RSe2CMb\npG6CBdApcIoFOHQkp0forQHHzw8JCchG7ZfLdBvjMm4pkzJJRxPnYD6WDFct\nOqjarL9lnYwZTrfCk8TrpfD0IqyWuvdD2l0jhD8jvHiXcWeVIbaRO7ns9s9W\nzC4RxhmWMn4tuFaBzOTARHeTw28qPwsfZwnyocMG7rK3q4tdQfIRhNLnifFc\nHq9jj70yr+IGgoQWRcoGV1ID/3ok/HV3DhgOm03rM3bf5hA+8qAyKlZbh4TI\nNdVa\r\n=4EU9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBvv42hp3P5EwR3w+qzo0hx5RWQP8FEaXMovwBiE7zQaAiEA5/ykW4xMSOiHkfiep/hf0OKr5WOujZv2t3r4k9O4n5I="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.11.1_1583865682360_0.9043764094879487"},"_hasShrinkwrap":false,"deprecated":"nexus-future is now just called nexus"},"0.11.2-next.1":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.11.2-next.1","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-morph":"^7.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","docsify":"^4.11.2","docsify-cli":"^4.4.0","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","test:system":"jest --verbose --testTimeout 60000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <a href=\"https://nexusjs.org\"><img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\"></a>\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### System\n\n```\nyarn test:system\n```\n\n- Live under `/test/system`\n\n- Almost like E2E but they work with the local package code (whereas E2E would work with an actually published package).\n\n- These are useful because they provide many of the functional checks of E2E with a lower barrier to running, namely needing a published package. For example pull-requests made by community members cannot trigger E2E tests because that would require publishing and GitHub actions has no way for [PRs from forks to access secrets](https://github.community/t5/GitHub-Actions/Allow-secrets-to-be-shared-with-trusted-Actions/td-p/34278).\n\n- You must run `yarn build` right before running these tests.\n\n- These tests run by having the local package installed via folder-reference into the test project. This disables package hoisting. This in turn [breaks typegen](https://github.com/graphql-nexus/nexus-future/issues/432) because its import of `@nexus/schema` will be unresolvable (it looks for `node_modules/@nexus/schema` but actually needs to look at `node_modules/nexus-future/node_modules/@nexus/schema`). The system tests encode a solution to this. You should only have to think about this when actually devloping the system tests.\n\nThe solution to this problem is an env hook exposed by `nexus-future` called `NEXUS_TYPEGEN_NEXUS_SCHEMA_IMPORT_PATH`. when set it will cause the typegen file `node_modules/@types/nexus-typegen/index.d.ts` to have the import from-value rewritten to whatever the env var value is. This env hook lives inside the typegen component but is leveraged by the system tests suite.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test/e2e`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Fix bin\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation.\n\n   ```\n   vim ./node_modules/.bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.11.2-next.1","dist":{"shasum":"b2a4d321c7fbb3f8ff9a1cc7515b336a9cdfc1d5","integrity":"sha512-i6IyuWmu+nLS04626f597FxET4cf9ChTBWbuGVhgSV402ZxpqkBH5iV4/mAsG/10qXKVcM9qDNb0j6hdsZADvQ==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.11.2-next.1.tgz","fileCount":470,"unpackedSize":878181,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJea25ECRA9TVsSAnZWagAA5bwQAJCvXM+pm1VAE8edPjtG\nswt6U8O2nG0VqDYhDAISPZImin3SgJ5byeBqvT5MG6Tcw9lvcgtfKo/Av8mm\n6JhQemJZ880oQFDj0zSdZmYWH/medytIWGh7i8NDfom2r2urzvM1AOypIDW7\nNC7cb41jh5JUjaLP5L+2Nr9Pj5mKW8g9UNuhJ0AXtSCmJfrCCBSoSvKTkBgl\niiwFbg4xAhrqpQIGQ1zDoSAZxl4KMILoy/7pn+R80QQDgViqcUVHfJ1QjHhB\nG4+CDhJyNHPEk17Ym0gNsdbqh+xwmHv/jEOSjJHq7iifzeEfYrnTvJvWg8OT\ngfWncx2NF70w4F/CnNdjjIobfF549eignpLJKo13Qpt1P6D6oH47BPdOTsH2\naLfswJFbAG/CGrP0TsRFsSSj7kyS7e1FqbvfmuSIMYCMVlP/957xoJycJ2R4\nv2T0fLjaP1it7f9tK8GAVEt0xXuyOc+BLZ9m4v0Kdt4UtcLw38K9BDw3r1fx\nrU/ncBAYRRRpcKdk3CFM8Q6ELcQ3FgU+PxVS3obr6/xDg4IneJ3gQ425XoFk\nEKxqiaMN377ibJhXgwdPVrhHaxiYQuzZv0sO2QOkSH3lRi4HNxVu92nlop36\nnRvIHy1ah4lurELfgLjLldtVzeq1hxaY1CtbbFIOsduI/Jn5Ki1w4wtOKOQc\nXLmC\r\n=ISAf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAcGcda+GJ5GifcVqLfrxRNPjQnrITzSCz/M1uADQgIpAiBFKkNQT2sJ8jzoNpvu1ZVVdhYpJ7Uo9Wd3STithFvpLg=="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.11.2-next.1_1584098883922_0.2961288849732302"},"_hasShrinkwrap":false},"0.11.2-next.2":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.11.2-next.2","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-morph":"^7.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","docsify":"^4.11.2","docsify-cli":"^4.4.0","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 60000 test/e2e","test:system":"jest --verbose --testTimeout 60000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <a href=\"https://nexusjs.org\"><img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\"></a>\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### System\n\n```\nyarn test:system\n```\n\n- Live under `/test/system`\n\n- Almost like E2E but they work with the local package code (whereas E2E would work with an actually published package).\n\n- These are useful because they provide many of the functional checks of E2E with a lower barrier to running, namely needing a published package. For example pull-requests made by community members cannot trigger E2E tests because that would require publishing and GitHub actions has no way for [PRs from forks to access secrets](https://github.community/t5/GitHub-Actions/Allow-secrets-to-be-shared-with-trusted-Actions/td-p/34278).\n\n- You must run `yarn build` right before running these tests.\n\n- These tests run by having the local package installed via folder-reference into the test project. This disables package hoisting. This in turn [breaks typegen](https://github.com/graphql-nexus/nexus-future/issues/432) because its import of `@nexus/schema` will be unresolvable (it looks for `node_modules/@nexus/schema` but actually needs to look at `node_modules/nexus-future/node_modules/@nexus/schema`). The system tests encode a solution to this. You should only have to think about this when actually devloping the system tests.\n\nThe solution to this problem is an env hook exposed by `nexus-future` called `NEXUS_TYPEGEN_NEXUS_SCHEMA_IMPORT_PATH`. when set it will cause the typegen file `node_modules/@types/nexus-typegen/index.d.ts` to have the import from-value rewritten to whatever the env var value is. This env hook lives inside the typegen component but is leveraged by the system tests suite.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test/e2e`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Fix bin\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation.\n\n   ```\n   vim ./node_modules/.bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.11.2-next.2","dist":{"shasum":"61579af9d8697fa460143a368fe280749ddf6aef","integrity":"sha512-dM+cCZBTLxFPtECsEt14NCdzeYhRjSdxiFcNGieDxWiXNvrck/ewqcY+fGmOYLzcFszutAT8cKfaYVUlB8JjFA==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.11.2-next.2.tgz","fileCount":445,"unpackedSize":873241,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJea5ZlCRA9TVsSAnZWagAAWVAP/i2pkIcP70V56cS5Trm6\ny5il/TU5pjPJGBn2dv+tZd38aeODRU/cdQNb7gcENiYX64z9iSJMwmnd5n0q\nSwTFcmBU5kMMFXt5s6kV5JEHD8hff9CL9oaKRD/auEAiwIoUe+S1pwvNt/dL\nHJ4zfz7ayD3t923rJ/0ianh1LlwTal/808NIEkam2SFXoMez/Ef1fgYL3C60\ndJvOxfMyk+QVgcQZ4ZhSSPTquMEd9jPtnr/3bpe979EcfJyjF1hEbnBElYbd\nSWcYf/i0o9cB2CSZ6rg67Pfo1Uqv7yqYSwpeuyUYR8yB8JwdSf9SqYSo5SBY\nMDhs/637m9u5gawQ0WzF38fIbV34xQU+OiiZOuWM/2GDcsWK+78ywlE6A072\n5vprcwQI3wwlRRVsRGHXTM+9/lLtaKMVcJPHk2rWBKIWGk1OHwNlwFNRG3ci\nE/yoD74y7z+MSfcJut5Ob2rdVOzc5qh+AEePNHsuHjRtuXdNKnWKOCl84OeH\n1zj3TVlWGhmPv76CbknVlYsnYwH7/kGXO3ROApIDQbJGnEULDyKwH52laNJA\njMRnoLDUuLNE9U2OviACDcIBc+spQQNW0rJZKRhysvBOLbmI5sv6+vJXndzz\nr2BWJG38fiQvUudibJjDSQ0GNOdhDjYOZsQo+b0FIkDCuOmWN04s9MIYf696\nnHUk\r\n=i+le\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIClHvIjqk5D/Bnut403FXb8XND04s8e0r6JRK06uNmRQAiEAia7ie30+dPd/1DOvtjbyGJZYzKRU27ZIHaIhSKSVKu4="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.11.2-next.2_1584109156984_0.2608562146953124"},"_hasShrinkwrap":false},"0.11.2-next.3":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.11.2-next.3","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-morph":"^7.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","docsify":"^4.11.2","docsify-cli":"^4.4.0","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 120000 test/e2e","test:system":"jest --verbose --testTimeout 120000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <a href=\"https://nexusjs.org\"><img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\"></a>\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### System\n\n```\nyarn test:system\n```\n\n- Live under `/test/system`\n\n- Almost like E2E but they work with the local package code (whereas E2E would work with an actually published package).\n\n- These are useful because they provide many of the functional checks of E2E with a lower barrier to running, namely needing a published package. For example pull-requests made by community members cannot trigger E2E tests because that would require publishing and GitHub actions has no way for [PRs from forks to access secrets](https://github.community/t5/GitHub-Actions/Allow-secrets-to-be-shared-with-trusted-Actions/td-p/34278).\n\n- You must run `yarn build` right before running these tests.\n\n- These tests run by having the local package installed via folder-reference into the test project. This disables package hoisting. This in turn [breaks typegen](https://github.com/graphql-nexus/nexus-future/issues/432) because its import of `@nexus/schema` will be unresolvable (it looks for `node_modules/@nexus/schema` but actually needs to look at `node_modules/nexus-future/node_modules/@nexus/schema`). The system tests encode a solution to this. You should only have to think about this when actually devloping the system tests.\n\nThe solution to this problem is an env hook exposed by `nexus-future` called `NEXUS_TYPEGEN_NEXUS_SCHEMA_IMPORT_PATH`. when set it will cause the typegen file `node_modules/@types/nexus-typegen/index.d.ts` to have the import from-value rewritten to whatever the env var value is. This env hook lives inside the typegen component but is leveraged by the system tests suite.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test/e2e`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Fix bin\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation.\n\n   ```\n   vim ./node_modules/.bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.11.2-next.3","dist":{"shasum":"bab1feda6db0db45efe310b3021d7772a8a0a143","integrity":"sha512-bJldpcH1E0KyBkkyiRqFEhoSbh9qlaaspXZ4O5zSScbhAX6NX+T0Jf1uhXLzZo4xrl6ARLS9C1egubeaBCUcGQ==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.11.2-next.3.tgz","fileCount":445,"unpackedSize":873842,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJea7tYCRA9TVsSAnZWagAA5PYQAI7kvKrFI8ikxG75WDw7\npKwBiKXQMsVZv5LKS15jNgU1JfiBkNtdDfAW9LuIZ6cFO6WGdHZvcfMQoaQF\nhod+jCI2jrazdKlFnrwxuxbADzLyeazqFatYbJdP+oJ/WbE7ImZIfMuo+czb\nnhlvVG4MQjBLNIy+1G/Gx94mKi9oEjsstaB/xvzMNhzZDSwCL0qTia0kUiTA\nfcTrSswOtxR+M5TKIkgB23oiv33eOpIBaICDUvOknydq0iQcD3qsLAB/ZJgY\nWiv1UzCtxqcQIz0POGxRXbwgS170Sadux+b6BA/ELDJvqRVWvmAI3BopPgfB\naValunRnwHvoZQDuFIcAFNgSJAJLhmM/M478WPr/YGPNW9YmdbCR7D5+zh4Y\nN0H/0iLW61nqXugy6WCVNELVTlJAo8awjHPsY6LfICVR5mkLJThX6nxN62MK\n33Lv6jJuEOW/wJzETrzR2vPxOk/ZJiU9Kkh5OyMURhtSiGbWZGtPZ0bgbkKX\nGuI1C+HeiBBIeh/VWDhmUBC7lLnsxJ2hpDkOOwnMvOVMzg5MWL4s4QWQvLFj\nwpKnVmHZ45jnvP99SVjh+CE8sX+ey3PmnPBfDtirErRaDk/JipA7WYYUhywJ\nPudsS5xwHfBPJ+3G9TT9OMq1PUqN6+RsLw0Jr6icwY9UDR5EUSYziFXA8Qmk\n0RNO\r\n=1zfq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD/2YWYwNGvMF7vBz3sMG6xwLJpzyi1lYHYSSQMHs/NwgIgerRBGF2tUCBnl2X1z2pBB9nYu+wSIaM0uFn0Gz9iOzI="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.11.2-next.3_1584118615913_0.7141852880710262"},"_hasShrinkwrap":false},"0.11.2-next.4":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.11.2-next.4","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-morph":"^7.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","docsify":"^4.11.2","docsify-cli":"^4.4.0","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 120000 test/e2e","test:system":"jest --verbose --testTimeout 120000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <a href=\"https://nexusjs.org\"><img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\"></a>\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### System\n\n```\nyarn test:system\n```\n\n- Live under `/test/system`\n\n- Almost like E2E but they work with the local package code (whereas E2E would work with an actually published package).\n\n- These are useful because they provide many of the functional checks of E2E with a lower barrier to running, namely needing a published package. For example pull-requests made by community members cannot trigger E2E tests because that would require publishing and GitHub actions has no way for [PRs from forks to access secrets](https://github.community/t5/GitHub-Actions/Allow-secrets-to-be-shared-with-trusted-Actions/td-p/34278).\n\n- You must run `yarn build` right before running these tests.\n\n- These tests run by having the local package installed via folder-reference into the test project. This disables package hoisting. This in turn [breaks typegen](https://github.com/graphql-nexus/nexus-future/issues/432) because its import of `@nexus/schema` will be unresolvable (it looks for `node_modules/@nexus/schema` but actually needs to look at `node_modules/nexus-future/node_modules/@nexus/schema`). The system tests encode a solution to this. You should only have to think about this when actually devloping the system tests.\n\nThe solution to this problem is an env hook exposed by `nexus-future` called `NEXUS_TYPEGEN_NEXUS_SCHEMA_IMPORT_PATH`. when set it will cause the typegen file `node_modules/@types/nexus-typegen/index.d.ts` to have the import from-value rewritten to whatever the env var value is. This env hook lives inside the typegen component but is leveraged by the system tests suite.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test/e2e`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Fix bin\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation.\n\n   ```\n   vim ./node_modules/.bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.11.2-next.4","dist":{"shasum":"d687f7829eee0b72f8789d5b2d9a6c8a3330f137","integrity":"sha512-BU+3kWZXe/ITjBE2v6GnzYIfOMGreXQWBp3yEYQ0vsBID+JnbCEOj5UBZa4Wga+Leo05ghsvPPtmKIPDzF0vtA==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.11.2-next.4.tgz","fileCount":445,"unpackedSize":874266,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeb3UKCRA9TVsSAnZWagAABNkP/iGczE5U8/fIXUAOEyYi\nGovZJmL4LLE6wo13HKbt7SHwk/QAwQsvqHHV4EhRmuJ5+BEJq3Dz3bqmseeD\nGreI/ExQ03SSkzHhBwB0kkSsB/eJAUxyoMarSa8MBp7Q+R2EUV32D2KJGpK1\nGTwO020S+AZbD1DdUUUQ2u2s4qpZUBk2XpxLHS43FkF5D5bt0TGLwo1CKqXB\nqMcv88d5vRfJIV2uORKGH3u913qFCApFygTEJVKJWS9MP/Y1gDkVDaOxsOIu\nkSUe/t/r5v/QUDV763NJ6q4LpOHgVV67u42fwt7kpm1IKuwHMxxJR2+AW6S4\nxRdaaXEcxC5qHnO6xH7cIKfBK67qzCfHgNSrNqthQDTbxUvc5NqgRv1icBoF\nyMXH+y51mBtihmM7HsvJwTaXrk/kTEc0T5JNk5Pamkin/bbNydHphEs/L3eP\nVrPz8bo82eYe5CgOM6EFCs7qcLxdeidmT18JbqB4iEXxnhLA320oZ7b2KIwp\nDBY8R+TukDSGvFQvNjZDZT2ddnkjnY9N/Cf0vYLRh09QrnDuEBVsCDJe/+NX\nXTJOxDu3U0Jtc7bJGsaBIu2SxKRBZ/UuPghAt4wNmZjLC6MkXhzyT+0MD5OS\nCTtExK9iXUusBPFiUzC/prUaR2nig4wQjDUkr61LribFpU5vcAivhtHO+UYV\ndXbg\r\n=WS3n\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCGN8/OFdnnVg3tsnCFd76VR5nUOvvVvMq2zBrBwI+V0QIhANZ3mhwMOWFqkRaHVQVkroSsxpo/0S9rNOa0tSvVHs56"}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.11.2-next.4_1584362762228_0.08912357494105194"},"_hasShrinkwrap":false},"0.11.2-next.5":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.11.2-next.5","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-morph":"^7.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","docsify":"^4.11.2","docsify-cli":"^4.4.0","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 120000 test/e2e","test:system":"jest --verbose --testTimeout 120000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <a href=\"https://nexusjs.org\"><img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\"></a>\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### System\n\n```\nyarn test:system\n```\n\n- Live under `/test/system`\n\n- Almost like E2E but they work with the local package code (whereas E2E would work with an actually published package).\n\n- These are useful because they provide many of the functional checks of E2E with a lower barrier to running, namely needing a published package. For example pull-requests made by community members cannot trigger E2E tests because that would require publishing and GitHub actions has no way for [PRs from forks to access secrets](https://github.community/t5/GitHub-Actions/Allow-secrets-to-be-shared-with-trusted-Actions/td-p/34278).\n\n- You must run `yarn build` right before running these tests.\n\n- These tests run by having the local package installed via folder-reference into the test project. This disables package hoisting. This in turn [breaks typegen](https://github.com/graphql-nexus/nexus-future/issues/432) because its import of `@nexus/schema` will be unresolvable (it looks for `node_modules/@nexus/schema` but actually needs to look at `node_modules/nexus-future/node_modules/@nexus/schema`). The system tests encode a solution to this. You should only have to think about this when actually devloping the system tests.\n\nThe solution to this problem is an env hook exposed by `nexus-future` called `NEXUS_TYPEGEN_NEXUS_SCHEMA_IMPORT_PATH`. when set it will cause the typegen file `node_modules/@types/nexus-typegen/index.d.ts` to have the import from-value rewritten to whatever the env var value is. This env hook lives inside the typegen component but is leveraged by the system tests suite.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test/e2e`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Fix bin\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation.\n\n   ```\n   vim ./node_modules/.bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.11.2-next.5","dist":{"shasum":"96bc1989973a39ed734b3637acbfc0f081c06d71","integrity":"sha512-Mf5KNbjbGUoKJNntdK3qm0o7r68BdI02Ud1yw58MK01lVPwzZt6RmNYcLB+c1EKsrG5SwFsV6oTqlwakfr9iQg==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.11.2-next.5.tgz","fileCount":445,"unpackedSize":874264,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeb43eCRA9TVsSAnZWagAAXBwP/3KlXCiu1Z6UK2srhSDT\nkSX4Uky0VQjh6hE6lAZgszjeAqcLFd0zVO2TbhSJAfepOI25pct+qBphR8br\nzj9fh+cVIxsyC2Nl7dS20/LnMlpbQ6MuSgY5BU16S2gdV4h/RKVN9b1plfVl\nlv+XvCdtVpHAXK8d4tt1VFZKrw61hXLyFLjG7TLaf5HjyCDetRLFMYnsm1Bx\nzwGMkxtb+CGFjIQN0/3mDTLvF70qJ8ut9xK28F6SSpYtWuceROCo1ywHDYT+\nq62jB7HFQhM6OTT/XfbGW8gIjCWZHMX7GLRC84ekH+72m89OAQP3iYFEqxN/\naqaFS4ozn8QrWCMKMgBkztqiIMciDjCiSulAOzaERBXNzhEezJmkkxiqMqgt\nx/ZkgQchIPlyQIWhNcj+GN1lcxEDEd8HDQGZ9ns6QNBRRxC6QiOvZXiFtOUq\norbsfA8NQ9Q/ErZnhxotb2d0yGJWZeCmCv8ANNxrFKNEeFXeo4afhnlVbxCp\nEDHdeYcw7UfpUcaI7dmtb3xGlQzyv3CQBkNSwbLmoITQV8BlPUB7dAKMn0EI\nq9T3TRrJZCgnDUvodc35t9HXi+lRyLi/Fw+S2BfBwTmxcpQZKKRDSCl2u4Us\nuqIW9TnVqfvTUeO92MR0fq//zYpjjtvzwEi+CvhHhHdTPs1j8nQEs85wCj0R\nlbMw\r\n=LALf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCOjoz8Z+q5keeE0Nma/gkX84IXpqTkLaz/IRhnTYbgQAIgJaOcc7JWMuoJJN0GMiJMmRQfs/KdSB0Azqa3meNkSPs="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.11.2-next.5_1584369118204_0.780895342666567"},"_hasShrinkwrap":false},"0.11.2":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.11.2","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-morph":"^7.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","docsify":"^4.11.2","docsify-cli":"^4.4.0","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 120000 test/e2e","test:system":"jest --verbose --testTimeout 120000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"description":"https://nexusjs.org","_id":"nexus-future@0.11.2","dist":{"shasum":"e9b74c6453cabd1fa7b42963b76b1a8d7362a029","integrity":"sha512-QJgYm3kvGjLKtPmxaHy7Lg7L1hk7yD82jEqYVXm5mkKS+VHozeqZHI2n6xruz+FKUg8qdHcmXki3XLvWru2cWA==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.11.2.tgz","fileCount":445,"unpackedSize":874257,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeb4/2CRA9TVsSAnZWagAApG0P/iL3aWrJ8DWab9E6rjl5\neYNn+iKxM0N43ao38u/i0LLl/kZ/KHiHPiAE8bBeHQlUKuWbXqgBhuNpDXA/\nkkdqnBd2xlsT29nOhnJMTDWmYzEK3DGdYLLlG8Oh8zLf4M4TYkEbgWVAy2Le\nzckQO+QuvADOG7i56ejlRR24L2NekeUe+I914/x9eJU3ZHtqtXbVq803TVBw\nTO8c7nIABtO76A1T5lgjs11QjIxvHK5UJ0hYmOUqqjfEXNlAaJvbbbYWnHpl\nHsUn3sqvV55vEsVya9yg2/cQd2godq3kR3VEWylQVid2QDGeov8O48d1VVjE\nXrlEuSHVEO9RFQ+U5oW2w6ZE+FtrJ2zjWqeXHD1gRonnzp7wy8AuB5KHM84m\nP2bZssbfJU1fUFZc22jopkxtgd82GhcLRl0LrFxNuznfulq/lXRu3lcScYOb\nK6Vs5UvbNhFUQf4Seasq+2o+VqR4Wmx1vHBPSsQMFfmvFgr9ZRyYX/7ddHvv\nMquIqhf1REKB+bg1NLklck8a0cDgo7Qlcws+QiGyr1ZLQlHZI+cnxGWlZuOF\nWBYuJzm2oILATGhimp/9pNTFdYbG8DOfQG2pKOIueMlsv7o0GbOxDV0TanFo\n84pViDMMvxSWZGVMEoGGL3DHuhjat6hidzGfCGryFN8xxVL8CgR6CUZPV9QT\n/yX+\r\n=8dR9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIArYV9jiA0612X7maN+irM2dHgw4UVesSh9yhAEzIZQRAiEA9yyZOmU9pAV3YgWfStW/AX69SZlteVvLqau10IStN+U="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.11.2_1584369653768_0.36999937125182414"},"_hasShrinkwrap":false,"deprecated":"nexus-future is now just called nexus"},"0.11.3-next.1":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.11.3-next.1","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-morph":"^7.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","docsify":"^4.11.2","docsify-cli":"^4.4.0","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 120000 test/e2e","test:system":"jest --verbose --testTimeout 120000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <a href=\"https://nexusjs.org\"><img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\"></a>\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### System\n\n```\nyarn test:system\n```\n\n- Live under `/test/system`\n\n- Almost like E2E but they work with the local package code (whereas E2E would work with an actually published package).\n\n- These are useful because they provide many of the functional checks of E2E with a lower barrier to running, namely needing a published package. For example pull-requests made by community members cannot trigger E2E tests because that would require publishing and GitHub actions has no way for [PRs from forks to access secrets](https://github.community/t5/GitHub-Actions/Allow-secrets-to-be-shared-with-trusted-Actions/td-p/34278).\n\n- You must run `yarn build` right before running these tests.\n\n- These tests run by having the local package installed via folder-reference into the test project. This disables package hoisting. This in turn [breaks typegen](https://github.com/graphql-nexus/nexus-future/issues/432) because its import of `@nexus/schema` will be unresolvable (it looks for `node_modules/@nexus/schema` but actually needs to look at `node_modules/nexus-future/node_modules/@nexus/schema`). The system tests encode a solution to this. You should only have to think about this when actually devloping the system tests.\n\nThe solution to this problem is an env hook exposed by `nexus-future` called `NEXUS_TYPEGEN_NEXUS_SCHEMA_IMPORT_PATH`. when set it will cause the typegen file `node_modules/@types/nexus-typegen/index.d.ts` to have the import from-value rewritten to whatever the env var value is. This env hook lives inside the typegen component but is leveraged by the system tests suite.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test/e2e`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Fix bin\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation.\n\n   ```\n   vim ./node_modules/.bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.11.3-next.1","dist":{"shasum":"41137bbefeeee93010e456af31289e8073b134c4","integrity":"sha512-9RA6xcaCivBqcN1rgx2YXij1RxS02GmMfbjUQNGmboFt3rSkhM3R4WN8hMkj/bke2wnBu9DbxhyCzsi2eVCpWg==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.11.3-next.1.tgz","fileCount":445,"unpackedSize":874850,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeb5kICRA9TVsSAnZWagAALnEQAJqXCh5MObzhrHYwQtKJ\n31S6U3OCWy45C1ls/yMRl5Rrr336zPqe3kmsVy9sURRac6WD8AfpqOcNlh/3\ncoT79WnSMQHg74hYpNBHLgU0HMOZBBZUs3K0grq4lHyL4N3ih71ATuOHAUgU\nfu27euXQ2YGsVmLb66WPc6NXv4KMIxrekj5RMHkIMeKo5Hx6CksoLxbVRFd8\njrg/UXJqnPip07xccUpfGkmg4x/qK6NTVJ1+CrZgU5qJppGmqXsUMPFDdPrT\nv1Lj4sF4rGHvPIcEQJ4XZ2Vv+hl1aelz4cZ3v8G0TTl8CFsRDdgUPpmoOWAZ\nKCuDFRyrzXcw3UE7wGC2IWPxTIHyHIHtYCIRJH44AqCCJYYD/0wtl2kgG1Ei\nd7ALUPWSeCc6+AuLnfwKiAYfCDSN2OgFpY7acA3s9BCm24wdu9qsGd62ghEq\nh5VbrWO9PGAfs+HHuF5AK/lKhLONvzmH+1fZeUdvfm5ZjR55fXC1RfPmJvGv\nGgM8Yqo6tz6qZHnsYKtHifvd2rv9aWC1FYa9rRRdEEveDdUzhmOW/QibiPGA\n1TXO6OQf5uDY54W6RZi4Uoyskn9cip1RfCe1dhW5ynenLpPWBM9gEWwzzNTz\nOzR+uB2QqB9cfZxF1C4/05V0/fH1QL9tDOfzIoTe/bciM9VzmJ/pwsrvkPT2\ngsp5\r\n=Eb6V\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDBonskrWqq3pxamwMhlwd+E/9iuIdWxyE0qIoYcqTiPwIhAPnqDuHQCdqbDSgcQdvKYhSpZ2I6UAl1E9+ELOxBAHNV"}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.11.3-next.1_1584371976388_0.5760074385413656"},"_hasShrinkwrap":false},"0.11.3-next.2":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.11.3-next.2","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-morph":"^7.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","docsify":"^4.11.2","docsify-cli":"^4.4.0","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 120000 test/e2e","test:system":"jest --verbose --testTimeout 120000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <a href=\"https://nexusjs.org\"><img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\"></a>\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### System\n\n```\nyarn test:system\n```\n\n- Live under `/test/system`\n\n- Almost like E2E but they work with the local package code (whereas E2E would work with an actually published package).\n\n- These are useful because they provide many of the functional checks of E2E with a lower barrier to running, namely needing a published package. For example pull-requests made by community members cannot trigger E2E tests because that would require publishing and GitHub actions has no way for [PRs from forks to access secrets](https://github.community/t5/GitHub-Actions/Allow-secrets-to-be-shared-with-trusted-Actions/td-p/34278).\n\n- You must run `yarn build` right before running these tests.\n\n- These tests run by having the local package installed via folder-reference into the test project. This disables package hoisting. This in turn [breaks typegen](https://github.com/graphql-nexus/nexus-future/issues/432) because its import of `@nexus/schema` will be unresolvable (it looks for `node_modules/@nexus/schema` but actually needs to look at `node_modules/nexus-future/node_modules/@nexus/schema`). The system tests encode a solution to this. You should only have to think about this when actually devloping the system tests.\n\nThe solution to this problem is an env hook exposed by `nexus-future` called `NEXUS_TYPEGEN_NEXUS_SCHEMA_IMPORT_PATH`. when set it will cause the typegen file `node_modules/@types/nexus-typegen/index.d.ts` to have the import from-value rewritten to whatever the env var value is. This env hook lives inside the typegen component but is leveraged by the system tests suite.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test/e2e`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Fix bin\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation.\n\n   ```\n   vim ./node_modules/.bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.11.3-next.2","dist":{"shasum":"b4d35f22247d38fd45ba1f3024e5a2c0940e081e","integrity":"sha512-gpNoMi4ZgWP0PJA+NR4WkrmrSuis6xpj06OjhyLETcR+MhoZ8LqKy3wG6llu7Qq4nQ7cCEmORHLmVxpskTZZjQ==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.11.3-next.2.tgz","fileCount":445,"unpackedSize":874883,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeb721CRA9TVsSAnZWagAAuSQP/iKMpflU5/sxaYGYMH8x\nxraIyfrFtjkYOZCPswuqSBUEluZO7Hh5g7LbHyLiYkruGa8cNnv/1SJKiEzQ\nvKuXtolfejpY9/g8GmqQp7lPkvZcB7sbuHapN/CrxGdHkt2oSh2a9OUcLURB\ntvmIMpx6gKp8eUXr5y/lVaHJZDDxSirs+H54PJrb0FEtxYXspw1GpMq546Pi\nPrCaIlPNdQm/42TI0CvA6d26a9gdC9DqhqG+eIusvIcSQUH/JIcdvrTWM9aj\nEx4omppVmK0ufZCUYZueifV4SUs5aW5kh7MPvNphkXDpX7UiHbAkBzUm1MZo\nDuIzI0kV6zShgybEEvLWScYdzgblYJaOD2yFLVSjCF0Zpfgnzy1ctLrdRC82\niWu46k+bUVgAKhBHHJ+EId88EmyiGltGu67ea9aoBWpdmKgMQlzI+1WRrsnn\nbYESjJ+SIx9QfGDHglbomLnxPiLAyifIXMMhAp1cgtCunsvzAOb0VHJ5Vj31\nuJYiObT6SRKMAc3UuUTIr2iZMFf3F0ENHlIGzYiKEpfiV5mDwRJX8Wte+u9H\nyKVW/WHngedDu/w1sEVEIeeL9H6y2iPeuASUJAnn+Td/Hm84WI74joSbFGi6\njOmOAXf04rfcdl2CqDzY7eSf9GybJwhHtl6K5HDpBD+6EgFCc4I6qkWYj8dI\nIcaI\r\n=RCLv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCCGJpKx+rwLJH00AEHxT1CS1VgphMjUT6e3BmVeqCufwIhAI9XsN59tUwU1HCCHyxKtN+7xyrVYBd3PRxoq6cLyAVa"}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.11.3-next.2_1584381365125_0.8415804361350772"},"_hasShrinkwrap":false},"0.12.0-next.3":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.12.0-next.3","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-morph":"^7.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","docsify":"^4.11.2","docsify-cli":"^4.4.0","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 120000 test/e2e","test:system":"jest --verbose --testTimeout 120000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <a href=\"https://nexusjs.org\"><img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\"></a>\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### System\n\n```\nyarn test:system\n```\n\n- Live under `/test/system`\n\n- Almost like E2E but they work with the local package code (whereas E2E would work with an actually published package).\n\n- These are useful because they provide many of the functional checks of E2E with a lower barrier to running, namely needing a published package. For example pull-requests made by community members cannot trigger E2E tests because that would require publishing and GitHub actions has no way for [PRs from forks to access secrets](https://github.community/t5/GitHub-Actions/Allow-secrets-to-be-shared-with-trusted-Actions/td-p/34278).\n\n- You must run `yarn build` right before running these tests.\n\n- These tests run by having the local package installed via folder-reference into the test project. This disables package hoisting. This in turn [breaks typegen](https://github.com/graphql-nexus/nexus-future/issues/432) because its import of `@nexus/schema` will be unresolvable (it looks for `node_modules/@nexus/schema` but actually needs to look at `node_modules/nexus-future/node_modules/@nexus/schema`). The system tests encode a solution to this. You should only have to think about this when actually devloping the system tests.\n\nThe solution to this problem is an env hook exposed by `nexus-future` called `NEXUS_TYPEGEN_NEXUS_SCHEMA_IMPORT_PATH`. when set it will cause the typegen file `node_modules/@types/nexus-typegen/index.d.ts` to have the import from-value rewritten to whatever the env var value is. This env hook lives inside the typegen component but is leveraged by the system tests suite.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test/e2e`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Fix bin\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation.\n\n   ```\n   vim ./node_modules/.bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.12.0-next.3","dist":{"shasum":"996d07cb9f9f793b8f6c3c21eb9644269429e888","integrity":"sha512-3R2uHxNbhechxEkx14SyU+Pf989HALHfT2JfzNUDh5+odroq5azxOgQwVtooxpvedtGv7sFdVg9F1iUrfYSQMQ==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.12.0-next.3.tgz","fileCount":449,"unpackedSize":877556,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeb8MCCRA9TVsSAnZWagAAGR4P/3lo1SUZqIcmZ9jbwyOl\nE/s/EtMO/mPpF44IiGT4+beg8/PZ02otUbPBRsCSm8EVvd5CUVoUWgm3L5G0\nwREY3DCkb2zYTGnYlx8/nzXZ/27t0KbODLYNiBDFbTczRk2C1Sl1L7aBO+cq\nIAkmdmN0CSBNIWRWrSe6rhPrQ4bFjQGrrlX72abqguFhK+ovQwehzh89lakL\nsctTKS8P2TCDeunyjb7l9DvbmVfzjfXuJw3TWPLkfprw20jxnNJBVvn2b3pW\nvvKfV1JNBi0GgINaVbflMcIwJzs7D3zGr7rAz9RuD9O2JsEbcg1SxNHKTRKI\nt03/tkD409K9EA6U9rD+cuu7pqEC/5RNRXlj4eBahZz8F2G0dGji1I4uEpVN\nX3O+ZvYgWgyF0fdAp6eyvwRfRhoBi9DC0ISrfYgb9vtTROW+qlK+IkyKjMy9\nWBPlSGjTxTfchrauNtWfJJv0ti7zhmlJ7M1Jm2VxexUk79OwAmYD4HEeO8Q+\nfZD6MacLNynSttgVgYiMKPSzP/CiRlDxYgkULKWjzdX2uPtT9WlivN55vvJy\nC5wQfk4lRlAcceAPRd27K631RqNB530u0WL9Ck5sVa6k+CTYNY2E8DB2HnIY\nJ3Kk4Go797xjkSesrovYlZb9f+ewD2FpMdq//9BCDhFBtcOAcvcBRfvdw8Cn\npFn7\r\n=TaUA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCFJs1sQ9d2tNGuB8zZvhvjOY8aVzOzhtBxJGUXNMTZAAIgFwFAp1LmCiNM763GiT2oIZMuhee5dZgl6YcIaMZzG24="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.12.0-next.3_1584382721899_0.32562361752485547"},"_hasShrinkwrap":false},"0.0.0-pr.494.1.b806236":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.494.1.b806236","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-morph":"^7.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","docsify":"^4.11.2","docsify-cli":"^4.4.0","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 120000 test/e2e","test:system":"jest --verbose --testTimeout 120000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <a href=\"https://nexusjs.org\"><img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\"></a>\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### System\n\n```\nyarn test:system\n```\n\n- Live under `/test/system`\n\n- Almost like E2E but they work with the local package code (whereas E2E would work with an actually published package).\n\n- These are useful because they provide many of the functional checks of E2E with a lower barrier to running, namely needing a published package. For example pull-requests made by community members cannot trigger E2E tests because that would require publishing and GitHub actions has no way for [PRs from forks to access secrets](https://github.community/t5/GitHub-Actions/Allow-secrets-to-be-shared-with-trusted-Actions/td-p/34278).\n\n- You must run `yarn build` right before running these tests.\n\n- These tests run by having the local package installed via folder-reference into the test project. This disables package hoisting. This in turn [breaks typegen](https://github.com/graphql-nexus/nexus-future/issues/432) because its import of `@nexus/schema` will be unresolvable (it looks for `node_modules/@nexus/schema` but actually needs to look at `node_modules/nexus-future/node_modules/@nexus/schema`). The system tests encode a solution to this. You should only have to think about this when actually devloping the system tests.\n\nThe solution to this problem is an env hook exposed by `nexus-future` called `NEXUS_TYPEGEN_NEXUS_SCHEMA_IMPORT_PATH`. when set it will cause the typegen file `node_modules/@types/nexus-typegen/index.d.ts` to have the import from-value rewritten to whatever the env var value is. This env hook lives inside the typegen component but is leveraged by the system tests suite.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test/e2e`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Fix bin\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation.\n\n   ```\n   vim ./node_modules/.bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.494.1.b806236","dist":{"shasum":"1c81e62323cab7f589d0ed7e552f3751d553a0d5","integrity":"sha512-2yBBRr6pYm5mUzq0s9M+yK4ZvxIHqeskqz3TM3cMP2uY/gS32I1tJ0dSsGI04r55qdWE3BnZpN9wtPs7sf6M8Q==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.494.1.b806236.tgz","fileCount":449,"unpackedSize":877585,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeb9xwCRA9TVsSAnZWagAAJzEP/1NQErVQzmKC/HwWYEd9\nLftf5rE1XeglUP+BSsMM22htIlxKX0Q5tKFT1PZI8WK4lnq9GRil36ORispV\nLRhzj/RCgz8X74uAchN1l5t0HZkgXQrM+y/DE0n3zK0v0/eZ4hYmhJktyVpr\n0E0nYTl5flZTWI6i8qmfK30thEyJyzyXrO4I9quqNRJej/JwGSHKDYBBaA0o\nUakDll3ND0fUmLSw06eYksQfdY2EtFBfrKA8ETl5B9/HPV9YLBAGc+xfwy+B\np+eFGoJNAR33EEN4w1S6gziPAp+BlEjOBf7v+4HdJtBhH/BRS0rG3eJ2Ag+C\n4CDT6WrJjOFetNcNFJvQQbSLR1S32SY6Gnoc9sTmJtBVVyM+UNygPKdimans\ndCp/sIVE3+mz0gFq2L0VOOaZwYn207tiCwFlSLurCbjOrMSGagyioZDlTSlc\ngEvvTUZrJnAcC1Zs5PKZ4tKJ4oRf3bKgur1pa7IINBh9cXk7YcUV8Y1o7RS1\nCQMk+BxsQMQAVsHU7g0nH/JlD1yBtk7Chx6b7eKWwggUQiBiPqjd8dUKgxoj\nWJOUrSYdGKqGmmmLH0Hv7ELesW2RR28E583eJE4zW1bhuVC013lVtUJYLL1C\ntIdUb7M/uPAB7hwUy07bpcdTPQkbspLrQZu8LFCxy8dpm/QEw8/Lx0Ye8Oxb\n+d3G\r\n=a8Y8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCGuejPaVxV8LkSfD/AMhiukCUUoo5Cw1RexkG9/EmBLwIhANCMTMe9uhgArhDwGQgXin8spYj9QwIjiW8yWAlei81Z"}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.494.1.b806236_1584389231385_0.3460132486510421"},"_hasShrinkwrap":false},"0.0.0-pr.494.2.edd380d":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.494.2.edd380d","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-morph":"^7.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","docsify":"^4.11.2","docsify-cli":"^4.4.0","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 120000 test/e2e","test:system":"jest --verbose --testTimeout 120000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <a href=\"https://nexusjs.org\"><img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\"></a>\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### System\n\n```\nyarn test:system\n```\n\n- Live under `/test/system`\n\n- Almost like E2E but they work with the local package code (whereas E2E would work with an actually published package).\n\n- These are useful because they provide many of the functional checks of E2E with a lower barrier to running, namely needing a published package. For example pull-requests made by community members cannot trigger E2E tests because that would require publishing and GitHub actions has no way for [PRs from forks to access secrets](https://github.community/t5/GitHub-Actions/Allow-secrets-to-be-shared-with-trusted-Actions/td-p/34278).\n\n- You must run `yarn build` right before running these tests.\n\n- These tests run by having the local package installed via folder-reference into the test project. This disables package hoisting. This in turn [breaks typegen](https://github.com/graphql-nexus/nexus-future/issues/432) because its import of `@nexus/schema` will be unresolvable (it looks for `node_modules/@nexus/schema` but actually needs to look at `node_modules/nexus-future/node_modules/@nexus/schema`). The system tests encode a solution to this. You should only have to think about this when actually devloping the system tests.\n\nThe solution to this problem is an env hook exposed by `nexus-future` called `NEXUS_TYPEGEN_NEXUS_SCHEMA_IMPORT_PATH`. when set it will cause the typegen file `node_modules/@types/nexus-typegen/index.d.ts` to have the import from-value rewritten to whatever the env var value is. This env hook lives inside the typegen component but is leveraged by the system tests suite.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test/e2e`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Fix bin\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation.\n\n   ```\n   vim ./node_modules/.bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.494.2.edd380d","dist":{"shasum":"77a3744673e832a7adeffe532de34a0562ba8cd8","integrity":"sha512-7bmpLtlreqQpuks2L2TDVN9Dsr/jiCDzXtiGe0nUjnd848AGZdHBhGSSvdUzSzC9rGO8pvaIHFVVdhd+MKEvGg==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.494.2.edd380d.tgz","fileCount":449,"unpackedSize":877586,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJecDWXCRA9TVsSAnZWagAAHvEP/RlZVgYaM0gxxug/qBBP\nL3Yxa+Iyt5PrFf/Tdc9Ok6LKlDiXNO9JPvNEDTErMOnJa2UBRlRP27KiEzrJ\nsGqpbFRd/lp0jmg6tLbcNk0Hhh3BORjY1C6BAzoNa0x5uLDyocIUhX7qFgkj\ns7C7+mpNf0j8D1BSV/bNizA5hbG4JGnhReorM7sxHr4J1nqB6Z8gifWkINPs\nAfoHHdED0oQmlpkwE5pgaYoXOs437dloWAgMh/1FIGYPGR9UFIM2GqbKJ1aq\n1zdnS1srAZ+Emwb1l7HOrlLUBaZ93+eUtVJ1wyj8SOrJxez/GzBq3BjlZ8OM\nCwd+YsruV2bnS9Syw5o1udvayYn+7SO7oCt3J63pqlDjo7q5Php0h6FOFIlC\nAwHtWI8y+JcksLKRS7uaWBPyLZEKjmCHa3Pyv7X64apt0RX5GoaggFcNTaAt\nbWCy1wbaFD1sLXKS2e/MNGglypnF8jIlB6+jDf6OkdkYBkV5+UNlseD+xCVA\ns05ic0cORG2iYAXQtoEdKAkfM/7mTcPvSLajd8Z8smuu/S2DFGOA0a/bjDN4\n4daTajKNlvAAE3OZwsrF8cvAPmnOreNratgbOGZaJkX3udb5ww1Mf7tDLYvL\nIYiofMIUofmcZXbH1Fzj4XQ8ER+nZNVgyuEUhYEBaX6S2F/A5n6jzNn/PKAs\nIs3e\r\n=sKZF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDTOUSzsn34SDIRwVRJG1sPe5cga3B84297NeLVHUjibwIhAN/OlPgnyYH5TJ/jsc+h+O5XjotlkLvgmshFKsM5jSmq"}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.494.2.edd380d_1584412055113_0.4094387596715765"},"_hasShrinkwrap":false},"0.0.0-pr.494.3.49a90fb":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.494.3.49a90fb","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-morph":"^7.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","docsify":"^4.11.2","docsify-cli":"^4.4.0","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 120000 test/e2e","test:system":"jest --verbose --testTimeout 120000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <a href=\"https://nexusjs.org\"><img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\"></a>\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### System\n\n```\nyarn test:system\n```\n\n- Live under `/test/system`\n\n- Almost like E2E but they work with the local package code (whereas E2E would work with an actually published package).\n\n- These are useful because they provide many of the functional checks of E2E with a lower barrier to running, namely needing a published package. For example pull-requests made by community members cannot trigger E2E tests because that would require publishing and GitHub actions has no way for [PRs from forks to access secrets](https://github.community/t5/GitHub-Actions/Allow-secrets-to-be-shared-with-trusted-Actions/td-p/34278).\n\n- You must run `yarn build` right before running these tests.\n\n- These tests run by having the local package installed via folder-reference into the test project. This disables package hoisting. This in turn [breaks typegen](https://github.com/graphql-nexus/nexus-future/issues/432) because its import of `@nexus/schema` will be unresolvable (it looks for `node_modules/@nexus/schema` but actually needs to look at `node_modules/nexus-future/node_modules/@nexus/schema`). The system tests encode a solution to this. You should only have to think about this when actually devloping the system tests.\n\nThe solution to this problem is an env hook exposed by `nexus-future` called `NEXUS_TYPEGEN_NEXUS_SCHEMA_IMPORT_PATH`. when set it will cause the typegen file `node_modules/@types/nexus-typegen/index.d.ts` to have the import from-value rewritten to whatever the env var value is. This env hook lives inside the typegen component but is leveraged by the system tests suite.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test/e2e`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Fix bin\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation.\n\n   ```\n   vim ./node_modules/.bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.494.3.49a90fb","dist":{"shasum":"e5f000e77ef7cad6f935fb35199105507d166c5c","integrity":"sha512-EXaOhZALgiemKu6e6rgiAVmmAOsBoE8HGVbWgX3NPhe1IiDqYoYjG+7XT3Qpuy4P4uhoOhGZC2u6dALuXPJN3g==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.494.3.49a90fb.tgz","fileCount":449,"unpackedSize":877586,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJecDbzCRA9TVsSAnZWagAAXucQAKBg8xrcDCwi1Fa6e1ZI\nU7ZAbqb9ID4qF9Hbpb7gq7V2/FYLvUJWZIR2iAX+0wamTIjF2eVzoPqrCzoq\nEEDkM8EUifcpu7v+jnfRzA3k37rhlbw44YpnxeOIWDBBkXTU0Vn0L9zR20ge\n2RXMgrHIHZJrJNE9qOCmZ7nzO3fLcJrpAnneO+w6koVHfpsZmTT4McrZh0NY\npoSVDOeG+96ZGubY4UXFTKoDOefuomTm3r1Fz7pDCGHyOaznrFhnqdv1wNqY\nNAe2elkLOqfp8UXCFu2lH0MAp9hH6XiqzHvJEzt5ObuhsNu7wZBfouR2gLPu\nRHJ+ejKH0i41We7cQFRvLoaS88zdLWOaVLMTexMWu1adBDxV/UU0WLUp5F61\nVxmkiv8u5f8NwaAV6miOXUw3tw4mh3GKP/uHbAu8turfKvIY0F5+Nj0KzPMh\n0E+7vZUc2E1ZaQEKue6YBns/VZkkOzaLNm7yn7xC4ljCJyvJUudsv3/k1UTW\n5v6lO7NW7bm+UxUyzQzj2ajP8sMTUgHsuvKwOXp6dLV0Do5PnRcg9iV/z/J+\nvY6RbO7DTTDynpn+qR8BdgdcZ8nMwNXHzTeX92fZdLoV+lm1hxMcaspHd25i\nlOexLMrhZy4cZGxcvJD1aTlF65DM4f48VIB3fkmITVCHkVukLM2ozit4d3QC\nlCZL\r\n=zUAD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFQIDRm0iOZAsoumtkjwuEUhqhOr3NpAesTKa9q+PADSAiAZY8c0DJ5CsnsByb61Q+hTW3qd4jnMVT80EZqBf8O40A=="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.494.3.49a90fb_1584412402546_0.33880818609841"},"_hasShrinkwrap":false},"0.12.0-next.4":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.12.0-next.4","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-morph":"^7.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","docsify":"^4.11.2","docsify-cli":"^4.4.0","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 120000 test/e2e","test:system":"jest --verbose --testTimeout 120000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <a href=\"https://nexusjs.org\"><img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\"></a>\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### System\n\n```\nyarn test:system\n```\n\n- Live under `/test/system`\n\n- Almost like E2E but they work with the local package code (whereas E2E would work with an actually published package).\n\n- These are useful because they provide many of the functional checks of E2E with a lower barrier to running, namely needing a published package. For example pull-requests made by community members cannot trigger E2E tests because that would require publishing and GitHub actions has no way for [PRs from forks to access secrets](https://github.community/t5/GitHub-Actions/Allow-secrets-to-be-shared-with-trusted-Actions/td-p/34278).\n\n- You must run `yarn build` right before running these tests.\n\n- These tests run by having the local package installed via folder-reference into the test project. This disables package hoisting. This in turn [breaks typegen](https://github.com/graphql-nexus/nexus-future/issues/432) because its import of `@nexus/schema` will be unresolvable (it looks for `node_modules/@nexus/schema` but actually needs to look at `node_modules/nexus-future/node_modules/@nexus/schema`). The system tests encode a solution to this. You should only have to think about this when actually devloping the system tests.\n\nThe solution to this problem is an env hook exposed by `nexus-future` called `NEXUS_TYPEGEN_NEXUS_SCHEMA_IMPORT_PATH`. when set it will cause the typegen file `node_modules/@types/nexus-typegen/index.d.ts` to have the import from-value rewritten to whatever the env var value is. This env hook lives inside the typegen component but is leveraged by the system tests suite.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test/e2e`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Fix bin\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation.\n\n   ```\n   vim ./node_modules/.bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.12.0-next.4","dist":{"shasum":"ae277505e5c277952dfd42c4c1ea9f598bbccbbe","integrity":"sha512-Y98wldhIEfCV4/KwPLT3+gaC2thslkrJF/Dh0EE1jR+yuRD/ZEwe1+01SHazxaFY44FkGQ/3032I7GDEgoJdKw==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.12.0-next.4.tgz","fileCount":449,"unpackedSize":877856,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJecDgQCRA9TVsSAnZWagAAg6QP/iUsyr6sijLr0urz7NFo\n6ATtriiqbDQNPFjHt7MyetfXYsICPstCMhiXSTvHx3yDcFlOxGykH2/pPwt9\nFqzoxWgFaduN9pwvQJNhJY8OdYA4kLwlCgwEeUWdMFK0UYPCUwafPgtnN8Rb\nK/I4i76h/bRDDuYGGJ7ze9iNjkp9VrBwB9d60rD1hRZaJQkqnxCgDagJQyPd\nRHMNN/kdVlIWzpsLqwmwPRTDUQyU0oILWEYXGMMN2o3rFz/UYkDxDXaJNAzD\nJau8pJsn/JDHBxuLIZhY8h2q8yQ13B6y8R1O0IGlCv3GiPlw4qPjUMaMw6R5\n2rBO81YwFXYi4Qrj4p+cY0m9+BAnE1dW3ebnrac0WyGjbsT/+MJPpIMzIYv1\nevj7jiPDgWzI5TND7Dy0Y5C06O73AubxkE5isdRF4bQkMp0wiG80aalKY3Ya\n+Xxvuh5NTtWYj8rtjuPR9ROpfYcpy9zB9YrQLcw0T/S6b5Ja9scDcsnQIgys\n4FeyMiTGKi8xJIlNxHItWbnfpWjcPkxEg5Rg3mcsrxuf6l9+WZ6J59t13vzT\n08J9mTUOyOug5xwt7T2bY55yazddHZfywzcxRtNeFE9/LnKqiBEHtq6i8VmI\ngXotZLHULguuq9njgcIhiyg8LYkNYJCQJ0zd7GnM7uKlVnleaUvxG1TbKITF\nP0QS\r\n=UZeX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDxK67bO+/XAqu/PHhz/I9Nqv8A63GDxoH+mVUVGuLERwIgTGRaFA10GGvZmXT4EtyDF4Wbu3kMd4fLXKU8rrd+J2A="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.12.0-next.4_1584412687652_0.41407701791489937"},"_hasShrinkwrap":false},"0.12.0-next.5":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.12.0-next.5","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-morph":"^7.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","docsify":"^4.11.2","docsify-cli":"^4.4.0","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 120000 test/e2e","test:system":"jest --verbose --testTimeout 120000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <a href=\"https://nexusjs.org\"><img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\"></a>\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### System\n\n```\nyarn test:system\n```\n\n- Live under `/test/system`\n\n- Almost like E2E but they work with the local package code (whereas E2E would work with an actually published package).\n\n- These are useful because they provide many of the functional checks of E2E with a lower barrier to running, namely needing a published package. For example pull-requests made by community members cannot trigger E2E tests because that would require publishing and GitHub actions has no way for [PRs from forks to access secrets](https://github.community/t5/GitHub-Actions/Allow-secrets-to-be-shared-with-trusted-Actions/td-p/34278).\n\n- You must run `yarn build` right before running these tests.\n\n- These tests run by having the local package installed via folder-reference into the test project. This disables package hoisting. This in turn [breaks typegen](https://github.com/graphql-nexus/nexus-future/issues/432) because its import of `@nexus/schema` will be unresolvable (it looks for `node_modules/@nexus/schema` but actually needs to look at `node_modules/nexus-future/node_modules/@nexus/schema`). The system tests encode a solution to this. You should only have to think about this when actually devloping the system tests.\n\nThe solution to this problem is an env hook exposed by `nexus-future` called `NEXUS_TYPEGEN_NEXUS_SCHEMA_IMPORT_PATH`. when set it will cause the typegen file `node_modules/@types/nexus-typegen/index.d.ts` to have the import from-value rewritten to whatever the env var value is. This env hook lives inside the typegen component but is leveraged by the system tests suite.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test/e2e`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Fix bin\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation.\n\n   ```\n   vim ./node_modules/.bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.12.0-next.5","dist":{"shasum":"6756d9ceef2f6e9a7834430bbc8d961296b751b6","integrity":"sha512-H/Gu5YKjTYPIv1RLMvta6AX2pVsp+Pp+YI5D6HIbRqNWukpPMjHkGkPxeEASJ5ED7XLL16FMrvTDAu3ejzTPfw==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.12.0-next.5.tgz","fileCount":445,"unpackedSize":875360,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJecL6eCRA9TVsSAnZWagAAuI0P/RpoSoGE1FnxmN3HeFwW\nNunQf7p1mH1bQE6uUAH8YP3olpjHGvRrORIGwFOoCXGdpa6mNdAi6zcOc2Mp\n9SsrzN1cN6LyBDH2IrKLzkwrYbF08p+vOTbr8yyoj6GqK9vwS3107VA2Exfa\nkZxEUXTBy/z1VUX1pMJTesz/1aF6cygqUV58rf9C5dS/DJo3TD/MYMMirsGf\nmH/q+J88dlqk/oA4qRhtXpWeL8A3jIBOE9DotZrAXda9iGOdShGPrUyZN1Lg\nOk2VdXCYXwECxMCXvc9KDcmtQDd/Va6IzD0fedKccp9t750shQqXz9jJN4Kk\nMC4qexq45Zwvo5NQWeNm5KAhXUAf/J0adLBnm2rV9BSbHgNKQpqLtNzTkunD\nni7CSnzEm8nohEQBSxH4zx14ZScDpK2CkfyPJ0lq9ydaE9Obg5tYk27qFBpp\nr99DXSZAsgW+do0OpjcrbmMhML/8jKPkrCrJ0m33Sb1nv3l9eBS3bKcRjJn4\nFRiWhDRBPSiAGjpl8NLwZ9JZWgTl39rJIlJih3TstoJyhin+IOqUAE0lKian\npMLs+c6HeQM+yDvww+T6QWhLQ33AXJZd2pxlE270RUTufOCvA+x4gtiYIWE4\nMD7ObEadQ4bDGaIQqtyewUupfIrXzmDi3XoTPJUTXg+LJzbmlBdeHM65V3pd\njKi4\r\n=wnDE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC1HJv44QiqWR4smlVpbBr1qz/9Bu8h3KTrnsoggJwaAgIhAJ3GLwRrXQqQZhPfKB9RTi6anqB+fNPd5xe7Osu3fWRg"}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.12.0-next.5_1584447134031_0.48065534089124373"},"_hasShrinkwrap":false},"0.12.0":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.12.0","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-morph":"^7.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","docsify":"^4.11.2","docsify-cli":"^4.4.0","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 120000 test/e2e","test:system":"jest --verbose --testTimeout 120000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"description":"https://nexusjs.org","_id":"nexus-future@0.12.0","dist":{"shasum":"373f5292808daad56d68711bdc54ac0b9ed48874","integrity":"sha512-5hnv15Q3xbMZsf9E7qeqlSDVyo/RXwW3TuHNAlNQ8bMuSwE3MzjvPuW/MsHN4jFbS6wgAWN0wrAHoHXR+qrj8g==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.12.0.tgz","fileCount":445,"unpackedSize":875353,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJecNiyCRA9TVsSAnZWagAA8cgP/jIaF9wGUr1yzfm40+3T\n33lb1ZHKZGdKK4RYJblyX/UfM3kMyA/1ZlYYi1ljuZj3gbf7OSyYfPwqyzAH\nhfuLDcq8oSTZf/IPpZxogFeiDDZwlZApn9p+LkKR77keLEzVYMcMxkKCV4Qa\na210REdmhEftMjnO4gw9zUEspOygHlApMbb6tuHxvtx3Wz1I/iXWw/IjP9gQ\nL9NTbY0wf6BFLYgo0tFUSZrfUoDQQbYgA5Nco7fxRjI04TjPUb9H2o0RUHJb\neCx7IItbpt8OmZFbW4VDbDGfyYGId1oR7dSTWca1xZ38fLGQSJJYgpErq/Bq\nRbdqyYglT6Szf6aUytlU8VWKDjOA+8Xx0/8vsB0jWxRZIQU9EKSXHTjbFCN6\nYJ5nSxhm1FL8G/0Hw4OiQjpYM35YURaHzFh/Zr/wdovTLaWpaHHY/GxUlP7g\nJRjZaDu6XYUCyPLHDOQcLA6ayWlhWWkCwXJ/ilEiTZlhuxvs0kApzbqVHNO8\nM+Fd4a7pyecUmUIzzZTUMQS5OPaYoRHR4amx8oTkAHFf7N4KzqT3RmC0nujp\n7M3FaJxNZ51Af60G6LnwfE15zqjGUbYJwqNu+BgF2YH4l0dCGnL5vmzDUN/n\nrHOc33UGGA93MdpN8lBu+76Gz0KILiZQR5bWnzuiY3lYExrpzHhkiY8r7z6Z\nsg09\r\n=VEV4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAb1MU7oqMPaM3YvznqbS9jrEVrgbRrPR/U6rBZ89z9xAiEArjoiUbiPu7Vv5OIn56/hbiGNZs7sumqQMAnqUo0J/ps="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.12.0_1584453810138_0.6980250719812031"},"_hasShrinkwrap":false,"deprecated":"nexus-future is now just called nexus"},"0.0.0-pr.517.1.50fb2ea":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.517.1.50fb2ea","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-morph":"^7.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","docsify":"^4.11.2","docsify-cli":"^4.4.0","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 120000 test/e2e","test:system":"jest --verbose --testTimeout 120000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <a href=\"https://nexusjs.org\"><img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\"></a>\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Documentation <!-- omit in toc -->\n\nhttps://nexusjs.org\n\n<br>\n\n## Internal Development\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Code Architecture](#code-architecture)\n- [Testing](#testing)\n- [Releasing](#releasing)\n- [Website](#website)\n- [Workflow Tips](#workflow-tips)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<br>\n\n### Code Architecture\n\n#### Overview\n\n- Roughly speaking we have three distinct levels of code:\n\n  1. `src/{cli, framework}` Top level modules coded directly against their respective domain.\n\n  2. `src/utils/*` Mid level modules that might provide some conveniences or encapsulate concerns shared across `framework` and `cli`.\n\n  3. `src/lib/*` Discrete modules that stand alone conceptually and technically.\n\n- Each level builds on the one below it.\n\n- One can think of code as evolving from level 1 down toward level 3.\n\n  Of course the natural place for some code is level 1. On the other hand we often don't know at first what a generic solution looks like. So level 3 tends to be grown into, rather than started from.\n\n- You could see a level 4 here as npm registry, where we _fully_ extract a library. That is not an explicit goal, just a tip for the mental model.\n\n- Overall status of the codebase is in a state of refactoring. `utils`, `watcher`, and more are undergoing source restructuring in the near future.\n\n#### Layout Overview\n\n```\n/docs         -- The website\n/test         -- Integration tests\n/src\n  /cli        -- CLI codebase\n  /framework  -- Runtime codebase\n  /utils      -- Non-discrete modules (may have state, tight coupling)\n  /lib        -- Discrete modules\n```\n\n#### `lib`\n\nThe layout of a typical lib module looks like so:\n\n```\n/lib\n  /<module-name>\n    /index.ts        -- Export-only module, the public interface\n    /index.spec.ts   -- Tests against the public interface. Integration in the sense\n                        that it is agnostic to the unit or units making up the lib.\n    /*.ts            -- The modules making up the lib\n    /*.spec.ts       -- Optional tests. Please prioritize `index.spec.ts`\n```\n\nBe careful about lib modules depending upon one another excessively. The more complex the dependency graph the harder it _can_ become to reason about the modules. But if there is non-trivial re-use to be had and/or just a simple/clean and logical dependency then go for it.\n\nThe built-in exception to this heuristic is `lib/utils` which can be thought of as a bespoke `lodash` for our lib components. Use it for small utilities, which might be shared, are very generic, and are not numerous enough to justify their own dedicated lib module. For example there is a utility to make text span a given length using given pad character.\n\n<br>\n\n### Testing\n\nWe use GitHub Actions.\n\n#### Unit\n\n```bash\nyarn test:unit\nyarn dev:test      # watch mode\n```\n\n- Live under `/src` separated by and colocated with the respective module they test.\n\n- Unit tests run in CI against every commit.\n\n#### System\n\n```\nyarn test:system\n```\n\n- Live under `/test/system`\n\n- Almost like E2E but they work with the local package code (whereas E2E would work with an actually published package).\n\n- These are useful because they provide many of the functional checks of E2E with a lower barrier to running, namely needing a published package. For example pull-requests made by community members cannot trigger E2E tests because that would require publishing and GitHub actions has no way for [PRs from forks to access secrets](https://github.community/t5/GitHub-Actions/Allow-secrets-to-be-shared-with-trusted-Actions/td-p/34278).\n\n- You must run `yarn build` right before running these tests.\n\n- These tests run by having the local package installed via folder-reference into the test project. This disables package hoisting. This in turn [breaks typegen](https://github.com/graphql-nexus/nexus-future/issues/432) because its import of `@nexus/schema` will be unresolvable (it looks for `node_modules/@nexus/schema` but actually needs to look at `node_modules/nexus-future/node_modules/@nexus/schema`). The system tests encode a solution to this. You should only have to think about this when actually devloping the system tests.\n\nThe solution to this problem is an env hook exposed by `nexus-future` called `NEXUS_TYPEGEN_NEXUS_SCHEMA_IMPORT_PATH`. when set it will cause the typegen file `node_modules/@types/nexus-typegen/index.d.ts` to have the import from-value rewritten to whatever the env var value is. This env hook lives inside the typegen component but is leveraged by the system tests suite.\n\n#### E2E\n\n```bash\nyarn test:e2e\n```\n\n- Live under `/test/e2e`\n\n- E2E tests run in CI against every commit _after the package has been published_. These are preview and pr releases so its acceptable, and doing it this way provides a true smoke test of if the _real_ user journey works end to end.\n\n- E2E tests can be run on your machine. They default to working with `latest` dist-tag. Use `E2E_NEXUS_VERSION` env var to set the desired version to test against.\n\n<br>\n\n### Continuous Delivery\n\n- We use [`dripip`](https://github.com/prisma-labs/dripip) to make releases.\n\n- Every PR commit results in:\n\n  1. Pre-Release of pattern:\n\n     ```\n     0.0.0-pr.<pr-num>.<build-num>.<short-sha>`\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     pr.<pr-num>`\n     ```\n\n- Every trunk commit results in a\n\n  1. Pre-Release of pattern:\n\n     ```\n     <next-version>-next.<build-num>\n     ```\n\n  1. Update to an npm dist tag of pattern\n\n     ```\n     next\n     ```\n\n- Stable releases are cut _manually_.\n\n- Any release type can be run manually:\n\n  ```\n  yarn release:preview\n  yarn release:stable\n  yarn release:pr\n  ```\n\n### Website\n\n- We use [docsifyjs/docsify](https://github.com/docsifyjs/docsify).\n- There is no build step\n- Commits to master will trigger deployment (via `gh-pages`, no ci/cd on our part)\n- Navigation is manually managed in `_sidebar.md`\n- Cover page is managed in `_coverpage.md`\n- Configuration and significant styling customizations are kept in `index.html`\n\n#### Getting started\n\n1. Fix bin\n\n   There is currently [a bug](https://github.com/docsifyjs/docsify-cli/issues/88) with `docsify-cli` requiring the following manual fix after installation.\n\n   ```\n   vim ./node_modules/.bin/docsify\n   :se ff=unix\n   :wq\n   ```\n\n2. Boot docs dev to preview your changes locally\n\n   ```\n   yarn docs:dev\n   ```\n\n<br>\n\n### Workflow Tips\n\n#### Working With Example Apps via Linking\n\nRefer to https://github.com/prisma-labs/nexus-future-examples\n\n#### Working with create command\n\nIn any example you can use this workflow:\n\n```\nrm -rf test-create && mcd test-create && ../node_modules/.bin/nexus create\n```\n","description":"https://nexusjs.org","_id":"nexus-future@0.0.0-pr.517.1.50fb2ea","dist":{"shasum":"0905895e11c84636dfafae70e9197b0e86c9846e","integrity":"sha512-muT8aZMt97HPcEzNqFdmXzG/GseX9E0MW9dL5KFAR/7hqbe4C0ZCwccCQVXwgaM+EYv6TpfUS0ER7YFgfXEaVQ==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.517.1.50fb2ea.tgz","fileCount":445,"unpackedSize":877460,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJedOSiCRA9TVsSAnZWagAApUkP/Rd7KiVIrKFo/9cYm2d8\nVr8KbLmf6tFzCsRoO+jO6IldHkCSKNm/9dUrRC31ybW2kTfibvs8AbJjWTPN\nQP44sGroYlrbLWO8qI3ZzSpQ/miVtmxEPw5i4ptWt9NdG1DEt6cPNaj3J30B\nPbHZDzzRd4zKZMGSsXuX3CMo7yKPrnMIAXAN07r//ozafC3Nt59M/KDRATeQ\nOI7Riz7tB2ceY9cNY3qL1Q9DdJ95tjCCfAuBspAu0IKnCG3qFf71Zxdy/ea4\nWuaHk+t2ifYww1M33wOD6A6fkwqLLiQhigqP6AP6ZE8Aujaaxwgo4iui7kva\nnwx9mfwmPQoEhQQrfmeqWiTYwLm6Ymjx+2xflngmGxPwdb/ezklq4XGvCigU\nO0FCORuxIvnuOB53pvtwzGe1KpXubNSe2lWhr53W9i4DtvluuA5TF+lhdj3s\nrFIZt1pncxGYtJFZcrLc2cYFRO70t1lxILaCmz8F1vBoZjOJZGltpcxp3CiB\ntLcyizFh7RYBhzBJngcfH44Z8bGOymTSUPFveIz84B1NJytRzVhQJmCtBjgf\nvS7Yv4gmUK4Tk1LDXVG9awLJPni38/4+yQd1G+EX08OlEXrUh4DREaSjJlo2\nun2x7rnEFodDLa8iwicIGQvW8WgTcAQvfG0QXg8QudnZSRNcA0e+IjCukF1q\n/F6x\r\n=5bMF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCClQFO6gw+zu6RNJ99sH1qN6wjR/6Dc5m6oGScnqxmGAIgAbD60OpSX0pJzlyrVnp489FVTm/qzkxgP1ASvow7c+g="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.517.1.50fb2ea_1584719010341_0.3116039537341626"},"_hasShrinkwrap":false},"0.12.1-next.1":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.12.1-next.1","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-morph":"^7.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","docsify":"^4.11.2","docsify-cli":"^4.4.0","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 120000 test/e2e","test:system":"jest --verbose --testTimeout 120000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5","overrides":[{"files":["prisma.md"],"options":{"printWidth":35}}]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <a href=\"https://nexusjs.org\"><img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\"></a>\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Links\n\n- **Website** https://nexusjs.org\n- **Discussions** https://github.com/graphql-nexus/nexus-future/discussions\n- **Issues** https://github.com/graphql-nexus/nexus-future/issues\n\n## Repo / Package Overview\n\n| Repo                                                          | NPM Package                                                  | Role             |\n| ------------------------------------------------------------- | ------------------------------------------------------------ | ---------------- |\n| [nexus-future](https://github.com/graphql-nexus/nexus-future) | [nexus-future](https://www.npmjs.com/package/nexus-future)   | Framework        |\n| [schema](https://github.com/graphql-nexus/schema)             | [@nexus/schema](https://www.npmjs.com/package/@nexus/schema) | Schema Component |\n","description":"- **Website** https://nexusjs.org - **Discussions** https://github.com/graphql-nexus/nexus-future/discussions - **Issues** https://github.com/graphql-nexus/nexus-future/issues","_id":"nexus-future@0.12.1-next.1","dist":{"shasum":"47cc32d78b8bbb35436de6480a494f5810e69c26","integrity":"sha512-QYBJ/UbWebuQdG7VmQoJSdANq2lZf1UvZSfEqXgfMJq/prMhqtw5hXsXoxGFoLa5gF0v8LsZJ87indEyOOxpAg==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.12.1-next.1.tgz","fileCount":445,"unpackedSize":865656,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeekjnCRA9TVsSAnZWagAAXlUP/2T1WzK8jOsiPqGHneP6\nKi39g2llCz9BY2fNu6kydN7Ytyt4KO9dygv3vYDxsbvi5yElkaT7HUJJrdHS\nqRqFV6wQE64inszK0vG+0SjEoEkLt4H6mddHQ4zHTGp2v0EWhWcP0CaEAhbG\nGU4Yo7gYoqbdLDsw8b1gqlQN5SbxZSVNQFUj69X3XqbK0Cg9bl4OFensrudG\nOm218JZYQANU9W4aWwAdecNwOt7MCn/DjvFZq99cTecqlF1PDasLUsgCNLDF\nchQvxBFav4/Xj2AheubIhp3gT+cKPhzAJv8cFa1mmaJXqLn1GlKOw/mUMmxN\nRtG71WUSX9GnhtT2iffAvD8GE2m4Niph7VtW6fmp45wYaRSOHjeBDXipdYau\nhnOvcSICCRVfkEjZDXSmOQlzIQfQzC8pXEYk5ia4sQ/cbTGoUYorHv3tYeVS\nD0fLaQkYMHxS760N7F6Wt5n+PXWWcifIk+pl2obKmZRpAy4Fdi2BmjhnBcUb\nqsJZ8mTT46PSzmIbYDSHaHW6kMzFLPcn+E5VIqtQAOFceSwAJ0HFYqwEbtSK\nQdjF+A9vn6fMDZdZ3G07OPfGIHoGIuuRpk9CQiexby+B2G7NDYKSESVUkdy1\nM6HHAvrayQ8HkTdCwmRSGHOOb/umnm2AaiHwQ01FR7PnrglY5mxsYfe6aR1V\nQP6c\r\n=FszP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCj3ayd95kj4nFqPhLkYfflVADosuU118673zWGwqMWtwIhAL6IVEyBFQDZhJSbU2qehY4RfOjtXCnimmiIcFDpuoEO"}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.12.1-next.1_1585072358502_0.8640363057058378"},"_hasShrinkwrap":false},"0.0.0-pr.534.1.b4b5b6b":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.534.1.b4b5b6b","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-morph":"^7.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","docsify":"^4.11.2","docsify-cli":"^4.4.0","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 120000 test/e2e","test:system":"jest --verbose --testTimeout 120000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5","overrides":[{"files":["prisma.md"],"options":{"printWidth":35}}]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <a href=\"https://nexusjs.org\"><img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\"></a>\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Links\n\n- **Website** https://nexusjs.org\n- **Discussions** https://github.com/graphql-nexus/nexus-future/discussions\n- **Issues** https://github.com/graphql-nexus/nexus-future/issues\n\n## Repo / Package Overview\n\n| Repo                                                          | NPM Package                                                  | Role             |\n| ------------------------------------------------------------- | ------------------------------------------------------------ | ---------------- |\n| [nexus-future](https://github.com/graphql-nexus/nexus-future) | [nexus-future](https://www.npmjs.com/package/nexus-future)   | Framework        |\n| [schema](https://github.com/graphql-nexus/schema)             | [@nexus/schema](https://www.npmjs.com/package/@nexus/schema) | Schema Component |\n","description":"- **Website** https://nexusjs.org - **Discussions** https://github.com/graphql-nexus/nexus-future/discussions - **Issues** https://github.com/graphql-nexus/nexus-future/issues","_id":"nexus-future@0.0.0-pr.534.1.b4b5b6b","dist":{"shasum":"6ad3f1198ce488eed99450b8e02444a10153d6a8","integrity":"sha512-m6T6PYBHdYGbFKeGcEu1EqcqUKkxKkkh7rvuoS15ureqLxDfu2TTbdBDbHZDKYMMKMi1Au5h1IDnopoeqB81tw==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.534.1.b4b5b6b.tgz","fileCount":453,"unpackedSize":864494,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeeshiCRA9TVsSAnZWagAAQ4MP/jPP1xwwx2bmM0aAYyR4\nfhOgJgewOWZVkyRJXcNkb2Ts4XLp2rfChj60p3pZ3weVXDjJIjQiEKX2ZJIO\nsGqTkbxubs7l2qhC3SHQ7KO/D2OGwSBotvlsUYqJmNmcP+7OHjrBMzFUojRd\nTTQAx9apIV2FraL4d7y7depSuhrCE8uGnZwSbTh1+NhRO9inKkhcaRWUCCf5\nSm0fZFPWiBqxg6YDGXHSlbWXjS/LEePg70/oD1kqTs+EzfYA1ZzMVS4Bo2aO\nh8HRil+FaG+P6UhPiFFnWGCbU3d0gNnu0q3MWGzbbE3B5cNiHl1pYhwKEvYR\n6maILlD2HGKotbrhsLmb9El+EfbkpYM4TQI2Sd4pI51bgLjt/+UwMzLNK0Ar\nhXEmEIFPmTo/Bb3t3rR4aiiqpa1EGmHf7Imq5T+C+SGcX73CWG9125ec47NC\nfSeBHZ9yaJrElRh61ZwoaCiYNyEduITWciWbdJ7TvKXqD2NKVtYyiI7dYiT0\nq1fQXQZxjTEaHKjG0fAcml1Zeyn8S50bmR2EZFEiov/Jfvc5n3g+416FEGrg\nntnQw+idERLaYInz/QJUPlbPwqGW3EAa56obcd7EsQQndRwXiBsw4/ZskuRL\ntG3HgNQVNK2KmeYN/nQpyLczkbM6v45+58Bkl1Iy8o7mHgS7aAnLAUVX2DUU\nHdYA\r\n=nVA7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDl6WSzv45/FRY2x7Py0hcCnxRJEaNY4pEdfJsW5He4egIgGfeBC7zmvtZH9eptIH8hzqjml7I1BABVwl1c+0mXZ7s="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.534.1.b4b5b6b_1585104993781_0.573715558911704"},"_hasShrinkwrap":false},"0.0.0-pr.534.2.4da4f26":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.534.2.4da4f26","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-morph":"^7.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","docsify":"^4.11.2","docsify-cli":"^4.4.0","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 120000 test/e2e","test:system":"jest --verbose --testTimeout 120000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5","overrides":[{"files":["prisma.md"],"options":{"printWidth":35}}]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <a href=\"https://nexusjs.org\"><img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\"></a>\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Links\n\n- **Website** https://nexusjs.org\n- **Discussions** https://github.com/graphql-nexus/nexus-future/discussions\n- **Issues** https://github.com/graphql-nexus/nexus-future/issues\n\n## Repo / Package Overview\n\n| Repo                                                          | NPM Package                                                  | Role             |\n| ------------------------------------------------------------- | ------------------------------------------------------------ | ---------------- |\n| [nexus-future](https://github.com/graphql-nexus/nexus-future) | [nexus-future](https://www.npmjs.com/package/nexus-future)   | Framework        |\n| [schema](https://github.com/graphql-nexus/schema)             | [@nexus/schema](https://www.npmjs.com/package/@nexus/schema) | Schema Component |\n","description":"- **Website** https://nexusjs.org - **Discussions** https://github.com/graphql-nexus/nexus-future/discussions - **Issues** https://github.com/graphql-nexus/nexus-future/issues","_id":"nexus-future@0.0.0-pr.534.2.4da4f26","dist":{"shasum":"d8c42c39ad1d2e12d42d2d22200fa92e5a487e0e","integrity":"sha512-6BpeCXHUmmXYIRHgSwu/TSb1sZyBPf+CuRzFtZOsE2o4ShO8p1DcLl/SyHM8kZXxbEWLHwNDYyEhKI9SbtvyXQ==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.534.2.4da4f26.tgz","fileCount":453,"unpackedSize":868063,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeeuY4CRA9TVsSAnZWagAAXYkP/29+bOjAGw6wtBmIThEq\nr5MEepuNToVxcTsV5qz1szH9PsI+Utu3B1BOMXwdVeYOiqiHbccx7OEDarVw\n/dAH3l+tkhs9TLmgcCWkA6eYxilPO2slAR2DtHOAXEMH8eksf2XOexzeJUEB\ndJpVmbgX/8RnaVw9cdQS+xewBaxjbFVC+W2FrkvHqDjRh2P6Bxlg6jw3Z74A\nWWj2ukcKH5raoxo69JtpdV7ohtSjEKa/mR7y/PvXZ1SQonuO8OXwceLkpNi2\njj1+r7EcyqN+74Mdy4OVMryYUUF8xXYkhKqHYsqJ4H6dA9NzUwbVJKXNitQy\nimHRpGg4y2slJrTVxmFmwpe++SXP+Gjdix++N9bPgeIXSEIYWZ2iKdVl57v0\n7Al6aUpf1Juis9tHJIqkwrRdKfrVCef7U36ROs3ULFbnijsd/YVU/kEBJwGY\nIc20+XCCUIk1nSbIlav9bSMkyHwjDGBjeXgL+RCfws22Ecfr/6nOFoXPMM0w\nzIbNmZmdZ+JSWF0f1Pp9rabfWGwPOMQ019+9lMA5ZpWaFgXBdWczdpViqXzO\nRWz7ukURXYCFk8LIKWj8/SdFeVcQG8kADRV23bpG4m9pirUJbv8LdDwxyOD3\ntmjbqJJjlz4AZHB/wX4iMVCEe8xC3cMbvv3rRvkg4KvW1i9SYPGhE0GwqMS9\nz+fc\r\n=F04p\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEQyQbWbs/YIjIIetjhpt6mDoZTZUGuhd6NmdjTcmO8IAiBuYbHsDqWuDnIZHj6zMnRIgpDLdc4dttC04gVbB9YfzA=="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.534.2.4da4f26_1585112631846_0.15146155593368893"},"_hasShrinkwrap":false},"0.0.0-pr.542.1.fa080bf":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.542.1.fa080bf","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-morph":"^7.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","docsify":"^4.11.2","docsify-cli":"^4.4.0","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 120000 test/e2e","test:system":"LINK=true DEBUG=true jest --verbose --testTimeout 120000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5","overrides":[{"files":["prisma.md"],"options":{"printWidth":35}}]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <a href=\"https://nexusjs.org\"><img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\"></a>\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Links\n\n- **Website** https://nexusjs.org\n- **Discussions** https://github.com/graphql-nexus/nexus-future/discussions\n- **Issues** https://github.com/graphql-nexus/nexus-future/issues\n\n## Repo / Package Overview\n\n| Repo                                                          | NPM Package                                                  | Role             |\n| ------------------------------------------------------------- | ------------------------------------------------------------ | ---------------- |\n| [nexus-future](https://github.com/graphql-nexus/nexus-future) | [nexus-future](https://www.npmjs.com/package/nexus-future)   | Framework        |\n| [schema](https://github.com/graphql-nexus/schema)             | [@nexus/schema](https://www.npmjs.com/package/@nexus/schema) | Schema Component |\n","description":"- **Website** https://nexusjs.org - **Discussions** https://github.com/graphql-nexus/nexus-future/discussions - **Issues** https://github.com/graphql-nexus/nexus-future/issues","_id":"nexus-future@0.0.0-pr.542.1.fa080bf","dist":{"shasum":"65be476da6c96c0b9336e02e38ee0579991c8822","integrity":"sha512-oCS8wZllfh6JJJEwPYe0yFKAUTPawK2tHHl5BBZl4WwcLt2biQgaun2zkA+hj/XPcM8K0U9WahbLcDstgIdQfA==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.542.1.fa080bf.tgz","fileCount":445,"unpackedSize":865750,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJee3T0CRA9TVsSAnZWagAAgiEQAI34JJE23mPXcMAcszzU\n2/9BtPpqOlwKWzPwfiLp0paMu8z8F/yNPpQRXicAZJtnM18ExLRxNb2ZgbQI\nMyi+v207zheIhD5Rlo74pBBh540ykuwz9UdIFhf+qHTJxn4GJjUy9PqDh/gi\nXXMuqmQO0qeR9iZmKp9rwg+L6x3AcFNM/5jY+PnlQDz/qR10WF0woNDESDUE\np+wXEDYHKspwq+gDc21qw2KrqavMnaIJYAUKHOAif70EOYH0KVgti7DXewLd\nqfSMfe4U4Sk3aBQ8JZ1povfIAaEtIbkNQpQN6UzSa7C/idQQy64CnlmSbxa2\nmGCNpVgCWK0/wGaKM+1z5g5mJZXZSO1D/G9q1BP/eXtPImROq8xYG6hFEyPa\nwiBWkB5azVwe6Q6mbkVvjgP+KO+nw4esySJnDcpLLqfGvMHHNhby+JlQ5d3h\nGbOHcnIwQ/ZFBIE8s/Ne/JSUhnH6PuGNkuRfsXTYYrDMpXMZBaQUbDrsfPwP\ntpCnV9wocOPclFUNuPB9wuVcKwBHYJqTTUAFZW5JqhkhffGnffMAqETn3Wh/\nTJ7Qgp+Th0mMR34f2Qz3xgkHGTNPYuP7prWcLBAy28xH53aziU66FIEIOzFW\n+taL5oKfDqPJrsSZN5bqYhREhDeqhE26rkUTpwj9a2MlASK9VxZAgEM/BmJi\nBVsX\r\n=qcAr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFtiRP1n6Pc+epoQZbKfuv41RPImsTJZJqfvoykrabL/AiEAuHP1D6UT1eIaaxxslwbjUphio8p5l92W+Ti0VGKg1gA="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.542.1.fa080bf_1585149172282_0.35422621922219855"},"_hasShrinkwrap":false},"0.12.1-next.2":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.12.1-next.2","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-morph":"^7.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","docsify":"^4.11.2","docsify-cli":"^4.4.0","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 120000 test/e2e","test:system":"LINK=true DEBUG=true jest --verbose --testTimeout 120000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5","overrides":[{"files":["prisma.md"],"options":{"printWidth":35}}]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <a href=\"https://nexusjs.org\"><img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\"></a>\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Links\n\n- **Website** https://nexusjs.org\n- **Discussions** https://github.com/graphql-nexus/nexus-future/discussions\n- **Issues** https://github.com/graphql-nexus/nexus-future/issues\n\n## Repo / Package Overview\n\n| Repo                                                          | NPM Package                                                  | Role             |\n| ------------------------------------------------------------- | ------------------------------------------------------------ | ---------------- |\n| [nexus-future](https://github.com/graphql-nexus/nexus-future) | [nexus-future](https://www.npmjs.com/package/nexus-future)   | Framework        |\n| [schema](https://github.com/graphql-nexus/schema)             | [@nexus/schema](https://www.npmjs.com/package/@nexus/schema) | Schema Component |\n","description":"- **Website** https://nexusjs.org - **Discussions** https://github.com/graphql-nexus/nexus-future/discussions - **Issues** https://github.com/graphql-nexus/nexus-future/issues","_id":"nexus-future@0.12.1-next.2","dist":{"shasum":"36328c281772f13a5c112a3e347b2c6df535e6d3","integrity":"sha512-VbhHO/hJcBlxcAOMqc22pmoy++mCQxJxW4bw99s+F4UcmQ082uodq5KjjwfSTp8jgJub6EQxeOKzbyFRY72uXA==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.12.1-next.2.tgz","fileCount":445,"unpackedSize":863914,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJefKhZCRA9TVsSAnZWagAAqhYP/R0MJjg9km8lDw/BNkpr\nkGtYYicjYNKdwAWAqoY9Zz6OeOU0kggkJBgx17FE7zdlMVvK/6mQMkFLSca2\n2QKmYRs3dlh2hhy0l7YYnbOhinWEEiDGXIe96b3Gw/OnG20fb8k9iDM7gzOZ\nB0hiJKNRSAMqgX+T8qo+M2axaNbUak44anfm/m1NCJMYE35FFnnqQV35mKTS\nrENH//OFplc2rUYLdMVDW7QxmLVogZVveSIogdaCw6ttHYrYcR7zGMBugcA5\nO4tkC6tOAcYsRWM7NuKUFbgB+9hCuDAzyxDYflP4kRMih8EyTfdYT5SYkqqk\nT7gJTG01nIJtUcPboZTqRHeRr7zbvFRcPU5QEaA4aCqhkicKa84yaGAqYQDa\nBzNlC9oTjhDGsxWUqzARoJp1OO3xo6uSnLZcAVdYZ5O53ve/guCqlXSn+kyu\ntW/ppJHyOqHEG6pLts/jWjDEXNNOjms1qAppSBlvLh1tMxaVtITTsh+Lj4TE\nQmwnvHM6R/jqFz/xG0X1T44+pfYlR6qaP312742Cj9+HSHPhM1ElxqiHjWZ8\nRdBw9joIJlnUQIVYQ4HPxif2LurGERSjH/aJQHL56JN/CivHtD874LuakoQJ\nQxSlQ2CAoe4J5BzsvxiNnpNwWKm4ZCK2C4LwD0O3ziy7qZAilNtSda2lQbd8\nrSRJ\r\n=n+Al\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC12Kf+oUw/PoQMfurkhoaVtAYdzCEfVU+aRcMd0IdJbAiEAiZZyZrj/SjqAh2lhbeXNd4ReIvrKogygwG/EIe9JorU="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.12.1-next.2_1585227864766_0.9030856798705278"},"_hasShrinkwrap":false},"0.13.0-next.3":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.13.0-next.3","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-morph":"^7.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","docsify":"^4.11.2","docsify-cli":"^4.4.0","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 120000 test/e2e","test:system":"LINK=true DEBUG=true jest --verbose --testTimeout 120000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5","overrides":[{"files":["prisma.md"],"options":{"printWidth":35}}]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <a href=\"https://nexusjs.org\"><img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\"></a>\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Links\n\n- **Website** https://nexusjs.org\n- **Discussions** https://github.com/graphql-nexus/nexus-future/discussions\n- **Issues** https://github.com/graphql-nexus/nexus-future/issues\n\n## Repo / Package Overview\n\n| Repo                                                          | NPM Package                                                  | Role             |\n| ------------------------------------------------------------- | ------------------------------------------------------------ | ---------------- |\n| [nexus-future](https://github.com/graphql-nexus/nexus-future) | [nexus-future](https://www.npmjs.com/package/nexus-future)   | Framework        |\n| [schema](https://github.com/graphql-nexus/schema)             | [@nexus/schema](https://www.npmjs.com/package/@nexus/schema) | Schema Component |\n","description":"- **Website** https://nexusjs.org - **Discussions** https://github.com/graphql-nexus/nexus-future/discussions - **Issues** https://github.com/graphql-nexus/nexus-future/issues","_id":"nexus-future@0.13.0-next.3","dist":{"shasum":"2308759dc51e7da47e0c008579985e369a56efd1","integrity":"sha512-wsJfz8mDvZZuuE6zgH1ZmgonH3oxhmmTFS5Rs2YviPekbHga6KBhbfZvna5jHGBeZ8oSZjlRQAzggERCaenpiw==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.13.0-next.3.tgz","fileCount":445,"unpackedSize":859208,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJefKm5CRA9TVsSAnZWagAABhgP/3R5EukUKctgNcNajliW\nqE4B9i/mE5DVRcMmO5rUd/GOPsTqkqtERzOk+tjvUO1EqYW4txPdZiBeGNf3\nNrZVa8TC1+L+ziW03HHlnoFZkf9NeCbH1MlonvCqw+wbJmcelFcSvQd6SWeF\nRKeDjk6mSwPqt0BZEOUVo3byjEZETplC+gtW97oBGRViHhRxw8odIEGb+hJH\nQB8Wg5XSW2n4Hz6iLO74ySmxYAFdlgamWKBAxL/VBzVCrqt4nE4lmaXW1q7P\nJRa/qPhHljk5tsx7eGg/6P5djhrw83OKZynKYsGEd1KfH7rlkdK0x8XSdJoy\nd+lwYQTTsehKwsSMX3MJtTf3x6QeacO6lFmxQ5/hzxaGyxk7eaiD2nQCp11E\nJAGnN3yAJwMt34FfpBWXLp530+MOxr96/T0/zLzmzRxmBpSxnGIelMzd9vot\netqgrBYQJAACZJycmKK6y+AHIA28GDwOY7gWgRwxpRPBqQAo91qZLxmawjZM\novDyWKYqJV9VXZca8bDqCPxSi0owhHkTh1F3yWb4oK/4ihneic6gSG6guaud\ndHdyz5SKyouUeOZT5h4fXtmMyPI4W5eQojNyi+FWrL+TCeOnxx2y1Ebe8RPc\ny5UISJ+SMfkqfRo9wpiD1784Cz8xCJzEbl19RQbDv0uORi+3BVNLeIu5weiE\ndORM\r\n=kj/I\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICqNJGboYLlQ5/bQDiag2Fx7C/gLEX2YBCqPfy1ulFhOAiEAsxPGwsM8ABqLxr1rJDOF6PZTVdjULLnPqEHH6SVSIMw="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.13.0-next.3_1585228216999_0.712890991475662"},"_hasShrinkwrap":false},"0.13.0-next.4":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.13.0-next.4","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-morph":"^7.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","docsify":"^4.11.2","docsify-cli":"^4.4.0","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"DEBUG=true jest --verbose --testTimeout 120000 test/e2e","test:system":"LINK=true DEBUG=true NEXUS_PLUGIN_PRISMA_VERSION=pr.68 jest --verbose --testTimeout 120000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5","overrides":[{"files":["prisma.md"],"options":{"printWidth":35}}]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <a href=\"https://nexusjs.org\"><img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\"></a>\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Links\n\n- **Website** https://nexusjs.org\n- **Discussions** https://github.com/graphql-nexus/nexus-future/discussions\n- **Issues** https://github.com/graphql-nexus/nexus-future/issues\n\n## Repo / Package Overview\n\n| Repo                                                          | NPM Package                                                  | Role             |\n| ------------------------------------------------------------- | ------------------------------------------------------------ | ---------------- |\n| [nexus-future](https://github.com/graphql-nexus/nexus-future) | [nexus-future](https://www.npmjs.com/package/nexus-future)   | Framework        |\n| [schema](https://github.com/graphql-nexus/schema)             | [@nexus/schema](https://www.npmjs.com/package/@nexus/schema) | Schema Component |\n","description":"- **Website** https://nexusjs.org - **Discussions** https://github.com/graphql-nexus/nexus-future/discussions - **Issues** https://github.com/graphql-nexus/nexus-future/issues","_id":"nexus-future@0.13.0-next.4","dist":{"shasum":"3a3a1c365af84f4d896f9f9a1b8c366abd879dd0","integrity":"sha512-WkQbKiHTvd6Ls9JbrfJqvmWjKUinAcv/fmF2EimHYyH1RZQV69GKhBYhgWLuQvo7J+30UbPUDPQE0k9YKgOg5w==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.13.0-next.4.tgz","fileCount":445,"unpackedSize":859368,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJefVj7CRA9TVsSAnZWagAANWwQAIJFms1H1hYR00pZ7y31\nnyHrBOsmKy76idDVkbHvloP1TsTipG0CiwmMmRZe79v6JiexQ8HPznJaalcJ\nJbCR19NTIIBu8tWqPy9mq8PJqLFWGo1pX4i1y97ni+aaFyALXgvPrcRuDm+V\n2a89JRTw8s/vC2l+jSFZtDTpQoEAYoWH1Mu5Y7B5UkooCUqvB3Qp0bGdW4Y6\n+q66NmeKxoGx76R6CmUNRAZaPbcrNPnqCXXebIgaWOUeFv0Lt+J8mLsFDc1M\n7jZu7KSjdiJsyHs3PpAI0J06Ze/Z2H4CHksjRjKs+737hgUeLgikaEd9/8dg\nlLzBQCH1F0UplZdnCPt2zqcAULva97vH6Mx73Sy6kRLtXEUtT7Ge6hiree+U\njtgPymiI7BSLzx+wVWaLrbL9cIOJXe+TwdJ/ExJzpBkIjgkh8a1wlrDOz4Fw\nC6DNJu6AaS6LkPb1tjFzEkXWdtZVnwuj5aGKpM4a5YEjbSBTVx152IjL4jWC\n3d/uEHaszDqL9lcmCDCBBxhu/A2kiVtJWLtKsO25QnqEwahICcrrxZv0mgBd\nMyjIRZW8OC6y5aob3fOlWBx+jiRf21Y6h27MbXkcgyFZnZd5qYhhZ/3f7/mT\nN4yqHYIMVLRhHIZEFaGcLRawSpdiT30T2rhZC2AsK38pm41EOHAosBDnFMfN\nvztg\r\n=nDkc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDKw2w6gG+bYDIyBfmINloMS3SlGWlSRznj+30PNyCBtAiEAys6VjFjOLy0QbfobeDBYaYC+YfGKqNmfBFE3KJfP4Zo="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.13.0-next.4_1585273082934_0.7475342984823843"},"_hasShrinkwrap":false},"0.13.0-next.5":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.13.0-next.5","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-morph":"^7.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","docsify":"^4.11.2","docsify-cli":"^4.4.0","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"DEBUG=true jest --verbose --testTimeout 120000 test/e2e","test:system":"LINK=true DEBUG=true NEXUS_PLUGIN_PRISMA_VERSION=pr.68 jest --verbose --testTimeout 120000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5","overrides":[{"files":["prisma.md"],"options":{"printWidth":35}}]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <a href=\"https://nexusjs.org\"><img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\"></a>\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Links\n\n- **Website** https://nexusjs.org\n- **Discussions** https://github.com/graphql-nexus/nexus-future/discussions\n- **Issues** https://github.com/graphql-nexus/nexus-future/issues\n\n## Repo / Package Overview\n\n| Repo                                                          | NPM Package                                                  | Role             |\n| ------------------------------------------------------------- | ------------------------------------------------------------ | ---------------- |\n| [nexus-future](https://github.com/graphql-nexus/nexus-future) | [nexus-future](https://www.npmjs.com/package/nexus-future)   | Framework        |\n| [schema](https://github.com/graphql-nexus/schema)             | [@nexus/schema](https://www.npmjs.com/package/@nexus/schema) | Schema Component |\n","description":"- **Website** https://nexusjs.org - **Discussions** https://github.com/graphql-nexus/nexus-future/discussions - **Issues** https://github.com/graphql-nexus/nexus-future/issues","_id":"nexus-future@0.13.0-next.5","dist":{"shasum":"7a638cead8de0946023eba64746594ce3c8bdb6b","integrity":"sha512-jAb5bYH5g2DaalRmJdy4HPXuwuFUlJ6URr8IHqxd1nBINFOPQ8BxPDmy7zgP3lSoqwUY/bdCRzbV8DyK3PkH4Q==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.13.0-next.5.tgz","fileCount":445,"unpackedSize":857900,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJefV4TCRA9TVsSAnZWagAAPjsP/1EZLc0q8G88c8Ctcvzx\nYBsmHRvbbsTA5eykQvimj8fZ7rDFTbuxTX3bufr09Ttbl1tF0jNVKCg8mrGX\nHYmTJEPX1HQ/QCBxKuqYHSb/JwQ+gjV0V/LhUzL8MRHywtnK8B4UjZv9gojg\nk53pvZHpijB0eq3bggLQNIgkaQGkOhmuJUPdncAaT+C+t2Nbedc9/roFqcgV\nlAZlpyfp7u5Fp5e/y0wmw8o3x8tgKnrL1b2zpKz9tOVAlnCWh8Sc7J1d3tzT\nU0v/JipBvm/TFzhw7U6dAD7MsrPYwnZFbv3Gdnnp8FtVYPzJolsWxzVxG/9C\n6PMQZp72n1LvD17XzQSie6Ibk3x3xzXQo5gJj1N8XnV76RMxqXq3kt0Gyg8k\nPwUdwvk9mMSj+PftaZ3tSSAHgXt04qf4YFQZBaXppuVtfmRAS9c63h66xhS5\nlrI33Xbp+cD7UhBck7bxjF462z20hA/FgyvwgfOJflnCXwjdJzRoxbP+CGEZ\nZwFTmcvbtMeP5PpjZOI8EUc+7gqrKOZxtJZq9zAyV08cqyFDM4rXRvv2ow/d\nL8nDYAaQvkPtUPGPdK/mnv0JSEGa8DteCNQUFP5dZn3xPaGL8tCS/rrljgL6\nINKvWrEF+qrOqjD8ycUNLBXl1Wy8DADLWAM54uHBmszKh3H7HR/SAjekYAQt\nvQKN\r\n=aWZn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDuB0eUEIFd9xyem+2lyh+d+hvryBstuQbp6GJvsa5tNAIgNOVdB4SH7bX1zUekCOEl99uf0UL2iGkFsaxR/BSi5Qw="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.13.0-next.5_1585274387183_0.5133232953735232"},"_hasShrinkwrap":false},"0.0.0-pr.548.1.8b64dec":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.548.1.8b64dec","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-morph":"^7.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","docsify":"^4.11.2","docsify-cli":"^4.4.0","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 120000 test/e2e","test:system":"LINK=true DEBUG=true jest --verbose --testTimeout 120000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5","overrides":[{"files":["prisma.md"],"options":{"printWidth":35}}]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <a href=\"https://nexusjs.org\"><img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\"></a>\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Links\n\n- **Website** https://nexusjs.org\n- **Discussions** https://github.com/graphql-nexus/nexus-future/discussions\n- **Issues** https://github.com/graphql-nexus/nexus-future/issues\n\n## Repo / Package Overview\n\n| Repo                                                          | NPM Package                                                  | Role             |\n| ------------------------------------------------------------- | ------------------------------------------------------------ | ---------------- |\n| [nexus-future](https://github.com/graphql-nexus/nexus-future) | [nexus-future](https://www.npmjs.com/package/nexus-future)   | Framework        |\n| [schema](https://github.com/graphql-nexus/schema)             | [@nexus/schema](https://www.npmjs.com/package/@nexus/schema) | Schema Component |\n","description":"- **Website** https://nexusjs.org - **Discussions** https://github.com/graphql-nexus/nexus-future/discussions - **Issues** https://github.com/graphql-nexus/nexus-future/issues","_id":"nexus-future@0.0.0-pr.548.1.8b64dec","dist":{"shasum":"6ba426c22085d73238244d31da13254764d74961","integrity":"sha512-t/4tPm3nMZeDQekqbDM57z7zJ4k5kvix8gPK9Xxgka6KPrnkCXhIGNXz/gP3+1Eqtx3PqnrxI4Fcy7ZmUQCAEA==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.548.1.8b64dec.tgz","fileCount":403,"unpackedSize":838389,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJefdOnCRA9TVsSAnZWagAAOEIQAJUoV2sh9FAgIhyvtrqv\nC49hRkMEOJqskuPtUYpAQqydI7HFl1FWfKcV6tBfNNjdzW0eDnll5iREcecS\nRjxGCtpYM43TVowDB6863Ti4hFtts0+7A+cipWInBh7wYC6R8YcEG0hXZHMe\nCw4fjbsVDvqt/JMpbx/i5USOmwhvz3JqvKeBZxyXkPGKlVrM8ZmgWfS7STZO\nOX1y+ShgAKl6zyGBvpXcHUqvLtpAnuGr6TAScov1KYk74yqfNOLSoCNDSKg1\nOvM80NShJfusCirWAK8UwIFXkOjFZGDxMpf+ceLCEEXz4SLlkgslg4GTgtjj\nQnSBie/KkplUhHyrnEQqdroh6Xp8i07MlmxScTMph4rTXDoa0aoFqI8thxCQ\nA0t9CqrocLBjxqXB1lv4ad9wKp4di+UdHGVGRGu9j4Bq9Ck9RfjcxKdKhQQr\njARqoRVzipzEb7itqrSm85UQ6ZqwbH61wakcoFcdSKC+blvtAhTaemdCRf7A\nRHc6JRH4fNM1byc9Bts+jIqKa8uwv+6gVOEFferuawX/5wlMkWyJWEfPwYpF\n8q0l3pGzN+QeyNAc+0n9n1SgPXeIaIc7Rj6GyPY8QTCkEvlk8ZK/dUJzaBXV\nHSGU4bCuZZ8f50sBYKYJ+LMORd2qxxqevxBD62pg8uVHDkJy/xvTdgQrDgnK\nI0ih\r\n=VX/P\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEFzBZZIPUMd9VfzK30TEmsZicCoEcq6IrjW1sHNynKcAiBfbkqpLbwtAS9jeZfzPBgIHghYB6SvycRRDwfll7c7aw=="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.548.1.8b64dec_1585304486770_0.8858826463614979"},"_hasShrinkwrap":false},"0.0.0-pr.548.2.00f60b7":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.548.2.00f60b7","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-morph":"^7.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","docsify":"^4.11.2","docsify-cli":"^4.4.0","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"jest --verbose --testTimeout 120000 test/e2e","test:system":"LINK=true DEBUG=true jest --verbose --testTimeout 120000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5","overrides":[{"files":["prisma.md"],"options":{"printWidth":35}}]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <a href=\"https://nexusjs.org\"><img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\"></a>\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Links\n\n- **Website** https://nexusjs.org\n- **Discussions** https://github.com/graphql-nexus/nexus-future/discussions\n- **Issues** https://github.com/graphql-nexus/nexus-future/issues\n\n## Repo / Package Overview\n\n| Repo                                                          | NPM Package                                                  | Role             |\n| ------------------------------------------------------------- | ------------------------------------------------------------ | ---------------- |\n| [nexus-future](https://github.com/graphql-nexus/nexus-future) | [nexus-future](https://www.npmjs.com/package/nexus-future)   | Framework        |\n| [schema](https://github.com/graphql-nexus/schema)             | [@nexus/schema](https://www.npmjs.com/package/@nexus/schema) | Schema Component |\n","description":"- **Website** https://nexusjs.org - **Discussions** https://github.com/graphql-nexus/nexus-future/discussions - **Issues** https://github.com/graphql-nexus/nexus-future/issues","_id":"nexus-future@0.0.0-pr.548.2.00f60b7","dist":{"shasum":"ee1dee6ed2bc6c0e7e79a388433121363b3834ac","integrity":"sha512-dY3zRX+atlD0piNLyrgchDPlhUElbfodrDOWIZpb8va7eJRiUJon1OvqTF6QXAIbFh5h3dKRt52YzJ0fBQo7UQ==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.548.2.00f60b7.tgz","fileCount":403,"unpackedSize":838482,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJefdZbCRA9TVsSAnZWagAA+FkQAKRE8SQYE+dafHbmLBE5\nG6v9uJhyj3FS0OWZ/XJ6Ch3wf3GHqHGh5b2v4VU9nQaB9OTw5ZAnFypgqQ0G\n6TaqP2V/cglF6zU+4Kx8r2DwuAgH2U8gj6rreuYty5H5O6tHtk4f6Ws5u2+X\nnm2XdUD6QcDpYBIaF1U0ALOPvJmgvIAN6VWhudXC3RxJE62Vx0JoyVqxRkLZ\nPaVpDLtGK3kHBPTRF+DapBbcsaU0/Qmrd9s9CwSNXHTdFnUIR65t98FVw4HO\n2axBQZhS2Is9M/yiFdcgX+xUPapkOOzgzkr+JR6WhWl5NHdprJYWQ86UMjnQ\n95LrS9UcveP3qnskVC8/s63nK6h8SgA4cLK11fE//putnnTVemjcYSBdsAly\nb4JaVhReueucJ2TNRklVhDBImMYTaRGVEGliT2YYiY1PsoiT2Zmy01jFnUEp\n8soNGGoqI7aRSDCRr65NDGz91rkpxbcd6SNcLRBinLhx+NSyxs8mR4kWX8ub\na+ZfUzG30X3Bwns7D3IL1jp4QMRUAYfLTaeoGtAoz0R1IFo69rWaUQ2zcE+/\nJHeYDt+bu82gjY+p42FHJDTrOhFpbEHTuYrPz7llDHgTNDGB3TSI4EEcyKuc\nL2hV+E2gtMq9XhqdSvnzzuvr5aQyIxsYXRV2ypVERVzhQ2nOIB1G9pfiUjTq\nwWMT\r\n=AoJ0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCTpgKaFWXfrX69aiP7WBCBUcjKeSkx5l8oXH0Y+XakcwIgZWITUi24BlJmoLVyAqAnlHMfcQaZwf9NPJtMmZT4jyA="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.548.2.00f60b7_1585305178727_0.24719500278666628"},"_hasShrinkwrap":false},"0.13.0-next.6":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.13.0-next.6","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-morph":"^7.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","docsify":"^4.11.2","docsify-cli":"^4.4.0","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 120000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"DEBUG=true jest --verbose --testTimeout 120000 test/e2e","test:system":"LINK=true DEBUG=true NEXUS_PLUGIN_PRISMA_VERSION=pr.68 jest --verbose --testTimeout 120000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5","overrides":[{"files":["prisma.md"],"options":{"printWidth":35}}]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <a href=\"https://nexusjs.org\"><img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\"></a>\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Links\n\n- **Website** https://nexusjs.org\n- **Discussions** https://github.com/graphql-nexus/nexus-future/discussions\n- **Issues** https://github.com/graphql-nexus/nexus-future/issues\n\n## Repo / Package Overview\n\n| Repo                                                          | NPM Package                                                  | Role             |\n| ------------------------------------------------------------- | ------------------------------------------------------------ | ---------------- |\n| [nexus-future](https://github.com/graphql-nexus/nexus-future) | [nexus-future](https://www.npmjs.com/package/nexus-future)   | Framework        |\n| [schema](https://github.com/graphql-nexus/schema)             | [@nexus/schema](https://www.npmjs.com/package/@nexus/schema) | Schema Component |\n","description":"- **Website** https://nexusjs.org - **Discussions** https://github.com/graphql-nexus/nexus-future/discussions - **Issues** https://github.com/graphql-nexus/nexus-future/issues","_id":"nexus-future@0.13.0-next.6","dist":{"shasum":"92a0659be7bb458c438ecdc992e80753f50a23eb","integrity":"sha512-NhBvg8lZwIpSgiqDuLlpglYA+wJgs5zInW9wdVlw9BpYwY1OoKBFoFngLCR8XuzTVcIfjny72kbxhcsTKhTLGw==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.13.0-next.6.tgz","fileCount":403,"unpackedSize":837165,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJefh1iCRA9TVsSAnZWagAAALcP/RGkh+2j9Ts9FhRvdVlN\n4cGswSJMs9gjSy8QHmojTV1t9nrRXmGYLHGWnjnb20KTv6n7S85N/vADxqrC\nMLDinDMrFIL37/OP4b48YVkzGeENnVD3nDLJDEJCh87pEgqKKx6F6xNyS6Ia\nc4iBRBsiOp35CNst+uUP62Xe+movXLtNtROusV05Iy3sAoei6rhkt2KyoaTw\n7XKnu8ZUwfb6kgr69FalboAv7WETtoGNsUOB+l7BucCegJO/PKt4xG2QPVY0\nOs+uGMriGtaSCafdccBzCNuJ7GWLKQeum3l0pcTtwtXFbHu1JRavG8NZ1kTd\na7+3pgXLXfMUtlWr/48+Crdtgz2GunDJFd5TBhEZ8QxjWlzzrsHs9ZIqxMAV\n/VrSaHt83dfnR/7xGy4rI6YLo8pHg9JXXBQw9URyvgIYDswo/elB5NggPChv\noF/HSDKKUux9V8AlrN36mFP8bEBo5r4xUC9+iYsVPWwVkQcBZ3ij2Ob9AqoG\nSKXOx/MpaVT1oaBa3iJzdjGGJLB9Hxtu18afphyNa968iSKa+QGAx1c3DlwR\nXQ4pV/zzcAWWZESnmiwTecovNAz+S9CZAIqYsi4PepgWoJ8ZRluxKw6YQPbp\ntHlVWLMmwEV+QS57BvrkURGXhuP2AvEbRWmtZF2SUzYXg26O+BNMKBAYe9aC\nc/sF\r\n=aPQM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQClE3xJgJ227tnvmLmKzMJsASu8ehN2maN3cg/BR70plAIhAN6NJwfG4YW69aNrjxBmj1TTQxMK0iRF7/OkQ0K2szRr"}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.13.0-next.6_1585323361960_0.9700164407972929"},"_hasShrinkwrap":false},"0.13.0-next.7":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.13.0-next.7","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-morph":"^7.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","docsify":"^4.11.2","docsify-cli":"^4.4.0","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 180000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"DEBUG=true jest --verbose --testTimeout 180000 test/e2e","test:system":"LINK=true DEBUG=true NEXUS_PLUGIN_PRISMA_VERSION=pr.68 jest --verbose --testTimeout 180000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5","overrides":[{"files":["prisma.md"],"options":{"printWidth":35}}]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <a href=\"https://nexusjs.org\"><img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\"></a>\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Links\n\n- **Website** https://nexusjs.org\n- **Discussions** https://github.com/graphql-nexus/nexus-future/discussions\n- **Issues** https://github.com/graphql-nexus/nexus-future/issues\n\n## Repo / Package Overview\n\n| Repo                                                          | NPM Package                                                  | Role             |\n| ------------------------------------------------------------- | ------------------------------------------------------------ | ---------------- |\n| [nexus-future](https://github.com/graphql-nexus/nexus-future) | [nexus-future](https://www.npmjs.com/package/nexus-future)   | Framework        |\n| [schema](https://github.com/graphql-nexus/schema)             | [@nexus/schema](https://www.npmjs.com/package/@nexus/schema) | Schema Component |\n","description":"- **Website** https://nexusjs.org - **Discussions** https://github.com/graphql-nexus/nexus-future/discussions - **Issues** https://github.com/graphql-nexus/nexus-future/issues","_id":"nexus-future@0.13.0-next.7","dist":{"shasum":"1859c61b0f28f670968a473a76b8a3d42167e5e5","integrity":"sha512-1KLLJp6SsB6lUPXgx3WJbQMtoCYA9t5VU2O9SVG6jqgah/A/4vrHZdqZ29qK4JqCRvnaLUBe7o5GKg6m31QmfQ==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.13.0-next.7.tgz","fileCount":399,"unpackedSize":835546,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJef4qVCRA9TVsSAnZWagAAhpwP/3nHGpQbi3INUeXu4yI0\n/xNSy36EEZrujVzfx1NiJiIPm7mknc2kF3YuxqTt9p0EzV/5lUcSJhKIcQOE\nD8Wc/aXKDHcVDBeqC6LPX49W+Qz1YfxIcWvIcHhc6RzZAbh9NcnDOJSpqP+y\nPBWBcuRbzZaIPS7AXS3p0pswneL9f2GAvCf+ZzD/Pi/W7OQ08G3URWznP6yy\nBWO3rzkPHfBcYk4QMVC1wUHuVIuVWa9jy1XpbdHVp5tfkJh+Jn+tTrCod3aK\nf1gWISbg4OFlBdYU7VpE2/SVJEJFjX/359Oc9P/AilHhJCCfMMEXrVtZ7gv5\nlhwiBpXsW27yUAhmwP7/mfW/XaqWIPyZ/tEmrGVAq6G4XypXxp8NIUhj6Hpn\nuvfK264TrIr5neSUAxy40HS7uWdlV/rAGrRcyTTD6XbQOVRvZWHaB6wAW0fE\nleH5z/vZ5XpU662yheHkjvvhs9pvQc7urFzR/RQQtyMAt4OuB9Dv05SsTBeN\nseffOhu752LRdiNRDAOCM8qQuc8rR/Sb21pwh5aSWcTUy7YiKATdmPBfMro1\nhOo17HC1gEfLEkEVJUsIOIyeiCkIBu0AhaLMw5yHfSP35MrnHY+zyPnt/Aj6\nLY8YCVkDKOqOzkd07ULPsYxSYXJqY/bC4RKLat+wpcqHtmcXZtx9W82dYwQG\nkCN1\r\n=bjmN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD2icPJTwJD/KR6v00CkEZesSBGzABlwlAkfffzuW54DAIgP/hoMelwpJqj6lN/9Ib3I/XHQRX1olI+rjoW0RT/KOU="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.13.0-next.7_1585416852297_0.9880229639474039"},"_hasShrinkwrap":false},"0.13.0-next.8":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.13.0-next.8","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-morph":"^7.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","docsify":"^4.11.2","docsify-cli":"^4.4.0","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 180000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"DEBUG=true jest --verbose --testTimeout 180000 test/e2e","test:system":"LINK=true DEBUG=true NEXUS_PLUGIN_PRISMA_VERSION=pr.68 jest --verbose --testTimeout 180000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5","overrides":[{"files":["prisma.md"],"options":{"printWidth":35}}]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <a href=\"https://nexusjs.org\"><img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\"></a>\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Links\n\n- **Website** https://nexusjs.org\n- **Discussions** https://github.com/graphql-nexus/nexus-future/discussions\n- **Issues** https://github.com/graphql-nexus/nexus-future/issues\n\n## Repo / Package Overview\n\n| Repo                                                          | NPM Package                                                  | Role             |\n| ------------------------------------------------------------- | ------------------------------------------------------------ | ---------------- |\n| [nexus-future](https://github.com/graphql-nexus/nexus-future) | [nexus-future](https://www.npmjs.com/package/nexus-future)   | Framework        |\n| [schema](https://github.com/graphql-nexus/schema)             | [@nexus/schema](https://www.npmjs.com/package/@nexus/schema) | Schema Component |\n","description":"- **Website** https://nexusjs.org - **Discussions** https://github.com/graphql-nexus/nexus-future/discussions - **Issues** https://github.com/graphql-nexus/nexus-future/issues","_id":"nexus-future@0.13.0-next.8","dist":{"shasum":"74cf60c98ecd5f7265dec4d71a2cb0835c7113a6","integrity":"sha512-0JgoXi3W7FVyGMldeihXEME1nCImxdJSyVJBxNpEZImLPwodJXkcPstai3LcS429t2dbXm9gf5HKuXvRWvJqxA==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.13.0-next.8.tgz","fileCount":399,"unpackedSize":835652,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJef5DTCRA9TVsSAnZWagAA4D0QAInqNsQJ/j2mA5Sfx71s\nZWyBnZvwtzIzPScg2CxZ+K0CIM1NyWfSvXpg3EQVt/jY31DbrKRXgvBiprPt\nzF9YirVPEzwY+ANzaGVpDVSEP1K4Tg2sFssjw94/ZTrjthPSfT/ui40SGet3\n0tijSSDyorlphzQ9g/ygFzrcw+/ZxWyopWjc0gi6Ot8l/s3h/8NY4fQ4aJzK\nsFu5qcp+RnZfbyIPG8zPhH2g0K2AXpXbsjf8sAK/iFq+mhbu/F8QDQfgI4le\nM3trXNyckqG7hQYkhc81y/qEJTNHd8/ZdjqWgEDyZocp6LePGpVSl+WLNQSt\nllXqgkC9I5Zfvyv8B+oQS1l0+BD7Oi2aIZfMMGxjpcJoOEUPB1zUpoEh5FnU\nl5L4mgyyP4kn1FmLBYDJIG4GfGIPY+ZZGjl9oiar1EDqd1froFl5a74iUDym\nU5VLw2HVhDoEiCtBiWqU0gFifcdgRegrFSdmOXP7zsyOVhWz57IlV8vxRlSm\nVfVJRhQGenmOXgJNi0PdEUM8p2GhZsmlc0MggxW4atdvPoFVZ4pBUy8Zdwbu\n8WFINDg0zwUt2yOLWoqpxd2bXU9PQQ9/t3Z2HVvx74xJ32IyHTxYPcbFJi8S\nM6jDrXSA6ztXLJ9DB7f0ALPjfS6y0666VfT3shFXhN/+uQtBGggBVSdjgMTT\naOSZ\r\n=Zmjd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDrRwOzi6aH1L/tKQLGdsNOMJ2e/MYUfmkViB6VFzlGowIhAIpyGUikbRPaH3Ejuwt9EdckI4azz0xHBZVAwVkglPwm"}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.13.0-next.8_1585418451301_0.20382451052868267"},"_hasShrinkwrap":false},"0.13.0-next.9":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.13.0-next.9","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-morph":"^7.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","docsify":"^4.11.2","docsify-cli":"^4.4.0","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 180000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"DEBUG=true jest --verbose --testTimeout 180000 test/e2e","test:system":"LINK=true DEBUG=true NEXUS_PLUGIN_PRISMA_VERSION=pr.68 jest --verbose --testTimeout 180000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5","overrides":[{"files":["prisma.md"],"options":{"printWidth":35}}]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <a href=\"https://nexusjs.org\"><img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\"></a>\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Links\n\n- **Website** https://nexusjs.org\n- **Discussions** https://github.com/graphql-nexus/nexus-future/discussions\n- **Issues** https://github.com/graphql-nexus/nexus-future/issues\n\n## Repo / Package Overview\n\n| Repo                                                          | NPM Package                                                  | Role             |\n| ------------------------------------------------------------- | ------------------------------------------------------------ | ---------------- |\n| [nexus-future](https://github.com/graphql-nexus/nexus-future) | [nexus-future](https://www.npmjs.com/package/nexus-future)   | Framework        |\n| [schema](https://github.com/graphql-nexus/schema)             | [@nexus/schema](https://www.npmjs.com/package/@nexus/schema) | Schema Component |\n","description":"- **Website** https://nexusjs.org - **Discussions** https://github.com/graphql-nexus/nexus-future/discussions - **Issues** https://github.com/graphql-nexus/nexus-future/issues","_id":"nexus-future@0.13.0-next.9","dist":{"shasum":"3e45464e3649b6c6e3cf28051cb4883f9d44a077","integrity":"sha512-XXL52m6gvZZa5B8cIVkmpamrBmwIIvUdmpIuoIMFkaa/0ihzfZAL+fgs8xDOx4vXjjiAigrdhEH7gJZwB+0+wQ==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.13.0-next.9.tgz","fileCount":395,"unpackedSize":834670,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJef5U7CRA9TVsSAnZWagAA4TwP/jTgcog7suRIYEzIYYIZ\n/PUK79yenrjdn+XrWoG/RCaZm7ur9rdmck4c+0dXYvfiVWvINtIGh6BYka44\nsVyh8ScoaqqZ69MYHV4YdHF/l+Ee+oJxSoWiSwAHhwO5GlItnKR0g2EwzoRr\nw8jgxE0THR9sgneGTEb4h9JX6HiK8zTBlsqrVXdDfmVtFk0nX0NbGTPcu1P7\nKaNd4pDJGj6984ORTc/huuWG8+JwTPtO62DngxxO2eIJbbFigmubaxvsHLxT\nrY0qQieG+A3nswHwV9qQgp9mE+qXToZQLvc+yz7UIjYCK5nAuJDkLDr0xXfH\n+FA77dJn6zqE5rug4q3qtlxaMu+qMFCV08oZllryS2CE4Jg+BTF8a9grFZ5j\n+xANtctSKouy91aMKVqpibZAs4W68PX3UOV3bzRCjzTF0JPsQkE1dLL9Aakx\nNAPKbFRabRtx0fZNLNBMW91x/12Y2a2uj4zCbDU1oflvklNP1cXxwAke6rKo\nZKTCnCmfeG77uhTA8bPi8lJETFBOJVr8yqWuAK+LKseuubgYa2n1DcyP2TuD\ngSjWGIrQ3Bc5hoZciOYTIWpI6BxbsugXpSbMCNTRXuwkLWC2VrIYZNB/S/rs\nPHPZDjGi79RmT30f/1G+CYg0+IWqrenWndkv3Co4lZYMDFflw1LqRZeo2jPD\ncot/\r\n=blPU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEiUmXt27xF0xB6sxhVAs9xwapdN470tCpsfH5d1/ubPAiBoR9T+AqXSct36TJaZX/Kq1DNg5MPJBD3mlI4QoB3UeA=="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.13.0-next.9_1585419579125_0.8939853587653777"},"_hasShrinkwrap":false},"0.13.0-next.10":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.13.0-next.10","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-morph":"^7.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","docsify":"^4.11.2","docsify-cli":"^4.4.0","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 180000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"DEBUG=true jest --verbose --testTimeout 180000 test/e2e","test:system":"LINK=true DEBUG=true NEXUS_PLUGIN_PRISMA_VERSION=pr.68 jest --verbose --testTimeout 180000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5","overrides":[{"files":["prisma.md"],"options":{"printWidth":35}}]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <a href=\"https://nexusjs.org\"><img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\"></a>\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Links\n\n- **Website** https://nexusjs.org\n- **Discussions** https://github.com/graphql-nexus/nexus-future/discussions\n- **Issues** https://github.com/graphql-nexus/nexus-future/issues\n\n## Repo / Package Overview\n\n| Repo                                                          | NPM Package                                                  | Role             |\n| ------------------------------------------------------------- | ------------------------------------------------------------ | ---------------- |\n| [nexus-future](https://github.com/graphql-nexus/nexus-future) | [nexus-future](https://www.npmjs.com/package/nexus-future)   | Framework        |\n| [schema](https://github.com/graphql-nexus/schema)             | [@nexus/schema](https://www.npmjs.com/package/@nexus/schema) | Schema Component |\n","description":"- **Website** https://nexusjs.org - **Discussions** https://github.com/graphql-nexus/nexus-future/discussions - **Issues** https://github.com/graphql-nexus/nexus-future/issues","_id":"nexus-future@0.13.0-next.10","dist":{"shasum":"230fdc6e6773af4971a7b54769e4efd4357f64a2","integrity":"sha512-b3jySy+ypE3C/P96s1xtn56arZHX6i9XOF+ppLIRTKQ34U2bgV+OpOPNmQawMFzbIm6M8IvszAMM916yhwirsA==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.13.0-next.10.tgz","fileCount":395,"unpackedSize":835218,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJef74/CRA9TVsSAnZWagAAICcP/3aSuHG+VPh3BSNwcqaa\nxMtc8+spJuDcaExyR4ymbiMLCY2epopyCNhuU/fkc9kSy91CCick63j8NQL5\nCzU8qqXMBbdfKyQqzbPdkWsJ7fu8tpQe3TLBXFZXs/64VEuIdNomogUh0zJW\nSkMHTyBk3jLPCn89BL8OktHdcaM4HWO44yYRKDlGuJJFUGXFTcxNwrYBiBbV\nkx4kNWDhLnYnRyXtg9/U/nR8Ywq8zl10DGBqpnYUIBHPvdt7VGi1f6FdgiFz\n9jjRnxeX1+5qsZhxzZ5L5Yt7SWoZVLNQFqnEycNZrXFnC6z3Z5jWNdLakc+r\nj+Yru30liyoUb+Pl6zZjTz0em4lS8/CSY776FZ6yAr9R4CGTOH5vaJaAjBfE\noP626w3mMkPe9TKPoz4UQqn5fXDAngOjKHh0rcKOLsaSxIT73ofCnKf0MmBH\n5O5UQGDK2Ya9kXZMArMy5q5Unog2lss9MUwbOhmGbItRz30wn/ybBcuhkD6Y\newC+VQv+MmwJ27xZm7E6OZKMBrDzZqGSGgqW19yO28cCbnVLczYuJLCrDZ8P\njg5P1jXukd4x49UMiJ9eBYCN9GAuZdyjo6uuDP578QeonQkkJXG8pTZpFit6\ngJge86NT6gvGxPR6vQ4GLuR19HEpaHV2hjUiU9XkowB/gRwaQLjF/D7mMUv4\nE2jb\r\n=s8Rb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQClEt4UBBRo+JpiQnLQbLzfua2XievLB7XIaLjSMBMX/wIgaRxoCJbeuPgH3+/9ABjU8I/Pl3n2KfnOjNes4hwvf5Q="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.13.0-next.10_1585430078892_0.7525708326308089"},"_hasShrinkwrap":false},"0.0.0-pr.534.3.1401106":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.534.3.1401106","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-morph":"^7.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","docsify":"^4.11.2","docsify-cli":"^4.4.0","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 180000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"DEBUG=true jest --verbose --testTimeout 180000 test/e2e","test:system":"LINK=true DEBUG=true NEXUS_PLUGIN_PRISMA_VERSION=pr.72 jest --verbose --testTimeout 180000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5","overrides":[{"files":["prisma.md"],"options":{"printWidth":35}}]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <a href=\"https://nexusjs.org\"><img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\"></a>\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Links\n\n- **Website** https://nexusjs.org\n- **Discussions** https://github.com/graphql-nexus/nexus-future/discussions\n- **Issues** https://github.com/graphql-nexus/nexus-future/issues\n\n## Repo / Package Overview\n\n| Repo                                                          | NPM Package                                                  | Role             |\n| ------------------------------------------------------------- | ------------------------------------------------------------ | ---------------- |\n| [nexus-future](https://github.com/graphql-nexus/nexus-future) | [nexus-future](https://www.npmjs.com/package/nexus-future)   | Framework        |\n| [schema](https://github.com/graphql-nexus/schema)             | [@nexus/schema](https://www.npmjs.com/package/@nexus/schema) | Schema Component |\n","description":"- **Website** https://nexusjs.org - **Discussions** https://github.com/graphql-nexus/nexus-future/discussions - **Issues** https://github.com/graphql-nexus/nexus-future/issues","_id":"nexus-future@0.0.0-pr.534.3.1401106","dist":{"shasum":"0cbf4a05892e69491f0d6629f7371e912eb3add5","integrity":"sha512-5Qi0rRBh0YDCnIrtOptJt/W7Bv3xoF+dbsErzyLI+dmL1pQU4ayal6cc5zgahVZHbF0GcnFSTxK8SveOoLqQBA==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.534.3.1401106.tgz","fileCount":403,"unpackedSize":833716,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJef/dDCRA9TVsSAnZWagAA6K4QAJXuCPGo0wcaLGcssS6j\njCWpkQQBsjCRIPDZZ5ytzB97vZdCoyUFD9/eTVWFI0hEDgTm4lQd6iNqEPer\nEmzA/BqNburZbchNHNJzF9z/q3M2cwnm+qBOidN3rvX2mLoNo1ijDP+bLy3T\nNQGUG36M1vAde58wYMBnwrpMObHox1aPmYAH2pocVa3BpzU3EnKkJpLqMAZE\nXCMj5gcALNoiRKNq+UOqr2MOK8lETE+Bbck4wkCfR50fS/6BRtuwHAmulYCC\nzNQn53CxhBjbh/k87btkn+fKgOzdRhBRgUYzrhmNWQxiSLR52EpC1CTLIzse\nt1y0aAIdpsTdatfwhNl4ioYBzwzSq8hHGS+HremWJwqgXdi/ylSpWUrysPsp\nRa4qFjZ8/7eIheNtql5OjCcINWxvTVxe6jM542qox+fuTB3zXMUDDs4GC7Qd\nxHzbDiT2D3q8A5m13K5mVXDkqcof6nk3wvyHG0KcYiE4b7r00NEMbKtX17pN\nvCxC7wz6A/JfZsmKw2ZpweB2aBOUAk2d+cFDLFofJGm9GXDwyXFmXPkariBC\nh3DwfS7Qq4+Xx5sv9NwbFn7WaOjLBN6lx5bZtGdlmo4G9Vk1bdx+lH/U/4b7\nve+stpcg/oJFiLzjnsLhMZptKW2rIx8TnXoC6FHQZF0agJHVQvcLGg3KV+3n\nLT3v\r\n=oTnd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCa/KJeloFF15OIPS+ezE5yeRkwOs7oiREaHj7rnaoMcAIhANVwd43LaP06MmL+qO9q8m7a1kKH+TU90MPZhd/A1YJw"}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.534.3.1401106_1585444675042_0.0041654819842713575"},"_hasShrinkwrap":false},"0.0.0-pr.534.4.5a9015a":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.534.4.5a9015a","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-morph":"^7.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","docsify":"^4.11.2","docsify-cli":"^4.4.0","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 180000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"DEBUG=true jest --verbose --testTimeout 180000 test/e2e","test:system":"LINK=true DEBUG=true NEXUS_PLUGIN_PRISMA_VERSION=pr.72 jest --verbose --testTimeout 180000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5","overrides":[{"files":["prisma.md"],"options":{"printWidth":35}}]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <a href=\"https://nexusjs.org\"><img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\"></a>\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Links\n\n- **Website** https://nexusjs.org\n- **Discussions** https://github.com/graphql-nexus/nexus-future/discussions\n- **Issues** https://github.com/graphql-nexus/nexus-future/issues\n\n## Repo / Package Overview\n\n| Repo                                                          | NPM Package                                                  | Role             |\n| ------------------------------------------------------------- | ------------------------------------------------------------ | ---------------- |\n| [nexus-future](https://github.com/graphql-nexus/nexus-future) | [nexus-future](https://www.npmjs.com/package/nexus-future)   | Framework        |\n| [schema](https://github.com/graphql-nexus/schema)             | [@nexus/schema](https://www.npmjs.com/package/@nexus/schema) | Schema Component |\n","description":"- **Website** https://nexusjs.org - **Discussions** https://github.com/graphql-nexus/nexus-future/discussions - **Issues** https://github.com/graphql-nexus/nexus-future/issues","_id":"nexus-future@0.0.0-pr.534.4.5a9015a","dist":{"shasum":"59748fa72b9751b6f2f4a44714752a989596224f","integrity":"sha512-yrCKWvLZLflrugpB3BCM6Z65w9SZied/DUOytLQiNFM+LXYPDs2ofzHi6LqHVGTFb1di3yogjz3kuUl53rvZGQ==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.534.4.5a9015a.tgz","fileCount":403,"unpackedSize":835005,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJegAjhCRA9TVsSAnZWagAAP6MP/2J/HrRnigFpRm1FjBNp\nRzJX8QSYqB9qxi9W5iYCJABQ+yHYhY/gV28GBvwOfCQ53nIJK6dmjSLC57Kj\nTpwDADagNxu0y5CX118zdbLgREcG/cZUXY6YMPAHiWO9VfJjd2SAAF6QsT97\nPOyQObF42iYm+n2TH69mRY84J8mvl7+fG0wadpRl2DsFM9oo1AWCLJ4Ke6QA\nSX07VRtFFtpdW0e+N2jiW2hdyomre43wkZ/e2MWKJK1WmUN6aic4prUnsurS\nF/J0GmaOFAXC9VHlW0wsnO2u3yAR+f9uYT0ihkHg1ypUwrj5K3OXZKxPSVbY\neiMW0eiR4ilLgx92MCwJWDB+eBNCVnWvz4WlFJPHTm31QYBNPhg7iElD3op3\n9kvBDOoZijdvA3Uxd+SjSbL1Yuu98oLmV2A5RotxbL4CyOGTgBGrEOnuOyl/\nSzHDLOATjaYL0pRLTSUBei9h881r9/9+UN5//lkCkU+SDw2NS7dyVKSxElPS\nu77liE/LSggrV+zK326Y3ND82GqtCOcSykm3VSETSgMEQd0hGTPSpefpRvgw\nkH8DLe9aDcKP7rjtdPAJXXISi8FY8gBsRaeq0wSzSiDyn43Wvc+TZNlQiyS6\n2DhW/cWR3NT/HXgHy1Ye97OsITi+aHx7ZZL47SuP0Qf71X2PKnZCuxUU09/2\nnhEl\r\n=0+vW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAu6BNWdByANh0cUTCeEQYAyG0IcTAmcQ802iOAC64sjAiBoeDmyraSvdN2RXRFY7GGdCW9D9SCUKgsyfz5pBcecRw=="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.534.4.5a9015a_1585449184770_0.7017505041796841"},"_hasShrinkwrap":false},"0.0.0-pr.534.5.6af829c":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.0.0-pr.534.5.6af829c","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-morph":"^7.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","docsify":"^4.11.2","docsify-cli":"^4.4.0","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 180000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"DEBUG=true jest --verbose --testTimeout 180000 test/e2e","test:system":"LINK=true DEBUG=true NEXUS_PLUGIN_PRISMA_VERSION=pr.72 jest --verbose --testTimeout 180000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5","overrides":[{"files":["prisma.md"],"options":{"printWidth":35}}]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <a href=\"https://nexusjs.org\"><img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\"></a>\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Links\n\n- **Website** https://nexusjs.org\n- **Discussions** https://github.com/graphql-nexus/nexus-future/discussions\n- **Issues** https://github.com/graphql-nexus/nexus-future/issues\n\n## Repo / Package Overview\n\n| Repo                                                          | NPM Package                                                  | Role             |\n| ------------------------------------------------------------- | ------------------------------------------------------------ | ---------------- |\n| [nexus-future](https://github.com/graphql-nexus/nexus-future) | [nexus-future](https://www.npmjs.com/package/nexus-future)   | Framework        |\n| [schema](https://github.com/graphql-nexus/schema)             | [@nexus/schema](https://www.npmjs.com/package/@nexus/schema) | Schema Component |\n","description":"- **Website** https://nexusjs.org - **Discussions** https://github.com/graphql-nexus/nexus-future/discussions - **Issues** https://github.com/graphql-nexus/nexus-future/issues","_id":"nexus-future@0.0.0-pr.534.5.6af829c","dist":{"shasum":"4a2fc60a322af7e4076c72b544d73b9c88a91fed","integrity":"sha512-V+2NW0Dg/LO12ZBkOm4xpFT0iGUscKUX1AkczjEdui95amv2CoPXqf4M7JuPf4Vg/ix/VW5gILFeWBCF2akPkA==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.0.0-pr.534.5.6af829c.tgz","fileCount":403,"unpackedSize":835149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJegBEbCRA9TVsSAnZWagAAdVIP/j20df/LI8zj3Vk8VV1D\nCl9joKT5QQG2ltH0x+bFUH03Bl51h//m+fdzQ80lvs433YWvBmLOj11pTI1i\ngYGLgOqZevFj4qX3e4mV49dQUSGTPdESDn6m3Zo16637s8vxaPpTaYwGMSAT\nCex0BaDMuhrTLDWTM6sxURDYHB4JzQcvcz1x8Eb1hPR2myTRHinIbkGnby6w\nuqkGOB/tMMUnOanL25yNfd8RMdilX5rjb7XHwdryZf12FrNOgUvF0H9a7Brl\nscyQzhthMDB1E5IdgIJ+vQ7+rCaQ4mCkN+pUvkBzGeQabUAdWlU5cqnoLnVH\nkxM8V3dOIXLvi2cMIuukt1bugy3okTYVHzJfK2KeG1DYVGxu2lSEe1AtTIBy\ns6/o7nm3fwxo3NToJETUdxJZo8ahbhTPBopOfPH8+44aeTVs+OZWQm1tFzOP\npN5v0iYEXGVlckSsen1q37B6mRYPNKzbaLCtqrfYMvaGIz2n1fcjnWTNLENk\n+EmC59GgFmK0/S/epDXopZ6Ee1rXn1bkpqeQ+LHBX61fh9FFY2EkUQH7vvc7\niEfWfML26Ft4sgWVTU783i6Sf8SbrgnnV6vdTFOOxoJP0G8Su+VtflNrSIpg\nVjaf4SS1aKu3CCdv7hqs3CqxySHF99Go0CwRvh+LqxoLSWvHd2tpGacANhNp\nTqPK\r\n=bxUG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCsEzb/6RYPr3VFi3xUEtGuhZ5ukvp0KPI6IZ7h+msi4gIgI3pCMj2dbPQJFbcdnzn3TSjkDUiidhzvKDc92fh9Rkk="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.0.0-pr.534.5.6af829c_1585451291489_0.7129994611238304"},"_hasShrinkwrap":false},"0.13.0-next.11":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.13.0-next.11","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-morph":"^7.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","docsify":"^4.11.2","docsify-cli":"^4.4.0","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 180000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"DEBUG=true jest --verbose --testTimeout 180000 test/e2e","test:system":"LINK=true DEBUG=true NEXUS_PLUGIN_PRISMA_VERSION=pr.72 jest --verbose --testTimeout 180000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5","overrides":[{"files":["prisma.md"],"options":{"printWidth":35}}]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <a href=\"https://nexusjs.org\"><img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\"></a>\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Links\n\n- **Website** https://nexusjs.org\n- **Discussions** https://github.com/graphql-nexus/nexus-future/discussions\n- **Issues** https://github.com/graphql-nexus/nexus-future/issues\n\n## Repo / Package Overview\n\n| Repo                                                          | NPM Package                                                  | Role             |\n| ------------------------------------------------------------- | ------------------------------------------------------------ | ---------------- |\n| [nexus-future](https://github.com/graphql-nexus/nexus-future) | [nexus-future](https://www.npmjs.com/package/nexus-future)   | Framework        |\n| [schema](https://github.com/graphql-nexus/schema)             | [@nexus/schema](https://www.npmjs.com/package/@nexus/schema) | Schema Component |\n","description":"- **Website** https://nexusjs.org - **Discussions** https://github.com/graphql-nexus/nexus-future/discussions - **Issues** https://github.com/graphql-nexus/nexus-future/issues","_id":"nexus-future@0.13.0-next.11","dist":{"shasum":"35b98ba62ad8b7d34889af9ba86dc18806ef4f7c","integrity":"sha512-yxqxfMGsbNrXNiRR5/U+zO67rGTsqA5SAj9HGj2RVmStZS+MlBVUQRY/FoSihA6aqcPqURLvr6K9CYDQJqBCqw==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.13.0-next.11.tgz","fileCount":403,"unpackedSize":835101,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJegB1lCRA9TVsSAnZWagAAf4cP/2FS6K18J/S23q4eY7hI\nwKt8YHdDsOvWAFo58VPcu+4OA9LvO6tY6ozJVmE+bEY4n1eXkosaI4eleD9y\nfTR3TIU1+raI5rG7BJ+FtZLJaR6blixmfQZTjrUK/ievYZrbDj8CR4zTXK3W\nXk3VFy6kNT4kgxoBX6VVjqorI1HNV1DcyDSvr3avkB4GL7yYycI1PFgm7/kk\ntOzSZMzK6uMl1bN/aqOfQeUsc1ozWae0/JJjEsn8Gq5egX7A5VvUlXIUkcYo\nTB9INUs3vajTMQh2xb8JcoHfQzgjC33L4Ks5+1+rj/xGvCAnVKGIdRIeA2GK\nWo4s+U+mhsItcpon6oPbOykLzlEalW5v5HpKpgEygM3ziW2bEfc5pMH5I+DC\nUvpq8u6VENmCy1GV8WCf7KOn6avK/XXAu4ok8o7YrF5ShXRLYChy8R1VJ09t\nn5XtGyDcZZKUWxQWP2UvYYw8px4aY6TEhYTbc7vkLjn95OL+WlLYGMQra964\nA6TkjeCERsy23oz5Ush9fxW+1Tu0cpJULOqmtxRTrv5WGlBScFpgvmlL6s/H\nzATkm441BkfqGd569P+lrnT8RCzOsGLfwrYwhFK4Pclej2wNVOO+g0z7xNOQ\ne50qHg/twywFaNHKmrlzRnhgAk8UI8WWskDCwBmjICuzpT71PmNnc3x7KeVT\nGSA5\r\n=Wu6W\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEFzv6PlylR9itPywq4C2bNJiwEYSAmmeDRNsf3/M4PTAiEAtTJUByTF6zrggV6Wp1YS1PChqfY3p68CFkLzthHoEpE="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.13.0-next.11_1585454436615_0.9487917729380695"},"_hasShrinkwrap":false},"0.13.0-next.12":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.13.0-next.12","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-morph":"^7.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","docsify":"^4.11.2","docsify-cli":"^4.4.0","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 180000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"DEBUG=true jest --verbose --testTimeout 180000 test/e2e","test:system":"LINK=true DEBUG=true NEXUS_PLUGIN_PRISMA_VERSION=pr.72 jest --verbose --testTimeout 180000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5","overrides":[{"files":["prisma.md"],"options":{"printWidth":35}}]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <a href=\"https://nexusjs.org\"><img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\"></a>\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Links\n\n- **Website** https://nexusjs.org\n- **Discussions** https://github.com/graphql-nexus/nexus-future/discussions\n- **Issues** https://github.com/graphql-nexus/nexus-future/issues\n\n## Repo / Package Overview\n\n| Repo                                                          | NPM Package                                                  | Role             |\n| ------------------------------------------------------------- | ------------------------------------------------------------ | ---------------- |\n| [nexus-future](https://github.com/graphql-nexus/nexus-future) | [nexus-future](https://www.npmjs.com/package/nexus-future)   | Framework        |\n| [schema](https://github.com/graphql-nexus/schema)             | [@nexus/schema](https://www.npmjs.com/package/@nexus/schema) | Schema Component |\n","description":"- **Website** https://nexusjs.org - **Discussions** https://github.com/graphql-nexus/nexus-future/discussions - **Issues** https://github.com/graphql-nexus/nexus-future/issues","_id":"nexus-future@0.13.0-next.12","dist":{"shasum":"e398ab744fa3ee1c4c492f6137f9de0e28a40db9","integrity":"sha512-sb6+Mo5UDMa8H/oo55YqTWMxILETHfYDHNRsPogcBmGFlgDScTDRRzVXBS3Q1rjwmxAj9FUgclmyoH6DwKY6jA==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.13.0-next.12.tgz","fileCount":403,"unpackedSize":840727,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJegjCsCRA9TVsSAnZWagAAzKwP/jxJO0Y6J3S7s5bJ/woi\nwdOrl3ZFPOPz/TNUpyqBoyJu2BfqlgCQob3eb/5A7A/OA7zIDNhOVGUM6o2Y\nsFLhbAklbmMAC7aUjwJSvpI1Ipzh7+9WfV1i1ARGyYD7QGgFPAsas+c84CV0\nGSxpzBASRsHM8yL0wcbYLPexBYKrBlQVH0KCUYADvFg8JFIQMVEBFHfLcehO\nIAN1hhufKr6WcRHue0g19SJFOq+cUB7+nGp4RVwJnh92KA3gc1teITC2G6eA\nkOiOCzgd4G3DfIsp3Qjir4okXX36SO9IC9BpLRPQqsK15mlmSmU8T/X/5a4t\n7rxv54n+YcWt0Cxx91eGzpn6jfIJb/pJPNhHAhyHwfXq0qyAtx80iLI2i/c3\ndfY5yPzwy84Q1urrtQhOwLE0/qTIVXxAChTo+dpfP9KbeSiwpEMTOICbmrYJ\nkeMQSPYH7aMlACrjLd+Wzk/dBorAMrypJ26AV5HrpnZWmhnCACCxms8ykrhG\nAmb/8fwWNpaYxA2XJy5cDu4ok7/6daIijylwt7OuXr8uDW27I8ra7XO2J6yi\nlXxw2Rq0YC1HU0L8D29S4bHZC9YuVveELwH3QldlekQsHlg/FICnxHk6G+jS\ndU+sh0zzSKiRBWngcBvHcrvo6i0HjhtkWH3vnTXyoSFvJwpp/Kt4bEGYAvhj\nkNiy\r\n=u2kf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID7xUvN/XDEswl6787XwUhjAGcnNzy06ZVcl7gBG8fUAAiEAphIKNgN4ZIX2W6xGjqcu+hm+9QHZDgFBwzWCKid1hTw="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.13.0-next.12_1585590444106_0.22812085012765237"},"_hasShrinkwrap":false},"0.13.0-next.13":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.13.0-next.13","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-morph":"^7.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","docsify":"^4.11.2","docsify-cli":"^4.4.0","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 180000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"DEBUG=true jest --verbose --testTimeout 180000 test/e2e","test:system":"LINK=true DEBUG=true NEXUS_PLUGIN_PRISMA_VERSION=pr.72 jest --verbose --testTimeout 180000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5","overrides":[{"files":["prisma.md"],"options":{"printWidth":35}}]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <a href=\"https://nexusjs.org\"><img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\"></a>\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Links\n\n- **Website** https://nexusjs.org\n- **Discussions** https://github.com/graphql-nexus/nexus-future/discussions\n- **Issues** https://github.com/graphql-nexus/nexus-future/issues\n\n## Repo / Package Overview\n\n| Repo                                                          | NPM Package                                                  | Role             |\n| ------------------------------------------------------------- | ------------------------------------------------------------ | ---------------- |\n| [nexus-future](https://github.com/graphql-nexus/nexus-future) | [nexus-future](https://www.npmjs.com/package/nexus-future)   | Framework        |\n| [schema](https://github.com/graphql-nexus/schema)             | [@nexus/schema](https://www.npmjs.com/package/@nexus/schema) | Schema Component |\n","description":"- **Website** https://nexusjs.org - **Discussions** https://github.com/graphql-nexus/nexus-future/discussions - **Issues** https://github.com/graphql-nexus/nexus-future/issues","_id":"nexus-future@0.13.0-next.13","dist":{"shasum":"62253dd045842fc1e12902dc9aaa6cbaa8c60c47","integrity":"sha512-T0CFcQaE+M/VwMz6Djoc2oeuoqh6Wp0eEHDB+8PdCd/uvB5QFvPMndDNosxbW2bSY3/1Ml5sxzG1a+poEJKinQ==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.13.0-next.13.tgz","fileCount":403,"unpackedSize":840649,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeg4h9CRA9TVsSAnZWagAAOTkP/38F82ebL4EfSAYwN7JN\n2kNcS4Wo2yknRz8RMfjuL/VN49gYOfKWaWU4RHOUfqtsFZjvCaY+cq2ij/mK\n/9jrlQVnIVsJ0jWDRY3GnDuMBcz6LuZ7vWbNJ1bkIRuFbG4VbuO/NdZCx6g5\nI6wWdRQ2cfhY/Hz8wsgKQrpVvUFt8qQFGY7qmAizKx4JP/aujxmZzhkFNsKJ\nN0fwFb5JvZ9tBH29pfmrJdJj6Bk228LTNB/DCzfNxUxaQ7cUKneT6oWsU0VY\nQAUkefjDOGIqNy4AS29gbg3lLXsUojatuhjso0qgn0GnLyN+4vz6VnsM0bpw\n0vSaB0i8h2pQXzLQ7FvDQ8n0gg3xANmiNXi/rRT5w4SKV/U+CNfuPEOodO12\nKZK5nkPOmYfw8neLpQ/WpkdmkOxRHzbxbnBagm8oiqz6+LTK6/TvjRGFNZH8\nU0pT985/em+evVGv+k4F/ujLymA0lxHFkTvP1gwl0JhVEy0IzZ8B0N3afmhT\nJ7qt7xbARxTEqsqtrgNcMu5uh5Polts3MimsAYmz7T6ujMlnAQ24AFCGwodX\nex+9Zc1DM0n36mZaAWUByO+cblWARWBo79bKw1cpHU/WYEpdfR1mhj8T6X9j\nwarDjYbpLNJPhnsH6MSmW7jN0kbLzHJ4pqtDTjP2ofPn5vfNL8q8G5eda0WC\noiez\r\n=jVac\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDJlnTgUGxBSkJaQWmoYOTuGHg0xla9ByJsKdkP4BprGAiEA0oO36jNFmK+vjCbO/qsD7ZD689vl+KyDz8qC76QwDMY="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.13.0-next.13_1585678460786_0.6431426262820386"},"_hasShrinkwrap":false},"0.13.0-next.14":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.13.0-next.14","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-morph":"^7.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","docsify":"^4.11.2","docsify-cli":"^4.4.0","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 180000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"DEBUG=true jest --verbose --testTimeout 180000 test/e2e","test:system":"LINK=true DEBUG=true NEXUS_PLUGIN_PRISMA_VERSION=pr.72 jest --verbose --testTimeout 180000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5","overrides":[{"files":["prisma.md"],"options":{"printWidth":35}}]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <a href=\"https://nexusjs.org\"><img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\"></a>\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Links\n\n- **Website** https://nexusjs.org\n- **Discussions** https://github.com/graphql-nexus/nexus-future/discussions\n- **Issues** https://github.com/graphql-nexus/nexus-future/issues\n\n## Repo / Package Overview\n\n| Repo                                                          | NPM Package                                                  | Role             |\n| ------------------------------------------------------------- | ------------------------------------------------------------ | ---------------- |\n| [nexus-future](https://github.com/graphql-nexus/nexus-future) | [nexus-future](https://www.npmjs.com/package/nexus-future)   | Framework        |\n| [schema](https://github.com/graphql-nexus/schema)             | [@nexus/schema](https://www.npmjs.com/package/@nexus/schema) | Schema Component |\n","description":"- **Website** https://nexusjs.org - **Discussions** https://github.com/graphql-nexus/nexus-future/discussions - **Issues** https://github.com/graphql-nexus/nexus-future/issues","_id":"nexus-future@0.13.0-next.14","dist":{"shasum":"9aea75983a2e334bf924fa31594477b0a20ba709","integrity":"sha512-JkJZobZQdQZTt3oADo5lOpgBJG8wGxuBt9QWlEaSUclr09cQbPtJMbi5nOp/taMRTVXo1GRVpd3oAzLN4R2mgA==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.13.0-next.14.tgz","fileCount":403,"unpackedSize":842140,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeg5WpCRA9TVsSAnZWagAA2J8P/iK4dAPebpI1ofcSecyA\nuaN1/TMi749P8mLUE4JcbKKpe131gQogGM7k2uXLvTHZdHQwq5tqGXHFnUQn\nO3btXR0UawX4BmEfuzdHeIBHEjlHNWte7OLGIshRbYNjd63daMkf8R07vY5p\nL1PMJJfZMA4vHOHWpzjUK7Lm83UP/qM0uCUZGGV53fhQwISf9zrLN/qu/oFo\n4Mb5dAiGYPkMA/UP9xZq49YJ+LmhuPsUPqv5tf75ZHqZS3IDrQm3juBbYf5y\ncyboSEdUC4KK+X+j3U1gnEARLJAx4TCWhbDYx10qug9q6RwWug24XH1EJqZW\nCAMi+Yo30Z6gSbn+EQFpOiUhf6Jjrteca+lFGfVJZZaryXftx64sgYCUFtJC\nDh/iU3qyNYvY+tEm9NkYSCNBsncOTie1XMByMw57GbDzFH+KYqTltQNribvi\nWtKJicJOYn2jHGyNZtINvApvWe4qJ824c5RTjEUqBaAN4AkPZz42sXaV7eMV\nvR/D3Q9fFxnKtJehUpzpj0qCELeXZyeB8L6t6/QNHhSlMixmfqvU90oSoYyf\ny8fexopv2BLH2s/7QxSYEsQZablpEbtIP5lSKkqjPVxfHraIjwc/9d1TVVTW\nfq5ZopJPYpv2kRKJIRQWl0X7NI8rYsuGUD4/qct2vXHuaxvBBi0MVgPcBb1m\n196r\r\n=ak++\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCoCt1yD3F0Zt0579pr4nBzpLiCRr4Z8RC6jlZjoubpxgIhAMxnluAlsAsNkp/+QV2v56HljtZdZn2cZTYJQBX8oo4V"}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.13.0-next.14_1585681832793_0.0224516352252635"},"_hasShrinkwrap":false},"0.13.0-next.15":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.13.0-next.15","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-morph":"^7.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","docsify":"^4.11.2","docsify-cli":"^4.4.0","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 180000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"DEBUG=true jest --verbose --testTimeout 180000 test/e2e","test:system":"LINK=true DEBUG=true jest --verbose --testTimeout 180000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5","overrides":[{"files":["prisma.md"],"options":{"printWidth":35}}]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <a href=\"https://nexusjs.org\"><img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\"></a>\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Links\n\n- **Website** https://nexusjs.org\n- **Discussions** https://github.com/graphql-nexus/nexus-future/discussions\n- **Issues** https://github.com/graphql-nexus/nexus-future/issues\n\n## Repo / Package Overview\n\n| Repo                                                          | NPM Package                                                  | Role             |\n| ------------------------------------------------------------- | ------------------------------------------------------------ | ---------------- |\n| [nexus-future](https://github.com/graphql-nexus/nexus-future) | [nexus-future](https://www.npmjs.com/package/nexus-future)   | Framework        |\n| [schema](https://github.com/graphql-nexus/schema)             | [@nexus/schema](https://www.npmjs.com/package/@nexus/schema) | Schema Component |\n","description":"- **Website** https://nexusjs.org - **Discussions** https://github.com/graphql-nexus/nexus-future/discussions - **Issues** https://github.com/graphql-nexus/nexus-future/issues","_id":"nexus-future@0.13.0-next.15","dist":{"shasum":"9d9d7b191e3be84c83c51f99d18cf238ad706e6f","integrity":"sha512-/cUAvbyX8PZttiXobtphzj8VtJTbx9bSx9jTrtFTyYGCq8qBHLJzlDBQDlVlGZaAOmZjMGbm/sdZefTVlCQNKA==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.13.0-next.15.tgz","fileCount":403,"unpackedSize":847650,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeg6FeCRA9TVsSAnZWagAApewP/1S0QZW6D994jnrQeHwl\nmXMwugRbZ/0kziqXK0FidOU3LWRuv9n1x807sEQ1gWpJ1bvu4KrVpy8BpvmC\n/nQbSVo9LENL0F14wk35get34+CqWHmkGYrnXjHX56yvoWWCcbN/ue+ClxGL\nwveZ9h5/OVh0KYmZH5YFmfSFLwzAdtRXD7sLxTTrmbb/AuQwn9bpVdqkQ7Wf\nwuobt8CXjB0ekNx+mc0tFFmwduBSACTK3UJBltS+vgsGXy8j84x9x1tO9d9d\nnG69wqJSyR3I8WGM83jWKDcDq38oU0BaUOGQFdTmk56tl42eP7xpJS25qwUa\n+OcSlEXsqTqfbMnJEidy5TRi7NTpRnbK112erUFInVGpUaoggvsV8PaJxUla\nfsnJ6vUjyQ4iSANCiGPPLDAHwmNpdgDhT+jHFrY4blOXbRi/cOM0gkVclUsk\n9+3BNZ4/4DFK9RTYyqS4MxRZaicB64QHYO0Nq37IUJ5tLE9f6XksFJLnRLDS\nMMx07DWYuJnrNYLFQFeocmHhFKSBzIz6FuZpUTPFQ58phogPhk3be3GR8/eT\nObWJwKhLdoW+U5lqdRiXWmofm1NqrY36wJlLF19HHDzL3wHEGCc5DuO18+ek\ncTXOGr5pl9PtN+LU74Ik5JIbK1yFDePkesT7hC5rmhPgk1hhLorGdbHqVa0K\nnga7\r\n=RYmw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDg0dgfkadQhHc/taRxMW/gdZIawDFlmQCCM/kT8pYtDAIhAK5eSyV6V8vCvmZxCQLa1oDr84KdZQ2tpI7aYBeOpNSw"}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.13.0-next.15_1585684829906_0.8273890660750078"},"_hasShrinkwrap":false},"0.13.0-next.16":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.13.0-next.16","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-morph":"^7.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","docsify":"^4.11.2","docsify-cli":"^4.4.0","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 180000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"DEBUG=true jest --verbose --testTimeout 180000 test/e2e","test:system":"LINK=true DEBUG=true jest --verbose --testTimeout 180000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5","overrides":[{"files":["prisma.md"],"options":{"printWidth":35}}]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <a href=\"https://nexusjs.org\"><img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\"></a>\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Links\n\n- **Website** https://nexusjs.org\n- **Discussions** https://github.com/graphql-nexus/nexus-future/discussions\n- **Issues** https://github.com/graphql-nexus/nexus-future/issues\n\n## Repo / Package Overview\n\n| Repo                                                          | NPM Package                                                  | Role             |\n| ------------------------------------------------------------- | ------------------------------------------------------------ | ---------------- |\n| [nexus-future](https://github.com/graphql-nexus/nexus-future) | [nexus-future](https://www.npmjs.com/package/nexus-future)   | Framework        |\n| [schema](https://github.com/graphql-nexus/schema)             | [@nexus/schema](https://www.npmjs.com/package/@nexus/schema) | Schema Component |\n","description":"- **Website** https://nexusjs.org - **Discussions** https://github.com/graphql-nexus/nexus-future/discussions - **Issues** https://github.com/graphql-nexus/nexus-future/issues","_id":"nexus-future@0.13.0-next.16","dist":{"shasum":"5d9223073db28723a7c4254cbdb174fa364edef4","integrity":"sha512-wPdcpsX85ra4UYlTG9OwxCI0kC9PcJeHqIW/5oeXKU0lCgLOkhWrEFWbUQPXfPVqUfov03T85IQSTeLkqF7SfQ==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.13.0-next.16.tgz","fileCount":403,"unpackedSize":847689,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeg6e1CRA9TVsSAnZWagAAwPQQAJZ1BcSrYO3XhxCXxub2\nugVfPiCsDqpiJ33873va0NUiT2q1SIc7C5m0IZ9Mw57grekIF6Z5q5MrENOd\nX5CmrDDTxVf/Qdi1MSBA0K9exkSU16BHvPXPfBzRm/P8pY0DtffXT80MJFmV\nO9Iv0JJJ0Tt3gFu7z/lvbJR1kVSQQ3pmqMDcDOzjVExNujcINQVwUQAvXN+H\nhE1PU7ycQ+2SNcT0ePAL7cPovc26J0J4f0yWWIFlduj4I5jmM7YW41+lDy9/\njKwTIuQKVhlM0fdg5LzcWw/U4AKCVM/zn01AtdSWktAcm5Q80Kp7sYko6gGm\nCc0MTfmLip1lpUOmOzeNkyaW6/AFNnYTcTfAlXnpUgiiJxVFGK3zuQkCbh8+\n9AKEh3oIxiDPY1RwW5PbuKSkZLylTk4Fowr/pGIFUCyOg5s0WNTX3DQaECbb\nqqetu3b2vAUyanmnHESe8lxnIsx4q817di2ZkeuhIMwWKjbIPrELLUrWYffW\n4krfpxyJ+FeS5JZPLleN7Xy44zBH+FKRmIlScnU9FUpyjKC/IucxcqepYR47\nbMWd0OTRkoYB4EeHxGV8z6HSGydUTE2dYsAqv0QbRQ7ffGXbdjw2T/st1xvs\n8T6HA65Haar7EK9jGqLlMNp/Og+bSZSvjatTKpAKsR4qGxFQOhA/A9tj4hFW\ngAFE\r\n=R+al\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAaWZa0OT2iZJvM2EiFHBzBydb7kT+TTgVsAIgHvIzncAiB/BgnaCvqTBPy6mXOLG+sJ8P3rHD3GT4GdufQJ8SHa2A=="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.13.0-next.16_1585686453062_0.17887015983844123"},"_hasShrinkwrap":false},"0.13.0-next.17":{"name":"nexus-future","author":{"name":"Prisma Labs"},"version":"0.13.0-next.17","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","main":"dist/index.js","bin":{"nexus":"dist/cli/main.js"},"dependencies":{"@nexus/schema":"^0.12.0-rc.13","@types/express":"^4.17.2","@types/node-fetch":"^2.5.5","@types/pino":"^5.15.5","@types/prompts":"^2.0.3","anymatch":"^3.1.1","arg":"^4.1.3","chalk":"^3.0.0","chokidar":"^3.3.0","codename":"^0.0.6","common-tags":"^1.8.0","dotenv":"^8.2.0","express":"^4.17.1","express-graphql":"^0.9.0","fs-jetpack":"^2.2.3","get-port":"^5.1.0","graphql":"^14.5.8","lodash":"^4.17.15","node-fetch":"^2.6.0","pino":"^5.15.0","prompts":"^2.3.0","simple-git":"^1.126.0","strip-ansi":"^6.0.0","ts-morph":"^7.0.0","ts-node":"^8.5.0","tsconfig":"^7.0.0","tslib":"^1","typescript":"^3.7.2"},"devDependencies":{"@types/anymatch":"1.3.1","@types/common-tags":"1.8.0","@types/jest":"25.1.3","@types/lodash":"4.14.149","@types/node":"13.7.7","docsify":"^4.11.2","docsify-cli":"^4.4.0","doctoc":"1.4.0","dripip":"^0.8.0","husky":"4.2.3","jest":"25.1.0","node-pty":"^0.9.0","prettier":"1.19.1","pretty-quick":"2.0.1","ts-jest":"25.2.1","type-fest":"0.11.0"},"engines":{"node":">=8.0.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"scripts":{"dev:docs":"docsify serve docs","docs:dev":"docsify serve docs","docs:readme:build":"doctoc README.md --notitle --maxlevel 3","docs:deploy":"now --prod","release:stable":"dripip stable","release:preview":"dripip preview","release:pr":"dripip pr","format":"prettier --write '*/**/*.ts'","build":"yarn -s clean && tsc -b","clean":"rm -rf dist tsconfig.tsbuildinfo","postpublish":"yarn -s clean","prepublishOnly":"yarn -s build","test":"jest --verbose --testTimeout 180000","test:integration":"jest --verbose --testRegex '.+/integration/.+\\.spec\\.ts$'","test:unit":"jest --verbose --testRegex '.+/src/.+\\.spec\\.ts$'","test:e2e":"DEBUG=true jest --verbose --testTimeout 180000 test/e2e","test:system":"LINK=true DEBUG=true jest --verbose --testTimeout 180000 test/system","dev:test":"jest --watch --testRegex '.+/src/.+\\.spec\\.ts$'","dev":"tsc -b -w"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"es5","overrides":[{"files":["prisma.md"],"options":{"printWidth":35}}]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"readmeFilename":"README.md","readme":"<p align=\"center\">\n  <a href=\"https://nexusjs.org\"><img src=\"assets/../docs/assets/nexus-logo-black.png\" height=\"150px\"></a>\n  <br>\n  <span>Delightful GraphQL Application Framework</span>\n  <br>\n  <br>\n  <img src=\"https://github.com/graphql-nexus/nexus-future/workflows/trunk/badge.svg\">\n</p>\n\n<br>\n\n## Links\n\n- **Website** https://nexusjs.org\n- **Discussions** https://github.com/graphql-nexus/nexus-future/discussions\n- **Issues** https://github.com/graphql-nexus/nexus-future/issues\n\n## Repo / Package Overview\n\n| Repo                                                          | NPM Package                                                  | Role             |\n| ------------------------------------------------------------- | ------------------------------------------------------------ | ---------------- |\n| [nexus-future](https://github.com/graphql-nexus/nexus-future) | [nexus-future](https://www.npmjs.com/package/nexus-future)   | Framework        |\n| [schema](https://github.com/graphql-nexus/schema)             | [@nexus/schema](https://www.npmjs.com/package/@nexus/schema) | Schema Component |\n","description":"- **Website** https://nexusjs.org - **Discussions** https://github.com/graphql-nexus/nexus-future/discussions - **Issues** https://github.com/graphql-nexus/nexus-future/issues","_id":"nexus-future@0.13.0-next.17","dist":{"shasum":"03e546d81ea41a5616b1016611b5ed917dda33e0","integrity":"sha512-QPqdyMdyPFYIVgU34W3VXTy4KMzryNbYrTN0eRZ3tCCFILDJD0kQAUJHOoj76udzWTt8IN06Lwq5iZyzxZofwA==","tarball":"https://registry.npmjs.org/nexus-future/-/nexus-future-0.13.0-next.17.tgz","fileCount":403,"unpackedSize":847541,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeg9mQCRA9TVsSAnZWagAAW5oQAJ/capciQTj9H3hNASKV\nx2roDZfaqU+MjzMqzUm5g4O9cY1Gqyin+A3m6BYAExqFBBfz6q7l+j8hcKB3\nkFrYDvvoWQZw0SpEk+2knufNqC1WpvQSseETqrL0WBGhmHwgODySCuNmODg7\n6hEvGoAYIOLrEkZ3j2rFt34vLebBcAA0gVZz0WHPBFxbU/NovhAuCkv/0nME\narNmk06y9LPtDGIv1epp8uJVf3A0y0BgKCtpkyDjtDoQmKhRKwKeDyO4YHY9\nTQgOylrBrb0CLHOJF2OR4oc3fmfwqY7kQLPLgzVErAk5llDHHqHK3gPkrVnU\nHBZ0M5SJrBQk2+BqKw/IwrxwwDLw8k+buXOoQxJDPSNCKmLL9J56qdnIHxdk\n3RuvfvEnB3TOAcuI8kp6BAscjK4Y7RC8ALUL5FlHa1jBeCGx5derGF9ODLFU\nVEyqxwGGwgF7GwyLATKAAZKidJ58/kLcVm6+g9qgWURBWgNVZY3gVTHWCqkl\nx51ZLnK5kcTmOO0mvuRkxnot9XTsTF9zfB2+tDVoMkJNW5rvqX8K6EZIuVO9\nV16IMVi8vMk8xzniIauWwrRbua3/NVLOjQeExzs49q4SRbKehpDZvndh1SoA\nWBY4/le5BMCFiHtyUk0LWEa5/o3ys4RYEkxrnrfcnjJ1p6QdE3tz/8XNF2ag\nAvMA\r\n=lWoz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAplYArHV5fuFYx7OwJf6Ik6UbW9I+voQoBSHjY5zS0sAiEAxY3NlhuByAPw7F4yaG8c2fwprxW4BUhMXDW84BhZ9pE="}]},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"_npmUser":{"name":"weakky","email":"rav4g3@hotmail.fr"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexus-future_0.13.0-next.17_1585699216091_0.7143007429629022"},"_hasShrinkwrap":false}},"time":{"created":"2020-01-27T21:24:44.100Z","0.4.0":"2020-01-27T21:24:44.243Z","modified":"2022-05-10T15:23:13.437Z","0.5.0":"2020-01-28T14:24:23.385Z","0.5.1-next.1":"2020-01-28T16:12:50.094Z","0.5.1-next.2":"2020-01-28T17:15:33.713Z","0.5.1-next.3":"2020-01-28T18:10:00.118Z","0.6.0":"2020-01-28T20:49:52.649Z","0.7.0-next.1":"2020-01-29T14:22:29.290Z","0.7.0-next.2":"2020-02-03T03:01:31.060Z","0.7.0-next.3":"2020-02-04T03:18:10.372Z","0.7.0":"2020-02-04T14:44:04.290Z","0.8.0-next.1":"2020-02-07T01:04:19.457Z","0.8.0":"2020-02-07T14:15:36.712Z","0.9.0-next.1":"2020-02-09T14:35:04.106Z","0.9.0-next.2":"2020-02-17T02:10:08.359Z","0.9.0-next.3":"2020-02-17T04:42:43.691Z","0.9.0-next.4":"2020-02-17T05:14:54.812Z","0.9.0-next.5":"2020-02-18T14:41:40.062Z","0.9.0-next.6":"2020-02-18T17:43:06.833Z","0.9.0-next.7":"2020-02-23T04:36:33.206Z","0.9.0-next.8":"2020-02-23T13:57:00.906Z","0.9.0-next.9":"2020-02-23T19:56:26.456Z","0.9.0":"2020-02-24T16:29:11.677Z","0.0.0-pr.419.c4ed57e":"2020-02-25T10:31:03.667Z","0.0.0-pr.419.7792bce":"2020-02-25T15:32:13.637Z","0.0.0-pr.419.60131fd":"2020-02-25T15:41:55.050Z","0.0.0-pr.419.7bb0c7a":"2020-02-25T15:53:47.789Z","0.0.0-pr.419.7745b40":"2020-02-25T17:11:38.649Z","0.0.0-pr.419.1.68a0321":"2020-02-26T09:30:29.362Z","0.0.0-pr.419.2.38db937":"2020-02-26T09:35:45.678Z","0.0.0-pr.419.3.fa74ad5":"2020-02-26T09:47:07.535Z","0.0.0-pr.419.4.e60ce65":"2020-02-26T10:08:53.682Z","0.0.0-pr.419.5.e0f93f9":"2020-02-26T14:34:33.796Z","0.0.0-pr.419.6.d1f4780":"2020-02-26T14:41:28.565Z","0.0.0-pr.419.7.c918755":"2020-02-26T14:43:24.609Z","0.0.0-pr.419.8.9cf8551":"2020-02-26T14:50:07.128Z","0.0.0-pr.419.9.f2d5fae":"2020-02-26T15:23:17.647Z","0.0.0-pr.419.10.627fb1d":"2020-02-26T15:30:58.241Z","0.0.0-pr.419.11.391ab18":"2020-02-26T15:31:56.878Z","0.0.0-pr.419.12.ba3b3d6":"2020-02-26T15:40:12.256Z","0.0.0-pr.419.13.3b6c576":"2020-02-26T15:41:16.695Z","0.0.0-pr.419.14.44bf9c4":"2020-02-26T15:44:59.034Z","0.0.0-pr.419.15.d8599a4":"2020-02-26T16:08:46.746Z","0.0.0-pr.419.16.e83f135":"2020-02-26T16:30:58.464Z","0.0.0-pr.419.17.135d958":"2020-02-26T16:41:55.396Z","0.0.0-pr.419.18.5903fc6":"2020-02-26T19:13:57.100Z","0.0.0-pr.419.19.bf57f95":"2020-02-26T19:18:04.086Z","0.0.0-pr.419.20.765a348":"2020-02-26T21:13:34.382Z","0.0.0-pr.419.21.c6addbe":"2020-02-26T21:22:10.972Z","0.0.0-pr.419.22.55c4050":"2020-02-26T22:00:18.830Z","0.0.0-pr.419.23.7e69609":"2020-02-26T22:07:07.902Z","0.0.0-pr.422.1.3d85034":"2020-02-27T03:41:24.439Z","0.0.1-next.1":"2020-02-27T03:47:23.102Z","0.10.0-next.1":"2020-02-27T03:56:03.023Z","0.0.0-pr.409.1.cc7b1be":"2020-02-27T04:15:14.380Z","0.0.0-pr.409.2.af33536":"2020-02-27T19:45:10.522Z","0.10.0-next.2":"2020-02-27T19:45:30.510Z","0.10.0-next.3":"2020-02-29T14:44:07.507Z","0.10.0-next.4":"2020-02-29T14:55:01.124Z","0.0.0-pr.384.1.4d8ab8f":"2020-02-29T15:01:05.971Z","0.10.0-next.5":"2020-02-29T21:27:35.379Z","0.10.0-next.6":"2020-02-29T22:32:52.686Z","0.0.0-pr.429.1.482874a":"2020-03-01T18:35:26.976Z","0.0.0-pr.429.2.a101c9d":"2020-03-01T18:53:13.432Z","0.0.0-pr.429.3.416b167":"2020-03-01T18:57:57.167Z","0.0.0-pr.429.4.2dbb84b":"2020-03-01T19:19:48.752Z","0.0.0-pr.429.5.1bdac89":"2020-03-01T20:15:38.779Z","0.0.0-pr.429.6.fa25be4":"2020-03-01T20:23:52.803Z","0.0.0-pr.429.7.504fd3b":"2020-03-01T20:40:20.076Z","0.10.0-next.7":"2020-03-01T20:47:09.840Z","0.10.0-next.8":"2020-03-01T21:14:40.693Z","0.0.0-pr.430.1.30291d4":"2020-03-02T01:55:53.510Z","0.0.0-pr.430.2.160d349":"2020-03-02T02:02:28.123Z","0.0.0-pr.430.3.7841fa1":"2020-03-02T02:18:18.169Z","0.0.0-pr.430.4.0555e87":"2020-03-02T02:25:44.518Z","0.0.0-pr.430.5.02dcd2f":"2020-03-02T02:35:38.741Z","0.0.0-pr.430.6.e6c9884":"2020-03-02T02:39:49.643Z","0.0.0-pr.430.7.7f83551":"2020-03-02T02:46:06.672Z","0.0.0-pr.430.8.f218617":"2020-03-02T02:54:50.760Z","0.0.0-pr.430.9.4dc2fcd":"2020-03-02T02:59:42.161Z","0.0.0-pr.430.10.7e4022d":"2020-03-02T03:04:41.863Z","0.0.0-pr.430.11.fc8f7e6":"2020-03-02T03:10:12.053Z","0.0.0-pr.430.12.c20992f":"2020-03-02T03:13:58.410Z","0.0.0-pr.430.13.c66087c":"2020-03-02T03:27:35.145Z","0.0.0-pr.430.14.9f94e3b":"2020-03-02T03:31:44.332Z","0.10.0-next.9":"2020-03-02T03:35:27.439Z","0.10.0-next.10":"2020-03-02T03:54:39.148Z","0.10.0-next.11":"2020-03-02T20:36:01.248Z","0.10.0-next.12":"2020-03-03T02:40:08.158Z","0.10.0-next.13":"2020-03-03T10:20:29.777Z","0.10.0-next.14":"2020-03-03T20:24:38.312Z","0.10.0-next.15":"2020-03-03T20:37:56.555Z","0.0.0-pr.436.1.2582639":"2020-03-04T03:02:10.738Z","0.10.0-next.16":"2020-03-04T04:15:15.316Z","0.10.0-next.17":"2020-03-04T04:40:02.617Z","0.10.0-next.18":"2020-03-04T05:14:12.888Z","0.10.0-next.19":"2020-03-04T05:21:47.811Z","0.0.0-pr.439.1.d561d8d":"2020-03-04T05:31:30.815Z","0.0.0-pr.439.2.10d5eb9":"2020-03-04T05:32:49.007Z","0.0.0-pr.439.3.caf1a2e":"2020-03-04T05:57:38.562Z","0.10.0-next.20":"2020-03-04T06:03:14.071Z","0.10.0-next.21":"2020-03-05T13:11:13.880Z","0.10.0-next.22":"2020-03-08T02:31:44.948Z","0.10.0-next.23":"2020-03-08T04:07:48.889Z","0.10.0-next.24":"2020-03-09T18:21:14.610Z","0.10.0-next.25":"2020-03-09T20:18:47.051Z","0.10.0-next.26":"2020-03-09T20:38:17.049Z","0.10.0-next.27":"2020-03-10T02:51:24.504Z","0.10.0-next.28":"2020-03-10T02:59:40.995Z","0.10.0":"2020-03-10T03:03:30.604Z","0.10.1-next.1":"2020-03-10T17:03:01.467Z","0.11.0-next.2":"2020-03-10T17:04:19.631Z","0.11.0":"2020-03-10T17:20:57.300Z","0.11.1":"2020-03-10T18:41:22.599Z","0.11.2-next.1":"2020-03-13T11:28:04.131Z","0.11.2-next.2":"2020-03-13T14:19:17.233Z","0.11.2-next.3":"2020-03-13T16:56:56.112Z","0.11.2-next.4":"2020-03-16T12:46:02.384Z","0.11.2-next.5":"2020-03-16T14:31:58.402Z","0.11.2":"2020-03-16T14:40:53.997Z","0.11.3-next.1":"2020-03-16T15:19:36.647Z","0.11.3-next.2":"2020-03-16T17:56:05.331Z","0.12.0-next.3":"2020-03-16T18:18:42.042Z","0.0.0-pr.494.1.b806236":"2020-03-16T20:07:11.607Z","0.0.0-pr.494.2.edd380d":"2020-03-17T02:27:35.268Z","0.0.0-pr.494.3.49a90fb":"2020-03-17T02:33:22.804Z","0.12.0-next.4":"2020-03-17T02:38:07.783Z","0.12.0-next.5":"2020-03-17T12:12:14.190Z","0.12.0":"2020-03-17T14:03:30.266Z","0.0.0-pr.517.1.50fb2ea":"2020-03-20T15:43:30.512Z","0.12.1-next.1":"2020-03-24T17:52:38.731Z","0.0.0-pr.534.1.b4b5b6b":"2020-03-25T02:56:33.954Z","0.0.0-pr.534.2.4da4f26":"2020-03-25T05:03:52.091Z","0.0.0-pr.542.1.fa080bf":"2020-03-25T15:12:52.474Z","0.12.1-next.2":"2020-03-26T13:04:25.061Z","0.13.0-next.3":"2020-03-26T13:10:17.193Z","0.13.0-next.4":"2020-03-27T01:38:03.085Z","0.13.0-next.5":"2020-03-27T01:59:47.461Z","0.0.0-pr.548.1.8b64dec":"2020-03-27T10:21:27.055Z","0.0.0-pr.548.2.00f60b7":"2020-03-27T10:32:58.933Z","0.13.0-next.6":"2020-03-27T15:36:02.166Z","0.13.0-next.7":"2020-03-28T17:34:12.592Z","0.13.0-next.8":"2020-03-28T18:00:51.591Z","0.13.0-next.9":"2020-03-28T18:19:39.423Z","0.13.0-next.10":"2020-03-28T21:14:39.143Z","0.0.0-pr.534.3.1401106":"2020-03-29T01:17:55.270Z","0.0.0-pr.534.4.5a9015a":"2020-03-29T02:33:04.942Z","0.0.0-pr.534.5.6af829c":"2020-03-29T03:08:11.705Z","0.13.0-next.11":"2020-03-29T04:00:36.846Z","0.13.0-next.12":"2020-03-30T17:47:24.479Z","0.13.0-next.13":"2020-03-31T18:14:20.979Z","0.13.0-next.14":"2020-03-31T19:10:33.220Z","0.13.0-next.15":"2020-03-31T20:00:30.400Z","0.13.0-next.16":"2020-03-31T20:27:33.211Z","0.13.0-next.17":"2020-04-01T00:00:16.285Z"},"maintainers":[{"name":"jasonkuhrt","email":"jasonkuhrt@me.com"}],"description":"https://nexusjs.org","homepage":"https://github.com/graphql-nexus/nexus-future","repository":{"type":"git","url":"https://github.com/graphql-nexus/nexus-future.git"},"author":{"name":"Prisma Labs"},"bugs":{"url":"https://github.com/graphql-nexus/nexus-future/issues"},"license":"MIT","readme":"","readmeFilename":""}