diff --git a/package-lock.json b/package-lock.json index 91a8df6a..9119f5bd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5173,6 +5173,12 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true + }, + "type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "dev": true } } }, @@ -7248,12 +7254,6 @@ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", "dev": true }, - "type-fest": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", - "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", - "dev": true - }, "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", @@ -7706,9 +7706,9 @@ } }, "yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "version": "20.2.6", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.6.tgz", + "integrity": "sha512-AP1+fQIWSM/sMiET8fyayjx/J+JmTPt2Mr0FkrgqB4todtfa53sOsrSAcIrJRD5XS20bKUwaDIuMkWKCEiQLKA==", "dev": true }, "yerror": { diff --git a/packages/whook-create/src/services/__snapshots__/createWhook.test.ts.snap b/packages/whook-create/src/services/__snapshots__/createWhook.test.ts.snap index 26cd9403..56c264c9 100644 --- a/packages/whook-create/src/services/__snapshots__/createWhook.test.ts.snap +++ b/packages/whook-create/src/services/__snapshots__/createWhook.test.ts.snap @@ -66,7 +66,7 @@ Wayne Campbell ], Array [ "/home/whoiam/projects/yolo/package.json", - "{\\"name\\":\\"super-project\\",\\"description\\":\\"A new Whook project\\",\\"version\\":\\"0.0.0\\",\\"license\\":\\"SEE LICENSE\\",\\"engines\\":{\\"node\\":\\">=12.19.0\\"},\\"main\\":\\"dist/index\\",\\"module\\":\\"dist/index.mjs\\",\\"types\\":\\"dist/index.d.ts\\",\\"private\\":true,\\"keywords\\":[\\"whook\\"],\\"author\\":{\\"name\\":\\"Wayne Campbell\\",\\"email\\":\\"wayne@warner.com\\"},\\"scripts\\":{\\"apitypes\\":\\"npm run --silent whook -- generateOpenAPISchema --authenticated=true | npm run --silent whook -- generateOpenAPITypes > src/openAPISchema.d.ts\\",\\"architecture\\":\\"jsarch 'src/**/*.ts' > ARCHITECTURE.md && git add ARCHITECTURE.md\\",\\"build\\":\\"npm run compile && NODE_ENV=\${NODE_ENV:-development} node bin/build\\",\\"compile\\":\\"rimraf -f 'dist' && npm run compile:cjs && npm run compile:mjs\\",\\"compile:cjs\\":\\"babel --env-name=cjs --out-dir=dist --extensions '.ts,.js' --source-maps=true src\\",\\"compile:mjs\\":\\"babel --env-name=mjs --out-file-extension=.mjs --out-dir=dist --extensions '.ts,.js' --source-maps=true src\\",\\"cover\\":\\"npm run jest -- --coverage\\",\\"debug\\":\\"NODE_ENV=\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 DEBUG=\${DEBUG:-whook} babel-node --extensions '.ts,.js' --inspect bin/dev\\",\\"dev\\":\\"NODE_ENV=\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 babel-node --extensions '.ts,.js' bin/dev\\",\\"jest\\":\\"NODE_ENV=test jest\\",\\"lint\\":\\"eslint 'src/**/*.ts'\\",\\"prettier\\":\\"prettier --write 'src/**/*.ts'\\",\\"start\\":\\"NODE_ENV=\${NODE_ENV:-development} node bin/start\\",\\"test\\":\\"npm run jest\\",\\"types\\":\\"rimraf -f 'dist/**/*.d.ts' && tsc --project . --declaration --emitDeclarationOnly --outDir dist\\",\\"watch\\":\\"NODE_ENV=\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 babel-node --extensions '.ts,.js' bin/watch\\",\\"whook\\":\\"NODE_ENV=\${NODE_ENV:-development} whook\\",\\"whook-dev\\":\\"PROJECT_SRC=\\\\\\"$PWD/src\\\\\\" NODE_ENV=\${NODE_ENV:-development} babel-node --extensions '.ts,.js' -- node_modules/@whook/cli/bin/whook.js\\",\\"whook-repl\\":\\"PROJECT_SRC=\\\\\\"$PWD/src\\\\\\" NODE_ENV=\${NODE_ENV:-development} babel-node --extensions '.ts,.js' -- bin/repl.js\\"},\\"files\\":[\\"bin\\",\\"dist\\",\\"src\\",\\"LICENSE\\",\\"README.md\\",\\"CHANGELOG.md\\"],\\"dependencies\\":{\\"@whook/authorization\\":\\"\\",\\"@whook/cli\\":\\"\\",\\"@whook/cors\\":\\"\\",\\"@whook/http-router\\":\\"\\",\\"@whook/http-transaction\\":\\"\\",\\"@whook/swagger-ui\\":\\"\\",\\"@whook/whook\\":\\"\\",\\"common-services\\":\\"^9.0.1\\",\\"http-auth-utils\\":\\"^3.0.1\\",\\"jwt-service\\":\\"^7.1.3\\",\\"knifecycle\\":\\"^11.1.1\\",\\"strict-qs\\":\\"^6.1.4\\",\\"type-fest\\":\\"^2.3.3\\",\\"yerror\\":\\"^6.0.1\\",\\"yhttperror\\":\\"^6.0.1\\"},\\"devDependencies\\":{\\"@babel/cli\\":\\"^7.13.14\\",\\"@babel/core\\":\\"^7.13.15\\",\\"@babel/eslint-parser\\":\\"^7.13.14\\",\\"@babel/node\\":\\"^7.13.13\\",\\"@babel/plugin-proposal-class-properties\\":\\"^7.13.0\\",\\"@babel/plugin-proposal-object-rest-spread\\":\\"^7.13.8\\",\\"@babel/plugin-syntax-dynamic-import\\":\\"^7.8.3\\",\\"@babel/plugin-syntax-import-meta\\":\\"^7.10.4\\",\\"@babel/preset-env\\":\\"^7.13.15\\",\\"@babel/preset-typescript\\":\\"^7.13.0\\",\\"@babel/register\\":\\"^7.13.14\\",\\"@types/jest\\":\\"^26.0.22\\",\\"@typescript-eslint/eslint-plugin\\":\\"^4.21.0\\",\\"@typescript-eslint/parser\\":\\"^4.21.0\\",\\"axios\\":\\"^0.21.4\\",\\"babel-plugin-knifecycle\\":\\"^5.0.1\\",\\"chokidar\\":\\"^3.5.1\\",\\"eslint\\":\\"^7.23.0\\",\\"eslint-plugin-prettier\\":\\"^3.3.1\\",\\"jest\\":\\"^26.6.3\\",\\"jsarch\\":\\"^4.0.1\\",\\"openapi-schema-validator\\":\\"^8.0.0\\",\\"parse-gitignore\\":\\"^1.0.1\\",\\"prettier\\":\\"^2.2.1\\",\\"rimraf\\":\\"^3.0.2\\",\\"schema2dts\\":\\"^2.0.1\\",\\"typescript\\":\\"^4.2.4\\"},\\"eslintConfig\\":{\\"extends\\":[\\"eslint:recommended\\",\\"plugin:@typescript-eslint/eslint-recommended\\",\\"plugin:@typescript-eslint/recommended\\"],\\"parserOptions\\":{\\"ecmaVersion\\":2018,\\"sourceType\\":\\"module\\",\\"modules\\":true},\\"env\\":{\\"es6\\":true,\\"node\\":true,\\"jest\\":true,\\"mocha\\":true},\\"plugins\\":[\\"prettier\\"],\\"rules\\":{\\"prettier/prettier\\":\\"error\\"},\\"parser\\":\\"@typescript-eslint/parser\\",\\"ignorePatterns\\":[\\"*.d.ts\\"]},\\"prettier\\":{\\"semi\\":true,\\"printWidth\\":80,\\"singleQuote\\":true,\\"trailingComma\\":\\"all\\",\\"proseWrap\\":\\"always\\"},\\"babel\\":{\\"presets\\":[\\"@babel/typescript\\",[\\"@babel/env\\",{\\"targets\\":{\\"node\\":\\"12.19.0\\"}}]],\\"plugins\\":[\\"@babel/proposal-class-properties\\",\\"@babel/plugin-proposal-object-rest-spread\\",\\"babel-plugin-knifecycle\\"],\\"env\\":{\\"cjs\\":{\\"presets\\":[[\\"@babel/env\\",{\\"targets\\":{\\"node\\":\\"10\\"},\\"modules\\":\\"commonjs\\"}]]},\\"mjs\\":{\\"presets\\":[[\\"@babel/env\\",{\\"targets\\":{\\"node\\":\\"12\\"},\\"modules\\":false}]]}},\\"sourceMaps\\":true},\\"jest\\":{\\"coverageReporters\\":[\\"lcov\\",\\"html\\"],\\"testPathIgnorePatterns\\":[\\"/node_modules/\\"],\\"roots\\":[\\"/src\\"],\\"testEnvironment\\":\\"node\\"}}", + "{\\"name\\":\\"super-project\\",\\"description\\":\\"A new Whook project\\",\\"version\\":\\"0.0.0\\",\\"license\\":\\"SEE LICENSE\\",\\"engines\\":{\\"node\\":\\">=12.19.0\\"},\\"main\\":\\"dist/index\\",\\"module\\":\\"dist/index.mjs\\",\\"types\\":\\"dist/index.d.ts\\",\\"private\\":true,\\"keywords\\":[\\"whook\\"],\\"author\\":{\\"name\\":\\"Wayne Campbell\\",\\"email\\":\\"wayne@warner.com\\"},\\"scripts\\":{\\"apitypes\\":\\"npm run --silent whook -- generateOpenAPISchema --authenticated=true | npm run --silent whook -- generateOpenAPITypes > src/openAPISchema.d.ts\\",\\"architecture\\":\\"jsarch 'src/**/*.ts' > ARCHITECTURE.md && git add ARCHITECTURE.md\\",\\"build\\":\\"npm run compile && NODE_ENV=\${NODE_ENV:-development} node bin/build\\",\\"compile\\":\\"rimraf -f 'dist' && npm run compile:cjs && npm run compile:mjs\\",\\"compile:cjs\\":\\"babel --env-name=cjs --out-dir=dist --extensions '.ts,.js' --source-maps=true src\\",\\"compile:mjs\\":\\"babel --env-name=mjs --out-file-extension=.mjs --out-dir=dist --extensions '.ts,.js' --source-maps=true src\\",\\"cover\\":\\"npm run jest -- --coverage\\",\\"debug\\":\\"NODE_ENV=\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 DEBUG=\${DEBUG:-whook} babel-node --extensions '.ts,.js' --inspect bin/dev\\",\\"dev\\":\\"NODE_ENV=\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 babel-node --extensions '.ts,.js' bin/dev\\",\\"jest\\":\\"NODE_ENV=test jest\\",\\"lint\\":\\"eslint 'src/**/*.ts'\\",\\"prettier\\":\\"prettier --write 'src/**/*.ts'\\",\\"start\\":\\"NODE_ENV=\${NODE_ENV:-development} node bin/start\\",\\"test\\":\\"npm run jest\\",\\"types\\":\\"rimraf -f 'dist/**/*.d.ts' && tsc --project . --declaration --emitDeclarationOnly --outDir dist\\",\\"watch\\":\\"NODE_ENV=\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 babel-node --extensions '.ts,.js' bin/watch\\",\\"whook\\":\\"NODE_ENV=\${NODE_ENV:-development} whook\\",\\"whook-dev\\":\\"PROJECT_SRC=\\\\\\"$PWD/src\\\\\\" NODE_ENV=\${NODE_ENV:-development} babel-node --extensions '.ts,.js' -- node_modules/@whook/cli/bin/whook.js\\",\\"whook-repl\\":\\"PROJECT_SRC=\\\\\\"$PWD/src\\\\\\" NODE_ENV=\${NODE_ENV:-development} babel-node --extensions '.ts,.js' -- bin/repl.js\\"},\\"files\\":[\\"bin\\",\\"dist\\",\\"src\\",\\"LICENSE\\",\\"README.md\\",\\"CHANGELOG.md\\"],\\"dependencies\\":{\\"@whook/authorization\\":\\"\\",\\"@whook/cli\\":\\"\\",\\"@whook/cors\\":\\"\\",\\"@whook/graphql\\":\\"^8.4.2\\",\\"@whook/graphiql\\":\\"^8.4.2\\",\\"@whook/http-router\\":\\"\\",\\"@whook/http-transaction\\":\\"\\",\\"@whook/swagger-ui\\":\\"\\",\\"@whook/whook\\":\\"\\",\\"common-services\\":\\"^9.0.1\\",\\"graphql\\":\\"^15.5.0\\",\\"http-auth-utils\\":\\"^3.0.1\\",\\"jwt-service\\":\\"^7.1.3\\",\\"knifecycle\\":\\"^11.1.1\\",\\"strict-qs\\":\\"^6.1.4\\",\\"type-fest\\":\\"^2.3.3\\",\\"yerror\\":\\"^6.0.1\\",\\"yhttperror\\":\\"^6.0.1\\"},\\"devDependencies\\":{\\"@babel/cli\\":\\"^7.13.14\\",\\"@babel/core\\":\\"^7.13.15\\",\\"@babel/eslint-parser\\":\\"^7.13.14\\",\\"@babel/node\\":\\"^7.13.13\\",\\"@babel/plugin-proposal-class-properties\\":\\"^7.13.0\\",\\"@babel/plugin-proposal-object-rest-spread\\":\\"^7.13.8\\",\\"@babel/plugin-syntax-dynamic-import\\":\\"^7.8.3\\",\\"@babel/plugin-syntax-import-meta\\":\\"^7.10.4\\",\\"@babel/preset-env\\":\\"^7.13.15\\",\\"@babel/preset-typescript\\":\\"^7.13.0\\",\\"@babel/register\\":\\"^7.13.14\\",\\"@types/jest\\":\\"^26.0.22\\",\\"@typescript-eslint/eslint-plugin\\":\\"^4.21.0\\",\\"@typescript-eslint/parser\\":\\"^4.21.0\\",\\"axios\\":\\"^0.21.4\\",\\"babel-plugin-knifecycle\\":\\"^5.0.1\\",\\"chokidar\\":\\"^3.5.1\\",\\"eslint\\":\\"^7.23.0\\",\\"eslint-plugin-prettier\\":\\"^3.3.1\\",\\"jest\\":\\"^26.6.3\\",\\"jsarch\\":\\"^4.0.1\\",\\"openapi-schema-validator\\":\\"^8.0.0\\",\\"parse-gitignore\\":\\"^1.0.1\\",\\"prettier\\":\\"^2.2.1\\",\\"rimraf\\":\\"^3.0.2\\",\\"schema2dts\\":\\"^2.0.1\\",\\"typescript\\":\\"^4.2.4\\"},\\"eslintConfig\\":{\\"extends\\":[\\"eslint:recommended\\",\\"plugin:@typescript-eslint/eslint-recommended\\",\\"plugin:@typescript-eslint/recommended\\"],\\"parserOptions\\":{\\"ecmaVersion\\":2018,\\"sourceType\\":\\"module\\",\\"modules\\":true},\\"env\\":{\\"es6\\":true,\\"node\\":true,\\"jest\\":true,\\"mocha\\":true},\\"plugins\\":[\\"prettier\\"],\\"rules\\":{\\"prettier/prettier\\":\\"error\\"},\\"parser\\":\\"@typescript-eslint/parser\\",\\"ignorePatterns\\":[\\"*.d.ts\\"]},\\"prettier\\":{\\"semi\\":true,\\"printWidth\\":80,\\"singleQuote\\":true,\\"trailingComma\\":\\"all\\",\\"proseWrap\\":\\"always\\"},\\"babel\\":{\\"presets\\":[\\"@babel/typescript\\",[\\"@babel/env\\",{\\"targets\\":{\\"node\\":\\"12.19.0\\"}}]],\\"plugins\\":[\\"@babel/proposal-class-properties\\",\\"@babel/plugin-proposal-object-rest-spread\\",\\"babel-plugin-knifecycle\\"],\\"env\\":{\\"cjs\\":{\\"presets\\":[[\\"@babel/env\\",{\\"targets\\":{\\"node\\":\\"10\\"},\\"modules\\":\\"commonjs\\"}]]},\\"mjs\\":{\\"presets\\":[[\\"@babel/env\\",{\\"targets\\":{\\"node\\":\\"12\\"},\\"modules\\":false}]]}},\\"sourceMaps\\":true},\\"jest\\":{\\"coverageReporters\\":[\\"lcov\\",\\"html\\"],\\"testPathIgnorePatterns\\":[\\"/node_modules/\\"],\\"roots\\":[\\"/src\\"],\\"testEnvironment\\":\\"node\\"}}", ], Array [ "/home/whoiam/projects/yolo/LICENSE", @@ -191,7 +191,7 @@ Wayne Campbell ], Array [ "/home/whoiam/projects/yolo/package.json", - "{\\"name\\":\\"super-project\\",\\"description\\":\\"A new Whook project\\",\\"version\\":\\"0.0.0\\",\\"license\\":\\"SEE LICENSE\\",\\"engines\\":{\\"node\\":\\">=12.19.0\\"},\\"main\\":\\"dist/index\\",\\"module\\":\\"dist/index.mjs\\",\\"types\\":\\"dist/index.d.ts\\",\\"private\\":true,\\"keywords\\":[\\"whook\\"],\\"author\\":{\\"name\\":\\"Wayne Campbell\\",\\"email\\":\\"wayne@warner.com\\"},\\"scripts\\":{\\"apitypes\\":\\"npm run --silent whook -- generateOpenAPISchema --authenticated=true | npm run --silent whook -- generateOpenAPITypes > src/openAPISchema.d.ts\\",\\"architecture\\":\\"jsarch 'src/**/*.ts' > ARCHITECTURE.md && git add ARCHITECTURE.md\\",\\"build\\":\\"npm run compile && NODE_ENV=\${NODE_ENV:-development} node bin/build\\",\\"compile\\":\\"rimraf -f 'dist' && npm run compile:cjs && npm run compile:mjs\\",\\"compile:cjs\\":\\"babel --env-name=cjs --out-dir=dist --extensions '.ts,.js' --source-maps=true src\\",\\"compile:mjs\\":\\"babel --env-name=mjs --out-file-extension=.mjs --out-dir=dist --extensions '.ts,.js' --source-maps=true src\\",\\"cover\\":\\"npm run jest -- --coverage\\",\\"debug\\":\\"NODE_ENV=\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 DEBUG=\${DEBUG:-whook} babel-node --extensions '.ts,.js' --inspect bin/dev\\",\\"dev\\":\\"NODE_ENV=\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 babel-node --extensions '.ts,.js' bin/dev\\",\\"jest\\":\\"NODE_ENV=test jest\\",\\"lint\\":\\"eslint 'src/**/*.ts'\\",\\"prettier\\":\\"prettier --write 'src/**/*.ts'\\",\\"start\\":\\"NODE_ENV=\${NODE_ENV:-development} node bin/start\\",\\"test\\":\\"npm run jest\\",\\"types\\":\\"rimraf -f 'dist/**/*.d.ts' && tsc --project . --declaration --emitDeclarationOnly --outDir dist\\",\\"watch\\":\\"NODE_ENV=\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 babel-node --extensions '.ts,.js' bin/watch\\",\\"whook\\":\\"NODE_ENV=\${NODE_ENV:-development} whook\\",\\"whook-dev\\":\\"PROJECT_SRC=\\\\\\"$PWD/src\\\\\\" NODE_ENV=\${NODE_ENV:-development} babel-node --extensions '.ts,.js' -- node_modules/@whook/cli/bin/whook.js\\",\\"whook-repl\\":\\"PROJECT_SRC=\\\\\\"$PWD/src\\\\\\" NODE_ENV=\${NODE_ENV:-development} babel-node --extensions '.ts,.js' -- bin/repl.js\\"},\\"files\\":[\\"bin\\",\\"dist\\",\\"src\\",\\"LICENSE\\",\\"README.md\\",\\"CHANGELOG.md\\"],\\"dependencies\\":{\\"@whook/authorization\\":\\"\\",\\"@whook/cli\\":\\"\\",\\"@whook/cors\\":\\"\\",\\"@whook/http-router\\":\\"\\",\\"@whook/http-transaction\\":\\"\\",\\"@whook/swagger-ui\\":\\"\\",\\"@whook/whook\\":\\"\\",\\"common-services\\":\\"^9.0.1\\",\\"http-auth-utils\\":\\"^3.0.1\\",\\"jwt-service\\":\\"^7.1.3\\",\\"knifecycle\\":\\"^11.1.1\\",\\"strict-qs\\":\\"^6.1.4\\",\\"type-fest\\":\\"^2.3.3\\",\\"yerror\\":\\"^6.0.1\\",\\"yhttperror\\":\\"^6.0.1\\"},\\"devDependencies\\":{\\"@babel/cli\\":\\"^7.13.14\\",\\"@babel/core\\":\\"^7.13.15\\",\\"@babel/eslint-parser\\":\\"^7.13.14\\",\\"@babel/node\\":\\"^7.13.13\\",\\"@babel/plugin-proposal-class-properties\\":\\"^7.13.0\\",\\"@babel/plugin-proposal-object-rest-spread\\":\\"^7.13.8\\",\\"@babel/plugin-syntax-dynamic-import\\":\\"^7.8.3\\",\\"@babel/plugin-syntax-import-meta\\":\\"^7.10.4\\",\\"@babel/preset-env\\":\\"^7.13.15\\",\\"@babel/preset-typescript\\":\\"^7.13.0\\",\\"@babel/register\\":\\"^7.13.14\\",\\"@types/jest\\":\\"^26.0.22\\",\\"@typescript-eslint/eslint-plugin\\":\\"^4.21.0\\",\\"@typescript-eslint/parser\\":\\"^4.21.0\\",\\"axios\\":\\"^0.21.4\\",\\"babel-plugin-knifecycle\\":\\"^5.0.1\\",\\"chokidar\\":\\"^3.5.1\\",\\"eslint\\":\\"^7.23.0\\",\\"eslint-plugin-prettier\\":\\"^3.3.1\\",\\"jest\\":\\"^26.6.3\\",\\"jsarch\\":\\"^4.0.1\\",\\"openapi-schema-validator\\":\\"^8.0.0\\",\\"parse-gitignore\\":\\"^1.0.1\\",\\"prettier\\":\\"^2.2.1\\",\\"rimraf\\":\\"^3.0.2\\",\\"schema2dts\\":\\"^2.0.1\\",\\"typescript\\":\\"^4.2.4\\"},\\"eslintConfig\\":{\\"extends\\":[\\"eslint:recommended\\",\\"plugin:@typescript-eslint/eslint-recommended\\",\\"plugin:@typescript-eslint/recommended\\"],\\"parserOptions\\":{\\"ecmaVersion\\":2018,\\"sourceType\\":\\"module\\",\\"modules\\":true},\\"env\\":{\\"es6\\":true,\\"node\\":true,\\"jest\\":true,\\"mocha\\":true},\\"plugins\\":[\\"prettier\\"],\\"rules\\":{\\"prettier/prettier\\":\\"error\\"},\\"parser\\":\\"@typescript-eslint/parser\\",\\"ignorePatterns\\":[\\"*.d.ts\\"]},\\"prettier\\":{\\"semi\\":true,\\"printWidth\\":80,\\"singleQuote\\":true,\\"trailingComma\\":\\"all\\",\\"proseWrap\\":\\"always\\"},\\"babel\\":{\\"presets\\":[\\"@babel/typescript\\",[\\"@babel/env\\",{\\"targets\\":{\\"node\\":\\"12.19.0\\"}}]],\\"plugins\\":[\\"@babel/proposal-class-properties\\",\\"@babel/plugin-proposal-object-rest-spread\\",\\"babel-plugin-knifecycle\\"],\\"env\\":{\\"cjs\\":{\\"presets\\":[[\\"@babel/env\\",{\\"targets\\":{\\"node\\":\\"10\\"},\\"modules\\":\\"commonjs\\"}]]},\\"mjs\\":{\\"presets\\":[[\\"@babel/env\\",{\\"targets\\":{\\"node\\":\\"12\\"},\\"modules\\":false}]]}},\\"sourceMaps\\":true},\\"jest\\":{\\"coverageReporters\\":[\\"lcov\\",\\"html\\"],\\"testPathIgnorePatterns\\":[\\"/node_modules/\\"],\\"roots\\":[\\"/src\\"],\\"testEnvironment\\":\\"node\\"}}", + "{\\"name\\":\\"super-project\\",\\"description\\":\\"A new Whook project\\",\\"version\\":\\"0.0.0\\",\\"license\\":\\"SEE LICENSE\\",\\"engines\\":{\\"node\\":\\">=12.19.0\\"},\\"main\\":\\"dist/index\\",\\"module\\":\\"dist/index.mjs\\",\\"types\\":\\"dist/index.d.ts\\",\\"private\\":true,\\"keywords\\":[\\"whook\\"],\\"author\\":{\\"name\\":\\"Wayne Campbell\\",\\"email\\":\\"wayne@warner.com\\"},\\"scripts\\":{\\"apitypes\\":\\"npm run --silent whook -- generateOpenAPISchema --authenticated=true | npm run --silent whook -- generateOpenAPITypes > src/openAPISchema.d.ts\\",\\"architecture\\":\\"jsarch 'src/**/*.ts' > ARCHITECTURE.md && git add ARCHITECTURE.md\\",\\"build\\":\\"npm run compile && NODE_ENV=\${NODE_ENV:-development} node bin/build\\",\\"compile\\":\\"rimraf -f 'dist' && npm run compile:cjs && npm run compile:mjs\\",\\"compile:cjs\\":\\"babel --env-name=cjs --out-dir=dist --extensions '.ts,.js' --source-maps=true src\\",\\"compile:mjs\\":\\"babel --env-name=mjs --out-file-extension=.mjs --out-dir=dist --extensions '.ts,.js' --source-maps=true src\\",\\"cover\\":\\"npm run jest -- --coverage\\",\\"debug\\":\\"NODE_ENV=\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 DEBUG=\${DEBUG:-whook} babel-node --extensions '.ts,.js' --inspect bin/dev\\",\\"dev\\":\\"NODE_ENV=\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 babel-node --extensions '.ts,.js' bin/dev\\",\\"jest\\":\\"NODE_ENV=test jest\\",\\"lint\\":\\"eslint 'src/**/*.ts'\\",\\"prettier\\":\\"prettier --write 'src/**/*.ts'\\",\\"start\\":\\"NODE_ENV=\${NODE_ENV:-development} node bin/start\\",\\"test\\":\\"npm run jest\\",\\"types\\":\\"rimraf -f 'dist/**/*.d.ts' && tsc --project . --declaration --emitDeclarationOnly --outDir dist\\",\\"watch\\":\\"NODE_ENV=\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 babel-node --extensions '.ts,.js' bin/watch\\",\\"whook\\":\\"NODE_ENV=\${NODE_ENV:-development} whook\\",\\"whook-dev\\":\\"PROJECT_SRC=\\\\\\"$PWD/src\\\\\\" NODE_ENV=\${NODE_ENV:-development} babel-node --extensions '.ts,.js' -- node_modules/@whook/cli/bin/whook.js\\",\\"whook-repl\\":\\"PROJECT_SRC=\\\\\\"$PWD/src\\\\\\" NODE_ENV=\${NODE_ENV:-development} babel-node --extensions '.ts,.js' -- bin/repl.js\\"},\\"files\\":[\\"bin\\",\\"dist\\",\\"src\\",\\"LICENSE\\",\\"README.md\\",\\"CHANGELOG.md\\"],\\"dependencies\\":{\\"@whook/authorization\\":\\"\\",\\"@whook/cli\\":\\"\\",\\"@whook/cors\\":\\"\\",\\"@whook/graphql\\":\\"^8.4.2\\",\\"@whook/graphiql\\":\\"^8.4.2\\",\\"@whook/http-router\\":\\"\\",\\"@whook/http-transaction\\":\\"\\",\\"@whook/swagger-ui\\":\\"\\",\\"@whook/whook\\":\\"\\",\\"common-services\\":\\"^9.0.1\\",\\"graphql\\":\\"^15.5.0\\",\\"http-auth-utils\\":\\"^3.0.1\\",\\"jwt-service\\":\\"^7.1.3\\",\\"knifecycle\\":\\"^11.1.1\\",\\"strict-qs\\":\\"^6.1.4\\",\\"type-fest\\":\\"^2.3.3\\",\\"yerror\\":\\"^6.0.1\\",\\"yhttperror\\":\\"^6.0.1\\"},\\"devDependencies\\":{\\"@babel/cli\\":\\"^7.13.14\\",\\"@babel/core\\":\\"^7.13.15\\",\\"@babel/eslint-parser\\":\\"^7.13.14\\",\\"@babel/node\\":\\"^7.13.13\\",\\"@babel/plugin-proposal-class-properties\\":\\"^7.13.0\\",\\"@babel/plugin-proposal-object-rest-spread\\":\\"^7.13.8\\",\\"@babel/plugin-syntax-dynamic-import\\":\\"^7.8.3\\",\\"@babel/plugin-syntax-import-meta\\":\\"^7.10.4\\",\\"@babel/preset-env\\":\\"^7.13.15\\",\\"@babel/preset-typescript\\":\\"^7.13.0\\",\\"@babel/register\\":\\"^7.13.14\\",\\"@types/jest\\":\\"^26.0.22\\",\\"@typescript-eslint/eslint-plugin\\":\\"^4.21.0\\",\\"@typescript-eslint/parser\\":\\"^4.21.0\\",\\"axios\\":\\"^0.21.4\\",\\"babel-plugin-knifecycle\\":\\"^5.0.1\\",\\"chokidar\\":\\"^3.5.1\\",\\"eslint\\":\\"^7.23.0\\",\\"eslint-plugin-prettier\\":\\"^3.3.1\\",\\"jest\\":\\"^26.6.3\\",\\"jsarch\\":\\"^4.0.1\\",\\"openapi-schema-validator\\":\\"^8.0.0\\",\\"parse-gitignore\\":\\"^1.0.1\\",\\"prettier\\":\\"^2.2.1\\",\\"rimraf\\":\\"^3.0.2\\",\\"schema2dts\\":\\"^2.0.1\\",\\"typescript\\":\\"^4.2.4\\"},\\"eslintConfig\\":{\\"extends\\":[\\"eslint:recommended\\",\\"plugin:@typescript-eslint/eslint-recommended\\",\\"plugin:@typescript-eslint/recommended\\"],\\"parserOptions\\":{\\"ecmaVersion\\":2018,\\"sourceType\\":\\"module\\",\\"modules\\":true},\\"env\\":{\\"es6\\":true,\\"node\\":true,\\"jest\\":true,\\"mocha\\":true},\\"plugins\\":[\\"prettier\\"],\\"rules\\":{\\"prettier/prettier\\":\\"error\\"},\\"parser\\":\\"@typescript-eslint/parser\\",\\"ignorePatterns\\":[\\"*.d.ts\\"]},\\"prettier\\":{\\"semi\\":true,\\"printWidth\\":80,\\"singleQuote\\":true,\\"trailingComma\\":\\"all\\",\\"proseWrap\\":\\"always\\"},\\"babel\\":{\\"presets\\":[\\"@babel/typescript\\",[\\"@babel/env\\",{\\"targets\\":{\\"node\\":\\"12.19.0\\"}}]],\\"plugins\\":[\\"@babel/proposal-class-properties\\",\\"@babel/plugin-proposal-object-rest-spread\\",\\"babel-plugin-knifecycle\\"],\\"env\\":{\\"cjs\\":{\\"presets\\":[[\\"@babel/env\\",{\\"targets\\":{\\"node\\":\\"10\\"},\\"modules\\":\\"commonjs\\"}]]},\\"mjs\\":{\\"presets\\":[[\\"@babel/env\\",{\\"targets\\":{\\"node\\":\\"12\\"},\\"modules\\":false}]]}},\\"sourceMaps\\":true},\\"jest\\":{\\"coverageReporters\\":[\\"lcov\\",\\"html\\"],\\"testPathIgnorePatterns\\":[\\"/node_modules/\\"],\\"roots\\":[\\"/src\\"],\\"testEnvironment\\":\\"node\\"}}", ], Array [ "/home/whoiam/projects/yolo/LICENSE", @@ -348,7 +348,7 @@ Wayne Campbell ], Array [ "/home/whoiam/projects/yolo/package.json", - "{\\"name\\":\\"super-project\\",\\"description\\":\\"A new Whook project\\",\\"version\\":\\"0.0.0\\",\\"license\\":\\"SEE LICENSE\\",\\"engines\\":{\\"node\\":\\">=12.19.0\\"},\\"main\\":\\"dist/index\\",\\"module\\":\\"dist/index.mjs\\",\\"types\\":\\"dist/index.d.ts\\",\\"private\\":true,\\"keywords\\":[\\"whook\\"],\\"author\\":{\\"name\\":\\"Wayne Campbell\\",\\"email\\":\\"wayne@warner.com\\"},\\"scripts\\":{\\"apitypes\\":\\"npm run --silent whook -- generateOpenAPISchema --authenticated=true | npm run --silent whook -- generateOpenAPITypes > src/openAPISchema.d.ts\\",\\"architecture\\":\\"jsarch 'src/**/*.ts' > ARCHITECTURE.md && git add ARCHITECTURE.md\\",\\"build\\":\\"npm run compile && NODE_ENV=\${NODE_ENV:-development} node bin/build\\",\\"compile\\":\\"rimraf -f 'dist' && npm run compile:cjs && npm run compile:mjs\\",\\"compile:cjs\\":\\"babel --env-name=cjs --out-dir=dist --extensions '.ts,.js' --source-maps=true src\\",\\"compile:mjs\\":\\"babel --env-name=mjs --out-file-extension=.mjs --out-dir=dist --extensions '.ts,.js' --source-maps=true src\\",\\"cover\\":\\"npm run jest -- --coverage\\",\\"debug\\":\\"NODE_ENV=\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 DEBUG=\${DEBUG:-whook} babel-node --extensions '.ts,.js' --inspect bin/dev\\",\\"dev\\":\\"NODE_ENV=\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 babel-node --extensions '.ts,.js' bin/dev\\",\\"jest\\":\\"NODE_ENV=test jest\\",\\"lint\\":\\"eslint 'src/**/*.ts'\\",\\"prettier\\":\\"prettier --write 'src/**/*.ts'\\",\\"start\\":\\"NODE_ENV=\${NODE_ENV:-development} node bin/start\\",\\"test\\":\\"npm run jest\\",\\"types\\":\\"rimraf -f 'dist/**/*.d.ts' && tsc --project . --declaration --emitDeclarationOnly --outDir dist\\",\\"watch\\":\\"NODE_ENV=\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 babel-node --extensions '.ts,.js' bin/watch\\",\\"whook\\":\\"NODE_ENV=\${NODE_ENV:-development} whook\\",\\"whook-dev\\":\\"PROJECT_SRC=\\\\\\"$PWD/src\\\\\\" NODE_ENV=\${NODE_ENV:-development} babel-node --extensions '.ts,.js' -- node_modules/@whook/cli/bin/whook.js\\",\\"whook-repl\\":\\"PROJECT_SRC=\\\\\\"$PWD/src\\\\\\" NODE_ENV=\${NODE_ENV:-development} babel-node --extensions '.ts,.js' -- bin/repl.js\\"},\\"files\\":[\\"bin\\",\\"dist\\",\\"src\\",\\"LICENSE\\",\\"README.md\\",\\"CHANGELOG.md\\"],\\"dependencies\\":{\\"@whook/authorization\\":\\"\\",\\"@whook/cli\\":\\"\\",\\"@whook/cors\\":\\"\\",\\"@whook/http-router\\":\\"\\",\\"@whook/http-transaction\\":\\"\\",\\"@whook/swagger-ui\\":\\"\\",\\"@whook/whook\\":\\"\\",\\"common-services\\":\\"^9.0.1\\",\\"http-auth-utils\\":\\"^3.0.1\\",\\"jwt-service\\":\\"^7.1.3\\",\\"knifecycle\\":\\"^11.1.1\\",\\"strict-qs\\":\\"^6.1.4\\",\\"type-fest\\":\\"^2.3.3\\",\\"yerror\\":\\"^6.0.1\\",\\"yhttperror\\":\\"^6.0.1\\"},\\"devDependencies\\":{\\"@babel/cli\\":\\"^7.13.14\\",\\"@babel/core\\":\\"^7.13.15\\",\\"@babel/eslint-parser\\":\\"^7.13.14\\",\\"@babel/node\\":\\"^7.13.13\\",\\"@babel/plugin-proposal-class-properties\\":\\"^7.13.0\\",\\"@babel/plugin-proposal-object-rest-spread\\":\\"^7.13.8\\",\\"@babel/plugin-syntax-dynamic-import\\":\\"^7.8.3\\",\\"@babel/plugin-syntax-import-meta\\":\\"^7.10.4\\",\\"@babel/preset-env\\":\\"^7.13.15\\",\\"@babel/preset-typescript\\":\\"^7.13.0\\",\\"@babel/register\\":\\"^7.13.14\\",\\"@types/jest\\":\\"^26.0.22\\",\\"@typescript-eslint/eslint-plugin\\":\\"^4.21.0\\",\\"@typescript-eslint/parser\\":\\"^4.21.0\\",\\"axios\\":\\"^0.21.4\\",\\"babel-plugin-knifecycle\\":\\"^5.0.1\\",\\"chokidar\\":\\"^3.5.1\\",\\"eslint\\":\\"^7.23.0\\",\\"eslint-plugin-prettier\\":\\"^3.3.1\\",\\"jest\\":\\"^26.6.3\\",\\"jsarch\\":\\"^4.0.1\\",\\"openapi-schema-validator\\":\\"^8.0.0\\",\\"parse-gitignore\\":\\"^1.0.1\\",\\"prettier\\":\\"^2.2.1\\",\\"rimraf\\":\\"^3.0.2\\",\\"schema2dts\\":\\"^2.0.1\\",\\"typescript\\":\\"^4.2.4\\"},\\"eslintConfig\\":{\\"extends\\":[\\"eslint:recommended\\",\\"plugin:@typescript-eslint/eslint-recommended\\",\\"plugin:@typescript-eslint/recommended\\"],\\"parserOptions\\":{\\"ecmaVersion\\":2018,\\"sourceType\\":\\"module\\",\\"modules\\":true},\\"env\\":{\\"es6\\":true,\\"node\\":true,\\"jest\\":true,\\"mocha\\":true},\\"plugins\\":[\\"prettier\\"],\\"rules\\":{\\"prettier/prettier\\":\\"error\\"},\\"parser\\":\\"@typescript-eslint/parser\\",\\"ignorePatterns\\":[\\"*.d.ts\\"]},\\"prettier\\":{\\"semi\\":true,\\"printWidth\\":80,\\"singleQuote\\":true,\\"trailingComma\\":\\"all\\",\\"proseWrap\\":\\"always\\"},\\"babel\\":{\\"presets\\":[\\"@babel/typescript\\",[\\"@babel/env\\",{\\"targets\\":{\\"node\\":\\"12.19.0\\"}}]],\\"plugins\\":[\\"@babel/proposal-class-properties\\",\\"@babel/plugin-proposal-object-rest-spread\\",\\"babel-plugin-knifecycle\\"],\\"env\\":{\\"cjs\\":{\\"presets\\":[[\\"@babel/env\\",{\\"targets\\":{\\"node\\":\\"10\\"},\\"modules\\":\\"commonjs\\"}]]},\\"mjs\\":{\\"presets\\":[[\\"@babel/env\\",{\\"targets\\":{\\"node\\":\\"12\\"},\\"modules\\":false}]]}},\\"sourceMaps\\":true},\\"jest\\":{\\"coverageReporters\\":[\\"lcov\\",\\"html\\"],\\"testPathIgnorePatterns\\":[\\"/node_modules/\\"],\\"roots\\":[\\"/src\\"],\\"testEnvironment\\":\\"node\\"}}", + "{\\"name\\":\\"super-project\\",\\"description\\":\\"A new Whook project\\",\\"version\\":\\"0.0.0\\",\\"license\\":\\"SEE LICENSE\\",\\"engines\\":{\\"node\\":\\">=12.19.0\\"},\\"main\\":\\"dist/index\\",\\"module\\":\\"dist/index.mjs\\",\\"types\\":\\"dist/index.d.ts\\",\\"private\\":true,\\"keywords\\":[\\"whook\\"],\\"author\\":{\\"name\\":\\"Wayne Campbell\\",\\"email\\":\\"wayne@warner.com\\"},\\"scripts\\":{\\"apitypes\\":\\"npm run --silent whook -- generateOpenAPISchema --authenticated=true | npm run --silent whook -- generateOpenAPITypes > src/openAPISchema.d.ts\\",\\"architecture\\":\\"jsarch 'src/**/*.ts' > ARCHITECTURE.md && git add ARCHITECTURE.md\\",\\"build\\":\\"npm run compile && NODE_ENV=\${NODE_ENV:-development} node bin/build\\",\\"compile\\":\\"rimraf -f 'dist' && npm run compile:cjs && npm run compile:mjs\\",\\"compile:cjs\\":\\"babel --env-name=cjs --out-dir=dist --extensions '.ts,.js' --source-maps=true src\\",\\"compile:mjs\\":\\"babel --env-name=mjs --out-file-extension=.mjs --out-dir=dist --extensions '.ts,.js' --source-maps=true src\\",\\"cover\\":\\"npm run jest -- --coverage\\",\\"debug\\":\\"NODE_ENV=\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 DEBUG=\${DEBUG:-whook} babel-node --extensions '.ts,.js' --inspect bin/dev\\",\\"dev\\":\\"NODE_ENV=\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 babel-node --extensions '.ts,.js' bin/dev\\",\\"jest\\":\\"NODE_ENV=test jest\\",\\"lint\\":\\"eslint 'src/**/*.ts'\\",\\"prettier\\":\\"prettier --write 'src/**/*.ts'\\",\\"start\\":\\"NODE_ENV=\${NODE_ENV:-development} node bin/start\\",\\"test\\":\\"npm run jest\\",\\"types\\":\\"rimraf -f 'dist/**/*.d.ts' && tsc --project . --declaration --emitDeclarationOnly --outDir dist\\",\\"watch\\":\\"NODE_ENV=\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 babel-node --extensions '.ts,.js' bin/watch\\",\\"whook\\":\\"NODE_ENV=\${NODE_ENV:-development} whook\\",\\"whook-dev\\":\\"PROJECT_SRC=\\\\\\"$PWD/src\\\\\\" NODE_ENV=\${NODE_ENV:-development} babel-node --extensions '.ts,.js' -- node_modules/@whook/cli/bin/whook.js\\",\\"whook-repl\\":\\"PROJECT_SRC=\\\\\\"$PWD/src\\\\\\" NODE_ENV=\${NODE_ENV:-development} babel-node --extensions '.ts,.js' -- bin/repl.js\\"},\\"files\\":[\\"bin\\",\\"dist\\",\\"src\\",\\"LICENSE\\",\\"README.md\\",\\"CHANGELOG.md\\"],\\"dependencies\\":{\\"@whook/authorization\\":\\"\\",\\"@whook/cli\\":\\"\\",\\"@whook/cors\\":\\"\\",\\"@whook/graphql\\":\\"^8.4.2\\",\\"@whook/graphiql\\":\\"^8.4.2\\",\\"@whook/http-router\\":\\"\\",\\"@whook/http-transaction\\":\\"\\",\\"@whook/swagger-ui\\":\\"\\",\\"@whook/whook\\":\\"\\",\\"common-services\\":\\"^9.0.1\\",\\"graphql\\":\\"^15.5.0\\",\\"http-auth-utils\\":\\"^3.0.1\\",\\"jwt-service\\":\\"^7.1.3\\",\\"knifecycle\\":\\"^11.1.1\\",\\"strict-qs\\":\\"^6.1.4\\",\\"type-fest\\":\\"^2.3.3\\",\\"yerror\\":\\"^6.0.1\\",\\"yhttperror\\":\\"^6.0.1\\"},\\"devDependencies\\":{\\"@babel/cli\\":\\"^7.13.14\\",\\"@babel/core\\":\\"^7.13.15\\",\\"@babel/eslint-parser\\":\\"^7.13.14\\",\\"@babel/node\\":\\"^7.13.13\\",\\"@babel/plugin-proposal-class-properties\\":\\"^7.13.0\\",\\"@babel/plugin-proposal-object-rest-spread\\":\\"^7.13.8\\",\\"@babel/plugin-syntax-dynamic-import\\":\\"^7.8.3\\",\\"@babel/plugin-syntax-import-meta\\":\\"^7.10.4\\",\\"@babel/preset-env\\":\\"^7.13.15\\",\\"@babel/preset-typescript\\":\\"^7.13.0\\",\\"@babel/register\\":\\"^7.13.14\\",\\"@types/jest\\":\\"^26.0.22\\",\\"@typescript-eslint/eslint-plugin\\":\\"^4.21.0\\",\\"@typescript-eslint/parser\\":\\"^4.21.0\\",\\"axios\\":\\"^0.21.4\\",\\"babel-plugin-knifecycle\\":\\"^5.0.1\\",\\"chokidar\\":\\"^3.5.1\\",\\"eslint\\":\\"^7.23.0\\",\\"eslint-plugin-prettier\\":\\"^3.3.1\\",\\"jest\\":\\"^26.6.3\\",\\"jsarch\\":\\"^4.0.1\\",\\"openapi-schema-validator\\":\\"^8.0.0\\",\\"parse-gitignore\\":\\"^1.0.1\\",\\"prettier\\":\\"^2.2.1\\",\\"rimraf\\":\\"^3.0.2\\",\\"schema2dts\\":\\"^2.0.1\\",\\"typescript\\":\\"^4.2.4\\"},\\"eslintConfig\\":{\\"extends\\":[\\"eslint:recommended\\",\\"plugin:@typescript-eslint/eslint-recommended\\",\\"plugin:@typescript-eslint/recommended\\"],\\"parserOptions\\":{\\"ecmaVersion\\":2018,\\"sourceType\\":\\"module\\",\\"modules\\":true},\\"env\\":{\\"es6\\":true,\\"node\\":true,\\"jest\\":true,\\"mocha\\":true},\\"plugins\\":[\\"prettier\\"],\\"rules\\":{\\"prettier/prettier\\":\\"error\\"},\\"parser\\":\\"@typescript-eslint/parser\\",\\"ignorePatterns\\":[\\"*.d.ts\\"]},\\"prettier\\":{\\"semi\\":true,\\"printWidth\\":80,\\"singleQuote\\":true,\\"trailingComma\\":\\"all\\",\\"proseWrap\\":\\"always\\"},\\"babel\\":{\\"presets\\":[\\"@babel/typescript\\",[\\"@babel/env\\",{\\"targets\\":{\\"node\\":\\"12.19.0\\"}}]],\\"plugins\\":[\\"@babel/proposal-class-properties\\",\\"@babel/plugin-proposal-object-rest-spread\\",\\"babel-plugin-knifecycle\\"],\\"env\\":{\\"cjs\\":{\\"presets\\":[[\\"@babel/env\\",{\\"targets\\":{\\"node\\":\\"10\\"},\\"modules\\":\\"commonjs\\"}]]},\\"mjs\\":{\\"presets\\":[[\\"@babel/env\\",{\\"targets\\":{\\"node\\":\\"12\\"},\\"modules\\":false}]]}},\\"sourceMaps\\":true},\\"jest\\":{\\"coverageReporters\\":[\\"lcov\\",\\"html\\"],\\"testPathIgnorePatterns\\":[\\"/node_modules/\\"],\\"roots\\":[\\"/src\\"],\\"testEnvironment\\":\\"node\\"}}", ], Array [ "/home/whoiam/projects/yolo/LICENSE", @@ -493,7 +493,7 @@ Wayne Campbell ], Array [ "/home/whoiam/projects/yolo/package.json", - "{\\"name\\":\\"super-project\\",\\"description\\":\\"A new Whook project\\",\\"version\\":\\"0.0.0\\",\\"license\\":\\"SEE LICENSE\\",\\"engines\\":{\\"node\\":\\">=12.19.0\\"},\\"main\\":\\"dist/index\\",\\"module\\":\\"dist/index.mjs\\",\\"types\\":\\"dist/index.d.ts\\",\\"private\\":true,\\"keywords\\":[\\"whook\\"],\\"author\\":{\\"name\\":\\"Wayne Campbell\\",\\"email\\":\\"wayne@warner.com\\"},\\"scripts\\":{\\"apitypes\\":\\"npm run --silent whook -- generateOpenAPISchema --authenticated=true | npm run --silent whook -- generateOpenAPITypes > src/openAPISchema.d.ts\\",\\"architecture\\":\\"jsarch 'src/**/*.ts' > ARCHITECTURE.md && git add ARCHITECTURE.md\\",\\"build\\":\\"npm run compile && NODE_ENV=\${NODE_ENV:-development} node bin/build\\",\\"compile\\":\\"rimraf -f 'dist' && npm run compile:cjs && npm run compile:mjs\\",\\"compile:cjs\\":\\"babel --env-name=cjs --out-dir=dist --extensions '.ts,.js' --source-maps=true src\\",\\"compile:mjs\\":\\"babel --env-name=mjs --out-file-extension=.mjs --out-dir=dist --extensions '.ts,.js' --source-maps=true src\\",\\"cover\\":\\"npm run jest -- --coverage\\",\\"debug\\":\\"NODE_ENV=\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 DEBUG=\${DEBUG:-whook} babel-node --extensions '.ts,.js' --inspect bin/dev\\",\\"dev\\":\\"NODE_ENV=\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 babel-node --extensions '.ts,.js' bin/dev\\",\\"jest\\":\\"NODE_ENV=test jest\\",\\"lint\\":\\"eslint 'src/**/*.ts'\\",\\"prettier\\":\\"prettier --write 'src/**/*.ts'\\",\\"start\\":\\"NODE_ENV=\${NODE_ENV:-development} node bin/start\\",\\"test\\":\\"npm run jest\\",\\"types\\":\\"rimraf -f 'dist/**/*.d.ts' && tsc --project . --declaration --emitDeclarationOnly --outDir dist\\",\\"watch\\":\\"NODE_ENV=\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 babel-node --extensions '.ts,.js' bin/watch\\",\\"whook\\":\\"NODE_ENV=\${NODE_ENV:-development} whook\\",\\"whook-dev\\":\\"PROJECT_SRC=\\\\\\"$PWD/src\\\\\\" NODE_ENV=\${NODE_ENV:-development} babel-node --extensions '.ts,.js' -- node_modules/@whook/cli/bin/whook.js\\",\\"whook-repl\\":\\"PROJECT_SRC=\\\\\\"$PWD/src\\\\\\" NODE_ENV=\${NODE_ENV:-development} babel-node --extensions '.ts,.js' -- bin/repl.js\\"},\\"files\\":[\\"bin\\",\\"dist\\",\\"src\\",\\"LICENSE\\",\\"README.md\\",\\"CHANGELOG.md\\"],\\"dependencies\\":{\\"@whook/authorization\\":\\"\\",\\"@whook/cli\\":\\"\\",\\"@whook/cors\\":\\"\\",\\"@whook/http-router\\":\\"\\",\\"@whook/http-transaction\\":\\"\\",\\"@whook/swagger-ui\\":\\"\\",\\"@whook/whook\\":\\"\\",\\"common-services\\":\\"^9.0.1\\",\\"http-auth-utils\\":\\"^3.0.1\\",\\"jwt-service\\":\\"^7.1.3\\",\\"knifecycle\\":\\"^11.1.1\\",\\"strict-qs\\":\\"^6.1.4\\",\\"type-fest\\":\\"^2.3.3\\",\\"yerror\\":\\"^6.0.1\\",\\"yhttperror\\":\\"^6.0.1\\"},\\"devDependencies\\":{\\"@babel/cli\\":\\"^7.13.14\\",\\"@babel/core\\":\\"^7.13.15\\",\\"@babel/eslint-parser\\":\\"^7.13.14\\",\\"@babel/node\\":\\"^7.13.13\\",\\"@babel/plugin-proposal-class-properties\\":\\"^7.13.0\\",\\"@babel/plugin-proposal-object-rest-spread\\":\\"^7.13.8\\",\\"@babel/plugin-syntax-dynamic-import\\":\\"^7.8.3\\",\\"@babel/plugin-syntax-import-meta\\":\\"^7.10.4\\",\\"@babel/preset-env\\":\\"^7.13.15\\",\\"@babel/preset-typescript\\":\\"^7.13.0\\",\\"@babel/register\\":\\"^7.13.14\\",\\"@types/jest\\":\\"^26.0.22\\",\\"@typescript-eslint/eslint-plugin\\":\\"^4.21.0\\",\\"@typescript-eslint/parser\\":\\"^4.21.0\\",\\"axios\\":\\"^0.21.4\\",\\"babel-plugin-knifecycle\\":\\"^5.0.1\\",\\"chokidar\\":\\"^3.5.1\\",\\"eslint\\":\\"^7.23.0\\",\\"eslint-plugin-prettier\\":\\"^3.3.1\\",\\"jest\\":\\"^26.6.3\\",\\"jsarch\\":\\"^4.0.1\\",\\"openapi-schema-validator\\":\\"^8.0.0\\",\\"parse-gitignore\\":\\"^1.0.1\\",\\"prettier\\":\\"^2.2.1\\",\\"rimraf\\":\\"^3.0.2\\",\\"schema2dts\\":\\"^2.0.1\\",\\"typescript\\":\\"^4.2.4\\"},\\"eslintConfig\\":{\\"extends\\":[\\"eslint:recommended\\",\\"plugin:@typescript-eslint/eslint-recommended\\",\\"plugin:@typescript-eslint/recommended\\"],\\"parserOptions\\":{\\"ecmaVersion\\":2018,\\"sourceType\\":\\"module\\",\\"modules\\":true},\\"env\\":{\\"es6\\":true,\\"node\\":true,\\"jest\\":true,\\"mocha\\":true},\\"plugins\\":[\\"prettier\\"],\\"rules\\":{\\"prettier/prettier\\":\\"error\\"},\\"parser\\":\\"@typescript-eslint/parser\\",\\"ignorePatterns\\":[\\"*.d.ts\\"]},\\"prettier\\":{\\"semi\\":true,\\"printWidth\\":80,\\"singleQuote\\":true,\\"trailingComma\\":\\"all\\",\\"proseWrap\\":\\"always\\"},\\"babel\\":{\\"presets\\":[\\"@babel/typescript\\",[\\"@babel/env\\",{\\"targets\\":{\\"node\\":\\"12.19.0\\"}}]],\\"plugins\\":[\\"@babel/proposal-class-properties\\",\\"@babel/plugin-proposal-object-rest-spread\\",\\"babel-plugin-knifecycle\\"],\\"env\\":{\\"cjs\\":{\\"presets\\":[[\\"@babel/env\\",{\\"targets\\":{\\"node\\":\\"10\\"},\\"modules\\":\\"commonjs\\"}]]},\\"mjs\\":{\\"presets\\":[[\\"@babel/env\\",{\\"targets\\":{\\"node\\":\\"12\\"},\\"modules\\":false}]]}},\\"sourceMaps\\":true},\\"jest\\":{\\"coverageReporters\\":[\\"lcov\\",\\"html\\"],\\"testPathIgnorePatterns\\":[\\"/node_modules/\\"],\\"roots\\":[\\"/src\\"],\\"testEnvironment\\":\\"node\\"}}", + "{\\"name\\":\\"super-project\\",\\"description\\":\\"A new Whook project\\",\\"version\\":\\"0.0.0\\",\\"license\\":\\"SEE LICENSE\\",\\"engines\\":{\\"node\\":\\">=12.19.0\\"},\\"main\\":\\"dist/index\\",\\"module\\":\\"dist/index.mjs\\",\\"types\\":\\"dist/index.d.ts\\",\\"private\\":true,\\"keywords\\":[\\"whook\\"],\\"author\\":{\\"name\\":\\"Wayne Campbell\\",\\"email\\":\\"wayne@warner.com\\"},\\"scripts\\":{\\"apitypes\\":\\"npm run --silent whook -- generateOpenAPISchema --authenticated=true | npm run --silent whook -- generateOpenAPITypes > src/openAPISchema.d.ts\\",\\"architecture\\":\\"jsarch 'src/**/*.ts' > ARCHITECTURE.md && git add ARCHITECTURE.md\\",\\"build\\":\\"npm run compile && NODE_ENV=\${NODE_ENV:-development} node bin/build\\",\\"compile\\":\\"rimraf -f 'dist' && npm run compile:cjs && npm run compile:mjs\\",\\"compile:cjs\\":\\"babel --env-name=cjs --out-dir=dist --extensions '.ts,.js' --source-maps=true src\\",\\"compile:mjs\\":\\"babel --env-name=mjs --out-file-extension=.mjs --out-dir=dist --extensions '.ts,.js' --source-maps=true src\\",\\"cover\\":\\"npm run jest -- --coverage\\",\\"debug\\":\\"NODE_ENV=\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 DEBUG=\${DEBUG:-whook} babel-node --extensions '.ts,.js' --inspect bin/dev\\",\\"dev\\":\\"NODE_ENV=\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 babel-node --extensions '.ts,.js' bin/dev\\",\\"jest\\":\\"NODE_ENV=test jest\\",\\"lint\\":\\"eslint 'src/**/*.ts'\\",\\"prettier\\":\\"prettier --write 'src/**/*.ts'\\",\\"start\\":\\"NODE_ENV=\${NODE_ENV:-development} node bin/start\\",\\"test\\":\\"npm run jest\\",\\"types\\":\\"rimraf -f 'dist/**/*.d.ts' && tsc --project . --declaration --emitDeclarationOnly --outDir dist\\",\\"watch\\":\\"NODE_ENV=\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 babel-node --extensions '.ts,.js' bin/watch\\",\\"whook\\":\\"NODE_ENV=\${NODE_ENV:-development} whook\\",\\"whook-dev\\":\\"PROJECT_SRC=\\\\\\"$PWD/src\\\\\\" NODE_ENV=\${NODE_ENV:-development} babel-node --extensions '.ts,.js' -- node_modules/@whook/cli/bin/whook.js\\",\\"whook-repl\\":\\"PROJECT_SRC=\\\\\\"$PWD/src\\\\\\" NODE_ENV=\${NODE_ENV:-development} babel-node --extensions '.ts,.js' -- bin/repl.js\\"},\\"files\\":[\\"bin\\",\\"dist\\",\\"src\\",\\"LICENSE\\",\\"README.md\\",\\"CHANGELOG.md\\"],\\"dependencies\\":{\\"@whook/authorization\\":\\"\\",\\"@whook/cli\\":\\"\\",\\"@whook/cors\\":\\"\\",\\"@whook/graphql\\":\\"^8.4.2\\",\\"@whook/graphiql\\":\\"^8.4.2\\",\\"@whook/http-router\\":\\"\\",\\"@whook/http-transaction\\":\\"\\",\\"@whook/swagger-ui\\":\\"\\",\\"@whook/whook\\":\\"\\",\\"common-services\\":\\"^9.0.1\\",\\"graphql\\":\\"^15.5.0\\",\\"http-auth-utils\\":\\"^3.0.1\\",\\"jwt-service\\":\\"^7.1.3\\",\\"knifecycle\\":\\"^11.1.1\\",\\"strict-qs\\":\\"^6.1.4\\",\\"type-fest\\":\\"^2.3.3\\",\\"yerror\\":\\"^6.0.1\\",\\"yhttperror\\":\\"^6.0.1\\"},\\"devDependencies\\":{\\"@babel/cli\\":\\"^7.13.14\\",\\"@babel/core\\":\\"^7.13.15\\",\\"@babel/eslint-parser\\":\\"^7.13.14\\",\\"@babel/node\\":\\"^7.13.13\\",\\"@babel/plugin-proposal-class-properties\\":\\"^7.13.0\\",\\"@babel/plugin-proposal-object-rest-spread\\":\\"^7.13.8\\",\\"@babel/plugin-syntax-dynamic-import\\":\\"^7.8.3\\",\\"@babel/plugin-syntax-import-meta\\":\\"^7.10.4\\",\\"@babel/preset-env\\":\\"^7.13.15\\",\\"@babel/preset-typescript\\":\\"^7.13.0\\",\\"@babel/register\\":\\"^7.13.14\\",\\"@types/jest\\":\\"^26.0.22\\",\\"@typescript-eslint/eslint-plugin\\":\\"^4.21.0\\",\\"@typescript-eslint/parser\\":\\"^4.21.0\\",\\"axios\\":\\"^0.21.4\\",\\"babel-plugin-knifecycle\\":\\"^5.0.1\\",\\"chokidar\\":\\"^3.5.1\\",\\"eslint\\":\\"^7.23.0\\",\\"eslint-plugin-prettier\\":\\"^3.3.1\\",\\"jest\\":\\"^26.6.3\\",\\"jsarch\\":\\"^4.0.1\\",\\"openapi-schema-validator\\":\\"^8.0.0\\",\\"parse-gitignore\\":\\"^1.0.1\\",\\"prettier\\":\\"^2.2.1\\",\\"rimraf\\":\\"^3.0.2\\",\\"schema2dts\\":\\"^2.0.1\\",\\"typescript\\":\\"^4.2.4\\"},\\"eslintConfig\\":{\\"extends\\":[\\"eslint:recommended\\",\\"plugin:@typescript-eslint/eslint-recommended\\",\\"plugin:@typescript-eslint/recommended\\"],\\"parserOptions\\":{\\"ecmaVersion\\":2018,\\"sourceType\\":\\"module\\",\\"modules\\":true},\\"env\\":{\\"es6\\":true,\\"node\\":true,\\"jest\\":true,\\"mocha\\":true},\\"plugins\\":[\\"prettier\\"],\\"rules\\":{\\"prettier/prettier\\":\\"error\\"},\\"parser\\":\\"@typescript-eslint/parser\\",\\"ignorePatterns\\":[\\"*.d.ts\\"]},\\"prettier\\":{\\"semi\\":true,\\"printWidth\\":80,\\"singleQuote\\":true,\\"trailingComma\\":\\"all\\",\\"proseWrap\\":\\"always\\"},\\"babel\\":{\\"presets\\":[\\"@babel/typescript\\",[\\"@babel/env\\",{\\"targets\\":{\\"node\\":\\"12.19.0\\"}}]],\\"plugins\\":[\\"@babel/proposal-class-properties\\",\\"@babel/plugin-proposal-object-rest-spread\\",\\"babel-plugin-knifecycle\\"],\\"env\\":{\\"cjs\\":{\\"presets\\":[[\\"@babel/env\\",{\\"targets\\":{\\"node\\":\\"10\\"},\\"modules\\":\\"commonjs\\"}]]},\\"mjs\\":{\\"presets\\":[[\\"@babel/env\\",{\\"targets\\":{\\"node\\":\\"12\\"},\\"modules\\":false}]]}},\\"sourceMaps\\":true},\\"jest\\":{\\"coverageReporters\\":[\\"lcov\\",\\"html\\"],\\"testPathIgnorePatterns\\":[\\"/node_modules/\\"],\\"roots\\":[\\"/src\\"],\\"testEnvironment\\":\\"node\\"}}", ], Array [ "/home/whoiam/projects/yolo/LICENSE", diff --git a/packages/whook-create/src/services/createWhook.test.ts b/packages/whook-create/src/services/createWhook.test.ts index 054851f3..d22e1e64 100644 --- a/packages/whook-create/src/services/createWhook.test.ts +++ b/packages/whook-create/src/services/createWhook.test.ts @@ -186,11 +186,14 @@ Mr Bean "@whook/authorization": "", "@whook/cli": "", "@whook/cors": "", + "@whook/graphiql": "^8.4.2", + "@whook/graphql": "^8.4.2", "@whook/http-router": "", "@whook/http-transaction": "", "@whook/swagger-ui": "", "@whook/whook": "", "common-services": "^9.0.1", + "graphql": "^15.5.0", "http-auth-utils": "^3.0.1", "jwt-service": "^7.1.3", "knifecycle": "^11.1.1", @@ -444,11 +447,14 @@ Mr Bean "@whook/authorization": "", "@whook/cli": "", "@whook/cors": "", + "@whook/graphiql": "^8.4.2", + "@whook/graphql": "^8.4.2", "@whook/http-router": "", "@whook/http-transaction": "", "@whook/swagger-ui": "", "@whook/whook": "", "common-services": "^9.0.1", + "graphql": "^15.5.0", "http-auth-utils": "^3.0.1", "jwt-service": "^7.1.3", "knifecycle": "^11.1.1", @@ -687,11 +693,14 @@ Mr Bean "@whook/authorization": "", "@whook/cli": "", "@whook/cors": "", + "@whook/graphiql": "^8.4.2", + "@whook/graphql": "^8.4.2", "@whook/http-router": "", "@whook/http-transaction": "", "@whook/swagger-ui": "", "@whook/whook": "", "common-services": "^9.0.1", + "graphql": "^15.5.0", "http-auth-utils": "^3.0.1", "jwt-service": "^7.1.3", "knifecycle": "^11.1.1", diff --git a/packages/whook-example/package.json b/packages/whook-example/package.json index 9014b035..1fb573b2 100644 --- a/packages/whook-example/package.json +++ b/packages/whook-example/package.json @@ -83,11 +83,14 @@ "@whook/authorization": "^8.4.2", "@whook/cli": "^8.4.2", "@whook/cors": "^8.4.2", + "@whook/graphql": "^8.4.2", + "@whook/graphiql": "^8.4.2", "@whook/http-router": "^8.4.2", "@whook/http-transaction": "^8.3.0", "@whook/swagger-ui": "^8.4.2", "@whook/whook": "^8.4.2", "common-services": "^9.0.1", + "graphql": "^15.5.0", "http-auth-utils": "^3.0.1", "jwt-service": "^7.1.3", "knifecycle": "^11.1.1", diff --git a/packages/whook-example/src/__snapshots__/cli.test.ts.snap b/packages/whook-example/src/__snapshots__/cli.test.ts.snap index c3204d66..e1bcbdbc 100644 --- a/packages/whook-example/src/__snapshots__/cli.test.ts.snap +++ b/packages/whook-example/src/__snapshots__/cli.test.ts.snap @@ -34,6 +34,9 @@ Object { - printEnv: A command printing every env values +# Provided by \\"@whook/graphql\\": none + + # Provided by \\"@whook/cli\\": 6 commands - config: A simple program that returns the queryed config value - create: A command helping to create new Whook files easily diff --git a/packages/whook-example/src/__snapshots__/index.test.ts.snap b/packages/whook-example/src/__snapshots__/index.test.ts.snap index 380cf286..9cdaaf90 100644 --- a/packages/whook-example/src/__snapshots__/index.test.ts.snap +++ b/packages/whook-example/src/__snapshots__/index.test.ts.snap @@ -167,6 +167,9 @@ Object { Array [ "➰ - Plugin \\"@whook/cors\\" resolved to \\"/home/nfroidure/nfroidure/whook/packages/whook-cors/dist\\".", ], + Array [ + "➰ - Plugin \\"@whook/graphql\\" resolved to \\"/home/nfroidure/nfroidure/whook/packages/whook-graphql/dist\\".", + ], Array [ "➰ - Plugin \\"@whook/whook\\" resolved to \\"/home/nfroidure/nfroidure/whook/packages/whook/dist\\".", ], @@ -215,6 +218,9 @@ Object { Array [ "πŸ’Ώ - Loading \\"getDiagnosticWrapped\\" initializer from \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/handlers/getDiagnostic.ts\\".", ], + Array [ + "πŸ’Ώ - Loading \\"getGraphQLWrapped\\" initializer from \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/handlers/getGraphQL.ts\\".", + ], Array [ "πŸ’Ώ - Loading \\"getOpenAPIWrapped\\" initializer from \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/handlers/getOpenAPI.ts\\".", ], @@ -233,6 +239,12 @@ Object { Array [ "πŸ’Ώ - Loading \\"optionsWithCORSWrapped\\" initializer from \\"/home/nfroidure/nfroidure/whook/packages/whook-cors/dist/handlers/optionsWithCORS\\".", ], + Array [ + "πŸ’Ώ - Loading \\"postGraphQL\\" initializer from \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/handlers/postGraphQL.ts\\".", + ], + Array [ + "πŸ’Ώ - Loading \\"postGraphQLWrapped\\" initializer from \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/handlers/postGraphQL.ts\\".", + ], Array [ "πŸ’Ώ - Loading \\"putEchoWrapped\\" initializer from \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/handlers/putEcho.ts\\".", ], @@ -263,6 +275,9 @@ Object { Array [ "πŸ’Ώ - Service \\"getDiagnosticWrapped\\" found in \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/handlers/getDiagnostic.ts\\".", ], + Array [ + "πŸ’Ώ - Service \\"getGraphQLWrapped\\" found in \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/handlers/getGraphQL.ts\\".", + ], Array [ "πŸ’Ώ - Service \\"getOpenAPIWrapped\\" found in \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/handlers/getOpenAPI.ts\\".", ], @@ -281,6 +296,12 @@ Object { Array [ "πŸ’Ώ - Service \\"optionsWithCORSWrapped\\" found in \\"/home/nfroidure/nfroidure/whook/packages/whook-cors/dist/handlers/optionsWithCORS\\".", ], + Array [ + "πŸ’Ώ - Service \\"postGraphQL\\" found in \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/handlers/postGraphQL.ts\\".", + ], + Array [ + "πŸ’Ώ - Service \\"postGraphQLWrapped\\" found in \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/handlers/postGraphQL.ts\\".", + ], Array [ "πŸ’Ώ - Service \\"putEchoWrapped\\" found in \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/handlers/putEcho.ts\\".", ], @@ -293,6 +314,9 @@ Object { Array [ "πŸ” - Initializing the authorization wrapper for \\"getDiagnostic\\".", ], + Array [ + "πŸ” - Initializing the authorization wrapper for \\"getGraphQL\\".", + ], Array [ "πŸ” - Initializing the authorization wrapper for \\"getOpenAPI\\".", ], @@ -308,6 +332,9 @@ Object { Array [ "πŸ” - Initializing the authorization wrapper for \\"optionsWithCORS\\".", ], + Array [ + "πŸ” - Initializing the authorization wrapper for \\"postGraphQL\\".", + ], Array [ "πŸ” - Initializing the authorization wrapper for \\"putEcho\\".", ], @@ -317,6 +344,9 @@ Object { Array [ "πŸ•ΆοΈ - Initializing the obfuscator service.", ], + Array [ + "πŸ•ΈοΈ - Initializing the GraphQL Service", + ], Array [ "🚦 - HTTP Router initialized.", ], @@ -329,6 +359,9 @@ Object { Array [ "🚫 - Service \\"BASE_URL\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/services/BASE_URL\\".", ], + Array [ + "🚫 - Service \\"BASE_URL\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-graphql/dist/services/BASE_URL\\".", + ], Array [ "🚫 - Service \\"BUFFER_LIMIT\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-cli/dist/services/BUFFER_LIMIT\\".", ], @@ -338,6 +371,9 @@ Object { Array [ "🚫 - Service \\"BUFFER_LIMIT\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/services/BUFFER_LIMIT\\".", ], + Array [ + "🚫 - Service \\"BUFFER_LIMIT\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-graphql/dist/services/BUFFER_LIMIT\\".", + ], Array [ "🚫 - Service \\"BUFFER_LIMIT\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook/dist/services/BUFFER_LIMIT\\".", ], @@ -350,6 +386,9 @@ Object { Array [ "🚫 - Service \\"DECODERS\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/services/DECODERS\\".", ], + Array [ + "🚫 - Service \\"DECODERS\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-graphql/dist/services/DECODERS\\".", + ], Array [ "🚫 - Service \\"DECODERS\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook/dist/services/DECODERS\\".", ], @@ -362,6 +401,9 @@ Object { Array [ "🚫 - Service \\"DEFAULT_ERROR_CODE\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/services/DEFAULT_ERROR_CODE\\".", ], + Array [ + "🚫 - Service \\"DEFAULT_ERROR_CODE\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-graphql/dist/services/DEFAULT_ERROR_CODE\\".", + ], Array [ "🚫 - Service \\"DEFAULT_ERROR_CODE\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook/dist/services/DEFAULT_ERROR_CODE\\".", ], @@ -374,9 +416,27 @@ Object { Array [ "🚫 - Service \\"DEFAULT_MECHANISM\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/services/DEFAULT_MECHANISM\\".", ], + Array [ + "🚫 - Service \\"DEFAULT_MECHANISM\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-graphql/dist/services/DEFAULT_MECHANISM\\".", + ], Array [ "🚫 - Service \\"DEFAULT_MECHANISM\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook/dist/services/DEFAULT_MECHANISM\\".", ], + Array [ + "🚫 - Service \\"DEV_ACCESS_MECHANISM\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-cli/dist/services/DEV_ACCESS_MECHANISM\\".", + ], + Array [ + "🚫 - Service \\"DEV_ACCESS_MECHANISM\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-cors/dist/services/DEV_ACCESS_MECHANISM\\".", + ], + Array [ + "🚫 - Service \\"DEV_ACCESS_MECHANISM\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/services/DEV_ACCESS_MECHANISM\\".", + ], + Array [ + "🚫 - Service \\"DEV_ACCESS_MECHANISM\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-graphql/dist/services/DEV_ACCESS_MECHANISM\\".", + ], + Array [ + "🚫 - Service \\"DEV_ACCESS_MECHANISM\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook/dist/services/DEV_ACCESS_MECHANISM\\".", + ], Array [ "🚫 - Service \\"DEV_ACCESS_TOKEN\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-cli/dist/services/DEV_ACCESS_TOKEN\\".", ], @@ -386,6 +446,9 @@ Object { Array [ "🚫 - Service \\"DEV_ACCESS_TOKEN\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/services/DEV_ACCESS_TOKEN\\".", ], + Array [ + "🚫 - Service \\"DEV_ACCESS_TOKEN\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-graphql/dist/services/DEV_ACCESS_TOKEN\\".", + ], Array [ "🚫 - Service \\"DEV_ACCESS_TOKEN\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook/dist/services/DEV_ACCESS_TOKEN\\".", ], @@ -398,9 +461,27 @@ Object { Array [ "🚫 - Service \\"ENCODERS\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/services/ENCODERS\\".", ], + Array [ + "🚫 - Service \\"ENCODERS\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-graphql/dist/services/ENCODERS\\".", + ], Array [ "🚫 - Service \\"ENCODERS\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook/dist/services/ENCODERS\\".", ], + Array [ + "🚫 - Service \\"GRAPHQL_SERVER_OPTIONS\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-cli/dist/services/GRAPHQL_SERVER_OPTIONS\\".", + ], + Array [ + "🚫 - Service \\"GRAPHQL_SERVER_OPTIONS\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-cors/dist/services/GRAPHQL_SERVER_OPTIONS\\".", + ], + Array [ + "🚫 - Service \\"GRAPHQL_SERVER_OPTIONS\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/services/GRAPHQL_SERVER_OPTIONS\\".", + ], + Array [ + "🚫 - Service \\"GRAPHQL_SERVER_OPTIONS\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-graphql/dist/services/GRAPHQL_SERVER_OPTIONS\\".", + ], + Array [ + "🚫 - Service \\"GRAPHQL_SERVER_OPTIONS\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook/dist/services/GRAPHQL_SERVER_OPTIONS\\".", + ], Array [ "🚫 - Service \\"IGNORED_FILES_PREFIXES\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-cli/dist/services/IGNORED_FILES_PREFIXES\\".", ], @@ -410,6 +491,9 @@ Object { Array [ "🚫 - Service \\"IGNORED_FILES_PREFIXES\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/services/IGNORED_FILES_PREFIXES\\".", ], + Array [ + "🚫 - Service \\"IGNORED_FILES_PREFIXES\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-graphql/dist/services/IGNORED_FILES_PREFIXES\\".", + ], Array [ "🚫 - Service \\"IGNORED_FILES_PREFIXES\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook/dist/services/IGNORED_FILES_PREFIXES\\".", ], @@ -422,6 +506,9 @@ Object { Array [ "🚫 - Service \\"IGNORED_FILES_SUFFIXES\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/services/IGNORED_FILES_SUFFIXES\\".", ], + Array [ + "🚫 - Service \\"IGNORED_FILES_SUFFIXES\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-graphql/dist/services/IGNORED_FILES_SUFFIXES\\".", + ], Array [ "🚫 - Service \\"IGNORED_FILES_SUFFIXES\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook/dist/services/IGNORED_FILES_SUFFIXES\\".", ], @@ -434,6 +521,9 @@ Object { Array [ "🚫 - Service \\"JWT_SECRET_ENV_NAME\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/services/JWT_SECRET_ENV_NAME\\".", ], + Array [ + "🚫 - Service \\"JWT_SECRET_ENV_NAME\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-graphql/dist/services/JWT_SECRET_ENV_NAME\\".", + ], Array [ "🚫 - Service \\"JWT_SECRET_ENV_NAME\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook/dist/services/JWT_SECRET_ENV_NAME\\".", ], @@ -446,6 +536,9 @@ Object { Array [ "🚫 - Service \\"KEEP_ALIVE_TIMEOUT\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/services/KEEP_ALIVE_TIMEOUT\\".", ], + Array [ + "🚫 - Service \\"KEEP_ALIVE_TIMEOUT\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-graphql/dist/services/KEEP_ALIVE_TIMEOUT\\".", + ], Array [ "🚫 - Service \\"KEEP_ALIVE_TIMEOUT\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook/dist/services/KEEP_ALIVE_TIMEOUT\\".", ], @@ -458,6 +551,9 @@ Object { Array [ "🚫 - Service \\"MAX_CLEAR_CHARS\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/services/MAX_CLEAR_CHARS\\".", ], + Array [ + "🚫 - Service \\"MAX_CLEAR_CHARS\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-graphql/dist/services/MAX_CLEAR_CHARS\\".", + ], Array [ "🚫 - Service \\"MAX_CLEAR_CHARS\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook/dist/services/MAX_CLEAR_CHARS\\".", ], @@ -470,6 +566,9 @@ Object { Array [ "🚫 - Service \\"MAX_CLEAR_RATIO\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/services/MAX_CLEAR_RATIO\\".", ], + Array [ + "🚫 - Service \\"MAX_CLEAR_RATIO\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-graphql/dist/services/MAX_CLEAR_RATIO\\".", + ], Array [ "🚫 - Service \\"MAX_CLEAR_RATIO\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook/dist/services/MAX_CLEAR_RATIO\\".", ], @@ -482,6 +581,9 @@ Object { Array [ "🚫 - Service \\"MAX_CONNECTIONS\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/services/MAX_CONNECTIONS\\".", ], + Array [ + "🚫 - Service \\"MAX_CONNECTIONS\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-graphql/dist/services/MAX_CONNECTIONS\\".", + ], Array [ "🚫 - Service \\"MAX_CONNECTIONS\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook/dist/services/MAX_CONNECTIONS\\".", ], @@ -494,6 +596,9 @@ Object { Array [ "🚫 - Service \\"MAX_HEADERS_COUNT\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/services/MAX_HEADERS_COUNT\\".", ], + Array [ + "🚫 - Service \\"MAX_HEADERS_COUNT\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-graphql/dist/services/MAX_HEADERS_COUNT\\".", + ], Array [ "🚫 - Service \\"MAX_HEADERS_COUNT\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook/dist/services/MAX_HEADERS_COUNT\\".", ], @@ -506,6 +611,9 @@ Object { Array [ "🚫 - Service \\"PARSERS\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/services/PARSERS\\".", ], + Array [ + "🚫 - Service \\"PARSERS\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-graphql/dist/services/PARSERS\\".", + ], Array [ "🚫 - Service \\"PARSERS\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook/dist/services/PARSERS\\".", ], @@ -518,6 +626,9 @@ Object { Array [ "🚫 - Service \\"PROCESS_ENV\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/services/PROCESS_ENV\\".", ], + Array [ + "🚫 - Service \\"PROCESS_ENV\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-graphql/dist/services/PROCESS_ENV\\".", + ], Array [ "🚫 - Service \\"PROCESS_ENV\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook/dist/services/PROCESS_ENV\\".", ], @@ -530,6 +641,9 @@ Object { Array [ "🚫 - Service \\"PROCESS_NAME\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/services/PROCESS_NAME\\".", ], + Array [ + "🚫 - Service \\"PROCESS_NAME\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-graphql/dist/services/PROCESS_NAME\\".", + ], Array [ "🚫 - Service \\"PROCESS_NAME\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook/dist/services/PROCESS_NAME\\".", ], @@ -542,6 +656,9 @@ Object { Array [ "🚫 - Service \\"PROTOCOL\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/services/PROTOCOL\\".", ], + Array [ + "🚫 - Service \\"PROTOCOL\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-graphql/dist/services/PROTOCOL\\".", + ], Array [ "🚫 - Service \\"PROTOCOL\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook/dist/services/PROTOCOL\\".", ], @@ -554,6 +671,9 @@ Object { Array [ "🚫 - Service \\"REDUCED_FILES_SUFFIXES\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/services/REDUCED_FILES_SUFFIXES\\".", ], + Array [ + "🚫 - Service \\"REDUCED_FILES_SUFFIXES\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-graphql/dist/services/REDUCED_FILES_SUFFIXES\\".", + ], Array [ "🚫 - Service \\"REDUCED_FILES_SUFFIXES\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook/dist/services/REDUCED_FILES_SUFFIXES\\".", ], @@ -566,6 +686,9 @@ Object { Array [ "🚫 - Service \\"SENSIBLE_HEADERS\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/services/SENSIBLE_HEADERS\\".", ], + Array [ + "🚫 - Service \\"SENSIBLE_HEADERS\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-graphql/dist/services/SENSIBLE_HEADERS\\".", + ], Array [ "🚫 - Service \\"SENSIBLE_HEADERS\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook/dist/services/SENSIBLE_HEADERS\\".", ], @@ -578,6 +701,9 @@ Object { Array [ "🚫 - Service \\"SENSIBLE_PROPS\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/services/SENSIBLE_PROPS\\".", ], + Array [ + "🚫 - Service \\"SENSIBLE_PROPS\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-graphql/dist/services/SENSIBLE_PROPS\\".", + ], Array [ "🚫 - Service \\"SENSIBLE_PROPS\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook/dist/services/SENSIBLE_PROPS\\".", ], @@ -590,6 +716,9 @@ Object { Array [ "🚫 - Service \\"SHIELD_CHAR\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/services/SHIELD_CHAR\\".", ], + Array [ + "🚫 - Service \\"SHIELD_CHAR\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-graphql/dist/services/SHIELD_CHAR\\".", + ], Array [ "🚫 - Service \\"SHIELD_CHAR\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook/dist/services/SHIELD_CHAR\\".", ], @@ -602,6 +731,9 @@ Object { Array [ "🚫 - Service \\"SIGNALS\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/services/SIGNALS\\".", ], + Array [ + "🚫 - Service \\"SIGNALS\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-graphql/dist/services/SIGNALS\\".", + ], Array [ "🚫 - Service \\"SIGNALS\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook/dist/services/SIGNALS\\".", ], @@ -614,6 +746,9 @@ Object { Array [ "🚫 - Service \\"SOCKET_TIMEOUT\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/services/SOCKET_TIMEOUT\\".", ], + Array [ + "🚫 - Service \\"SOCKET_TIMEOUT\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-graphql/dist/services/SOCKET_TIMEOUT\\".", + ], Array [ "🚫 - Service \\"SOCKET_TIMEOUT\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook/dist/services/SOCKET_TIMEOUT\\".", ], @@ -626,6 +761,9 @@ Object { Array [ "🚫 - Service \\"STRINGIFYERS\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/services/STRINGIFYERS\\".", ], + Array [ + "🚫 - Service \\"STRINGIFYERS\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-graphql/dist/services/STRINGIFYERS\\".", + ], Array [ "🚫 - Service \\"STRINGIFYERS\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook/dist/services/STRINGIFYERS\\".", ], @@ -638,6 +776,9 @@ Object { Array [ "🚫 - Service \\"TIMEOUT\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/services/TIMEOUT\\".", ], + Array [ + "🚫 - Service \\"TIMEOUT\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-graphql/dist/services/TIMEOUT\\".", + ], Array [ "🚫 - Service \\"TIMEOUT\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook/dist/services/TIMEOUT\\".", ], @@ -647,12 +788,18 @@ Object { Array [ "🚫 - Service \\"getPingWrapped\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/handlers/getPing\\".", ], + Array [ + "🚫 - Service \\"getPingWrapped\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-graphql/dist/handlers/getPing\\".", + ], Array [ "🚫 - Service \\"optionsWithCORSWrapped\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-cli/dist/handlers/optionsWithCORS\\".", ], Array [ "🚫 - Service \\"optionsWithCORSWrapped\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/handlers/optionsWithCORS\\".", ], + Array [ + "🚫 - Service \\"optionsWithCORSWrapped\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-graphql/dist/handlers/optionsWithCORS\\".", + ], Array [ "🚫 - Service \\"optionsWithCORSWrapped\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook/dist/handlers/optionsWithCORS\\".", ], @@ -665,6 +812,9 @@ Object { Array [ "🚫 - Service \\"readDir\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/services/readDir\\".", ], + Array [ + "🚫 - Service \\"readDir\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-graphql/dist/services/readDir\\".", + ], Array [ "🚫 - Service \\"readDir\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook/dist/services/readDir\\".", ], @@ -677,6 +827,9 @@ Object { Array [ "🚫 - Service \\"readFile\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/services/readFile\\".", ], + Array [ + "🚫 - Service \\"readFile\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-graphql/dist/services/readFile\\".", + ], Array [ "🚫 - Service \\"readFile\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook/dist/services/readFile\\".", ], @@ -689,6 +842,9 @@ Object { Array [ "🚫 - Service \\"uniqueId\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/services/uniqueId\\".", ], + Array [ + "🚫 - Service \\"uniqueId\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook-graphql/dist/services/uniqueId\\".", + ], Array [ "🚫 - Service \\"uniqueId\\" not found in \\"/home/nfroidure/nfroidure/whook/packages/whook/dist/services/uniqueId\\".", ], @@ -713,6 +869,12 @@ Object { Array [ "πŸ›‚ - Dynamic import of \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/handlers/getDiagnostic.ts\\".", ], + Array [ + "πŸ›‚ - Dynamic import of \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/handlers/getGraphQL\\".", + ], + Array [ + "πŸ›‚ - Dynamic import of \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/handlers/getGraphQL.ts\\".", + ], Array [ "πŸ›‚ - Dynamic import of \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/handlers/getOpenAPI\\".", ], @@ -731,6 +893,15 @@ Object { Array [ "πŸ›‚ - Dynamic import of \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/handlers/getTime.ts\\".", ], + Array [ + "πŸ›‚ - Dynamic import of \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/handlers/postGraphQL\\".", + ], + Array [ + "πŸ›‚ - Dynamic import of \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/handlers/postGraphQL.ts\\".", + ], + Array [ + "πŸ›‚ - Dynamic import of \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/handlers/postGraphQL.ts\\".", + ], Array [ "πŸ›‚ - Dynamic import of \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/handlers/putEcho\\".", ], @@ -788,6 +959,9 @@ Object { Array [ "πŸ›‚ - Resolving \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/handlers/getDiagnostic\\" to \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/handlers/getDiagnostic.ts\\".", ], + Array [ + "πŸ›‚ - Resolving \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/handlers/getGraphQL\\" to \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/handlers/getGraphQL.ts\\".", + ], Array [ "πŸ›‚ - Resolving \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/handlers/getOpenAPI\\" to \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/handlers/getOpenAPI.ts\\".", ], @@ -797,6 +971,12 @@ Object { Array [ "πŸ›‚ - Resolving \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/handlers/getTime\\" to \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/handlers/getTime.ts\\".", ], + Array [ + "πŸ›‚ - Resolving \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/handlers/postGraphQL\\" to \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/handlers/postGraphQL.ts\\".", + ], + Array [ + "πŸ›‚ - Resolving \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/handlers/postGraphQL\\" to \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/handlers/postGraphQL.ts\\".", + ], Array [ "πŸ›‚ - Resolving \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/handlers/putEcho\\" to \\"/home/nfroidure/nfroidure/whook/packages/whook-example/src/handlers/putEcho.ts\\".", ], @@ -833,6 +1013,9 @@ Object { Array [ "πŸ›‚ - Resolving \\"@whook/cors\\" to \\"/home/nfroidure/nfroidure/whook/packages/whook-cors/dist/index\\".", ], + Array [ + "πŸ›‚ - Resolving \\"@whook/graphql\\" to \\"/home/nfroidure/nfroidure/whook/packages/whook-graphql/dist/index\\".", + ], Array [ "πŸ›‚ - Resolving \\"@whook/whook\\" to \\"/home/nfroidure/nfroidure/whook/packages/whook/dist/index\\".", ], @@ -876,6 +1059,10 @@ Object { Array [ "πŸ•± -Wrapping the error handler for CORS.", ], + Array [ + "πŸ•ΈοΈ - Serving the GraphIQL UI.", + "http://localhost:9999/graphiql", + ], ], } `; diff --git a/packages/whook-example/src/config/common/config.ts b/packages/whook-example/src/config/common/config.ts index 53ce722a..61813ebe 100644 --- a/packages/whook-example/src/config/common/config.ts +++ b/packages/whook-example/src/config/common/config.ts @@ -8,6 +8,8 @@ import type { WhookAPIOperationCORSConfig, WhookCORSConfig } from '@whook/cors'; import type { WhookAPIHandlerDefinition, WhookConfigs } from '@whook/whook'; import type { APIConfig } from '../../services/API'; import type { JWTServiceConfig } from 'jwt-service'; +import type { WhookGraphQLConfig } from '@whook/graphql'; +import type { WhookGraphIQLConfig } from '@whook/graphiql'; /* Architecture Note #2: Configuration @@ -32,8 +34,10 @@ export type AppConfigs = WhookConfigs & WhookAuthorizationConfig & WhookSwaggerUIConfig & WhookCORSConfig & - APIConfig & - JWTServiceConfig; + JWTServiceConfig & + WhookGraphQLConfig & + WhookGraphIQLConfig & + APIConfig; /* Architecture Note #3.2.3: Typings @@ -91,6 +95,10 @@ const CONFIG: AppConfigs = { 'User-Agent', ].join(','), }, + GRAPHIQL: { + path: '/graphiql', + defaultQuery: '{ hello }', + }, }; export default CONFIG; diff --git a/packages/whook-example/src/config/development/config.ts b/packages/whook-example/src/config/development/config.ts index 19ae2f80..72ac11e0 100644 --- a/packages/whook-example/src/config/development/config.ts +++ b/packages/whook-example/src/config/development/config.ts @@ -9,6 +9,7 @@ Finally the configuration file for a given environnment */ const CONFIG: AppConfigs = { ...COMMON_CONFIG, + DEV_ACCESS_MECHANISM: 'Fake', DEV_ACCESS_TOKEN: 'admin|1|1', DEFAULT_MECHANISM: 'Fake', // This allows you to map service names depending on diff --git a/packages/whook-example/src/handlers/getGraphQL.ts b/packages/whook-example/src/handlers/getGraphQL.ts new file mode 100644 index 00000000..dd3c3ae6 --- /dev/null +++ b/packages/whook-example/src/handlers/getGraphQL.ts @@ -0,0 +1,21 @@ +import { + initGetGraphQL, + getGraphQLDefinition as baseDefinition, +} from '@whook/graphql'; + +// Add authentication to the base getGraphQL endpoints that +// would otherwise be public per default +export const definition = { + ...baseDefinition, + operation: { + ...baseDefinition.operation, + + security: [ + { + bearerAuth: ['admin'], + }, + ], + }, +}; + +export default initGetGraphQL; diff --git a/packages/whook-example/src/handlers/postGraphQL.ts b/packages/whook-example/src/handlers/postGraphQL.ts new file mode 100644 index 00000000..7ccf2428 --- /dev/null +++ b/packages/whook-example/src/handlers/postGraphQL.ts @@ -0,0 +1,21 @@ +import { + initPostGraphQL, + postGraphQLDefinition as baseDefinition, +} from '@whook/graphql'; + +// Add authentication to the base postGraphQL endpoints that +// would otherwise be public per default +export const definition = { + ...baseDefinition, + operation: { + ...baseDefinition.operation, + + security: [ + { + bearerAuth: ['admin'], + }, + ], + }, +}; + +export default initPostGraphQL; diff --git a/packages/whook-example/src/index.ts b/packages/whook-example/src/index.ts index 4f987def..b6207ccd 100644 --- a/packages/whook-example/src/index.ts +++ b/packages/whook-example/src/index.ts @@ -1,15 +1,21 @@ -import Knifecycle, { constant } from 'knifecycle'; +import Knifecycle, { constant, alsoInject } from 'knifecycle'; import { runServer as runBaseServer, prepareServer as prepareBaseServer, prepareEnvironment as prepareBaseEnvironment, initAutoload, initAPIDefinitions, + initBuildConstants, } from '@whook/whook'; import initHTTPRouter from '@whook/http-router'; import { initErrorHandlerWithCORS } from '@whook/cors'; import wrapHTTPRouterWithSwaggerUI from '@whook/swagger-ui'; +import YError from 'yerror'; +import wrapHTTPRouterWithGraphIQL from '@whook/graphiql'; +import { initGraphQL } from '@whook/graphql'; +import { gql } from 'apollo-server-core'; import type { DependencyDeclaration, Dependencies } from 'knifecycle'; +import type { WhookGraphQLFragmentService } from '@whook/graphql'; /* Architecture Note #1: A Whook baked API This API server uses the Whook engine. Thoses architecture @@ -68,7 +74,11 @@ export async function prepareServer< For example, here we add a Swagger UI page for development purpose. */ - $.register(wrapHTTPRouterWithSwaggerUI(initHTTPRouter) as any); + $.register( + wrapHTTPRouterWithGraphIQL( + wrapHTTPRouterWithSwaggerUI(initHTTPRouter), + ) as any, + ); return await prepareBaseServer(injectedNames, $); } @@ -167,11 +177,82 @@ export async function prepareEnvironment>( You can also avoid Whook defaults by leaving it empty. */ $.register( - constant('WHOOK_PLUGINS', ['@whook/cli', '@whook/whook', '@whook/cors']), + constant('WHOOK_PLUGINS', [ + '@whook/graphql', + '@whook/cli', + '@whook/whook', + '@whook/cors', + ]), ); // Add the CORS wrapped error handler $.register(initErrorHandlerWithCORS); + // Declare the GraphQL schema fragments + const helloFragment: WhookGraphQLFragmentService = { + typeDefs: gql` + type Query { + hello: String + } + schema { + query: Query + } + `, + resolvers: { + Query: { + hello: () => 'Hello world!', + }, + }, + }; + + $.register(initGraphQL); + $.register(constant('graphQLFragments', [helloFragment])); + + return $; +} + +// Additionnally, 2 others functions can be exported +// for building purpose + +// The `runBuild` function is intended to build the +// project +export async function runBuild( + innerPrepareEnvironment = prepareBuildEnvironment, +): Promise { + throw new YError('E_NO_BUILD_IMPLEMENTED'); + + // Usually, here you call the installed build + // return runBaseBuild(innerPrepareEnvironment); +} + +// The `prepareBuildEnvironment` create the build +// environment +export async function prepareBuildEnvironment< + T extends Knifecycle, +>($: T = new Knifecycle() as T): Promise { + $ = await prepareEnvironment($); + + // Usually, here you call the installed build env + // $ = await prepareBaseBuildEnvironment($); + + // The build often need to know were initializer + // can be found to create a static build and + // remove the need to create an injector + $.register( + constant('INITIALIZER_PATH_MAP', { + ENV: '@whook/whook/dist/services/ProxyedENV', + apm: '@whook/http-transaction/dist/services/apm', + obfuscator: '@whook/http-transaction/dist/services/obfuscator', + errorHandler: '@whook/http-router/dist/services/errorHandler', + log: 'common-services/dist/log', + time: 'common-services/dist/time', + delay: 'common-services/dist/delay', + }), + ); + + // Finally, some constants can be serialized instead of being + // initialized in the target build saving some time at boot + $.register(alsoInject(['API_DEFINITIONS'], initBuildConstants)); + return $; } diff --git a/packages/whook-example/src/services/API.ts b/packages/whook-example/src/services/API.ts index 1c12e23b..2880214c 100644 --- a/packages/whook-example/src/services/API.ts +++ b/packages/whook-example/src/services/API.ts @@ -4,6 +4,7 @@ import { noop } from '@whook/whook'; import type { WhookConfig, WhookAPIDefinitions } from '@whook/whook'; import type { LogService } from 'common-services'; import type { OpenAPIV3 } from 'openapi-types'; +import { getGraphQLDefinition, postGraphQLDefinition } from '@whook/graphql'; export type APIEnv = { DEV_MODE?: string; diff --git a/packages/whook-example/src/services/__snapshots__/API.test.ts.snap b/packages/whook-example/src/services/__snapshots__/API.test.ts.snap index 64dbd271..d304c981 100644 --- a/packages/whook-example/src/services/__snapshots__/API.test.ts.snap +++ b/packages/whook-example/src/services/__snapshots__/API.test.ts.snap @@ -5,7 +5,9 @@ exports[`API should always have the same amount of basic authenticated endpoints exports[`API should always have the same amount of bearer authenticated endpoints 1`] = ` Array [ "get /diagnostic", + "get /graphql", "get /openAPI", + "post /graphql", ] `; @@ -13,10 +15,12 @@ exports[`API should always have the same amount of endpoints 1`] = ` Array [ "get /delay", "get /diagnostic", + "get /graphql", "get /openAPI", "get /ping", "get /time", "get /{pathParam1}/{pathParam2}", + "post /graphql", "put /echo", ] `; @@ -30,6 +34,7 @@ Array [ "options /delay", "options /diagnostic", "options /echo", + "options /graphql", "options /openAPI", "options /ping", "options /time", @@ -48,10 +53,12 @@ exports[`API should always have the same amount of publicly documented endpoints Array [ "get /delay", "get /diagnostic", + "get /graphql", "get /openAPI", "get /ping", "get /time", "get /{pathParam1}/{pathParam2}", + "post /graphql", "put /echo", ] `; @@ -309,6 +316,163 @@ Object { ], }, }, + "/graphql": Object { + "get": Object { + "operationId": "getGraphQL", + "parameters": Array [ + Object { + "description": "The GraphQL query", + "in": "query", + "name": "query", + "required": true, + "schema": Object { + "type": "string", + }, + }, + Object { + "description": "The GraphQL variables", + "in": "query", + "name": "variables", + "required": false, + "schema": Object { + "type": "string", + }, + }, + Object { + "description": "The GraphQL operation name", + "in": "query", + "name": "operationName", + "required": false, + "schema": Object { + "type": "string", + }, + }, + ], + "responses": Object { + "200": Object { + "content": Object { + "application/json": Object { + "schema": Object { + "additionalProperties": true, + "type": "object", + }, + }, + }, + "description": "Successfully ran the GraphQL query", + }, + }, + "security": Array [ + Object { + "bearerAuth": Array [ + "admin", + ], + }, + ], + "summary": "Graphql endpoint", + "tags": Array [ + "graphql", + ], + }, + "options": Object { + "operationId": "optionsWithCORS", + "parameters": Array [ + Object { + "description": "The GraphQL query", + "in": "query", + "name": "query", + "required": false, + "schema": Object { + "type": "string", + }, + }, + Object { + "description": "The GraphQL variables", + "in": "query", + "name": "variables", + "required": false, + "schema": Object { + "type": "string", + }, + }, + Object { + "description": "The GraphQL operation name", + "in": "query", + "name": "operationName", + "required": false, + "schema": Object { + "type": "string", + }, + }, + Object { + "in": "query", + "name": "access_token", + "schema": Object { + "type": "string", + }, + }, + ], + "responses": Object { + "200": Object { + "description": "CORS sent.", + }, + }, + "summary": "Enable OPTIONS for CORS", + "tags": Array [ + "CORS", + ], + "x-whook": Object { + "private": true, + "sourceOperationId": "getGraphQL", + "suffix": "CORS", + "type": "http", + }, + }, + "post": Object { + "operationId": "postGraphQL", + "parameters": Array [], + "requestBody": Object { + "content": Object { + "application/json": Object { + "schema": Object { + "additionalProperties": true, + "properties": Object { + "query": Object { + "type": "string", + }, + }, + "type": "object", + }, + }, + }, + "description": "The GraphQL query", + "required": false, + }, + "responses": Object { + "200": Object { + "content": Object { + "application/json": Object { + "schema": Object { + "additionalProperties": true, + "type": "object", + }, + }, + }, + "description": "Successfully ran the GraphQL query", + }, + }, + "security": Array [ + Object { + "bearerAuth": Array [ + "admin", + ], + }, + ], + "summary": "Graphql endpoint", + "tags": Array [ + "graphql", + ], + }, + }, "/openAPI": Object { "get": Object { "operationId": "getOpenAPI", diff --git a/packages/whook-http-router/src/services/errorHandler.ts b/packages/whook-http-router/src/services/errorHandler.ts index 806a0d1c..fd697b87 100644 --- a/packages/whook-http-router/src/services/errorHandler.ts +++ b/packages/whook-http-router/src/services/errorHandler.ts @@ -310,11 +310,9 @@ export type ErrorHandlerDependencies = ErrorHandlerConfig & { }; export interface WhookErrorHandler { - ( - transactionId: string, - responseSpec: ResponseSpec, - err: Error, - ): Promise; + (transactionId: string, responseSpec: ResponseSpec, err: Error): Promise< + WhookErrorResponse + >; } export type WhookErrorResponse = WhookResponse<