diff --git a/packages/whook-aws-lambda/package.json b/packages/whook-aws-lambda/package.json index 3d5b8f12..01d59c9a 100644 --- a/packages/whook-aws-lambda/package.json +++ b/packages/whook-aws-lambda/package.json @@ -60,6 +60,7 @@ "memory-fs": "0.5.0", "openapi-types": "^1.3.5", "qs": "^6.9.1", + "strict-qs": "^6.0.1", "yerror": "^5.0.0" }, "devDependencies": { diff --git a/packages/whook-aws-lambda/src/services/QUERY_PARSER.ts b/packages/whook-aws-lambda/src/services/QUERY_PARSER.ts new file mode 100644 index 00000000..f0ae1ce6 --- /dev/null +++ b/packages/whook-aws-lambda/src/services/QUERY_PARSER.ts @@ -0,0 +1,37 @@ +import { initializer } from 'knifecycle'; +import qs from 'qs'; +import { WhookQueryStringParser } from '@whook/http-router'; +import { castParameterValue } from '../wrappers/awsHTTPLambda'; + +// A custom query parser that mimic the AWS one behavior +// for local development +// WARNING: AWS API Gateway Lambda Proxy does not support +// query params repetition (ie foo=bar&foo=bar2) +// TODO: this parser should reflect that +export default initializer( + { + name: 'QUERY_PARSER', + type: 'service', + inject: [], + }, + async () => { + return ((parameters, search) => { + const queryStringParameters = qs.parse(search.slice(1)); + + return castParameters( + parameters ? parameters.filter(p => 'query' === (p as any).in) : [], + queryStringParameters, + ); + }) as WhookQueryStringParser; + }, +); + +function castParameters(parameters, values) { + (parameters || []).forEach(parameter => { + values[parameter.name] = castParameterValue( + parameter, + values[parameter.name], + ); + }); + return values; +} diff --git a/packages/whook-aws-lambda/src/wrappers/awsHTTPLambda.ts b/packages/whook-aws-lambda/src/wrappers/awsHTTPLambda.ts index c0bcc7a7..9d2bf5ff 100644 --- a/packages/whook-aws-lambda/src/wrappers/awsHTTPLambda.ts +++ b/packages/whook-aws-lambda/src/wrappers/awsHTTPLambda.ts @@ -38,6 +38,7 @@ import { } from '@whook/whook'; import { PassThrough } from 'stream'; import qs from 'qs'; +import { parseReentrantNumber, parseBoolean } from 'strict-qs'; import { camelCase } from 'camel-case'; import { TimeService, LogService } from 'common-services'; import { OpenAPIV3 } from 'openapi-types'; @@ -59,7 +60,6 @@ type HTTPWrapperDependencies = { WRAPPERS: WhookWrapper[]; }; -const BASE_10 = 10; const SEARCH_SEPARATOR = '?'; const uuidPattern = '^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$'; @@ -532,34 +532,6 @@ export function castParameterValue(parameter, value) { return value; } -// Above functions were borrowed from here -// https://github.com/nfroidure/strict-qs/blob/master/src/index.js#L221-L238 -// TODO: Export it on strict-qs -// and import it here -export function parseReentrantNumber(str) { - const value = parseFloat(str); - - if (value.toString(BASE_10) !== str) { - throw new HTTPError( - 400, - 'E_NON_REENTRANT_NUMBER', - str, - value.toString(BASE_10), - ); - } - - return value; -} - -export function parseBoolean(str) { - if ('true' === str) { - return true; - } else if ('false' === str) { - return false; - } - throw new HTTPError(400, 'E_BAD_BOOLEAN', str); -} - function obfuscateEventBody(obfuscator, rawBody) { if (typeof rawBody === 'string') { try { 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 9247117f..0c74ab6c 100644 --- a/packages/whook-create/src/services/__snapshots__/createWhook.test.ts.snap +++ b/packages/whook-create/src/services/__snapshots__/createWhook.test.ts.snap @@ -44,7 +44,7 @@ Object { "writeFileCalls": Array [ Array [ "/home/whoiam/projects/yolo/package.json", - "{\\"name\\":\\"super-project\\",\\"version\\":\\"0.0.0\\",\\"description\\":\\"A new Whook project\\",\\"keywords\\":[\\"whook\\",\\"knifecycle\\",\\"REST\\",\\"HTTP\\",\\"OpenAPI\\",\\"web\\",\\"service\\",\\"handler\\",\\"wrapper\\",\\"example\\"],\\"main\\":\\"dist/index.js\\",\\"types\\":\\"dist/index.d.ts\\",\\"scripts\\":{\\"compile\\":\\"babel --extensions '.ts,.js' src --out-dir=dist --source-maps=true\\",\\"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'\\",\\"precz\\":\\"npm run compile\\",\\"prettier\\":\\"prettier --write 'src/**/*.ts'\\",\\"preversion\\":\\"npm run compile\\",\\"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\\",\\"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\\"},\\"author\\":{\\"name\\":\\"Wayne Campbell\\",\\"email\\":\\"wayne@warner.com\\"},\\"license\\":\\"SEE LICENSE\\",\\"repository\\":{\\"type\\":\\"git\\",\\"url\\":\\"https://github.com/nfroidure/whook.git\\"},\\"bugs\\":{\\"url\\":\\"https://github.com/nfroidure/whook/issues\\"},\\"homepage\\":\\"https://github.com/nfroidure/whook\\",\\"dependencies\\":{\\"@whook/authorization\\":\\"\\",\\"@whook/cli\\":\\"\\",\\"@whook/cors\\":\\"\\",\\"@whook/http-router\\":\\"\\",\\"@whook/swagger-ui\\":\\"\\",\\"@whook/whook\\":\\"\\",\\"common-services\\":\\"^7.0.0\\",\\"ecstatic\\":\\"^4.1.2\\",\\"http-auth-utils\\":\\"^2.3.0\\",\\"knifecycle\\":\\"^9.0.0\\",\\"strict-qs\\":\\"^6.0.0\\",\\"yerror\\":\\"^5.0.0\\",\\"yhttperror\\":\\"^5.0.0\\"},\\"devDependencies\\":{\\"@babel/cli\\":\\"^7.8.4\\",\\"@babel/core\\":\\"^7.8.7\\",\\"@babel/node\\":\\"^7.2.2\\",\\"@babel/plugin-proposal-class-properties\\":\\"^7.8.3\\",\\"@babel/plugin-proposal-object-rest-spread\\":\\"^7.8.3\\",\\"@babel/preset-env\\":\\"^7.8.7\\",\\"@babel/preset-typescript\\":\\"^7.8.3\\",\\"@babel/register\\":\\"^7.8.6\\",\\"@types/jest\\":\\"^24.9.0\\",\\"@typescript-eslint/eslint-plugin\\":\\"^2.24.0\\",\\"@typescript-eslint/parser\\":\\"^2.24.0\\",\\"axios\\":\\"^0.19.0\\",\\"babel-eslint\\":\\"^10.1.0\\",\\"babel-plugin-knifecycle\\":\\"^1.2.0\\",\\"eslint\\":\\"^6.8.0\\",\\"eslint-plugin-prettier\\":\\"^3.1.2\\",\\"jest\\":\\"^25.1.0\\",\\"jsdoc-to-markdown\\":\\"^4.0.1\\",\\"openapi-schema-validator\\":\\"^3.0.3\\",\\"prettier\\":\\"^1.19.1\\",\\"rimraf\\":\\"^3.0.2\\",\\"typescript\\":\\"^3.8.3\\"},\\"contributors\\":[],\\"engines\\":{\\"node\\":\\">=10.19.0\\"},\\"files\\":[\\"bin\\",\\"dist\\",\\"src\\",\\"LICENSE\\",\\"README.md\\",\\"CHANGELOG.md\\"],\\"eslintConfig\\":{\\"extends\\":\\"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\\"],\\"overrides\\":[{\\"files\\":[\\"*.ts\\"],\\"rules\\":{\\"no-unused-vars\\":[1,{\\"args\\":\\"none\\"}]}}]},\\"prettier\\":{\\"semi\\":true,\\"printWidth\\":80,\\"singleQuote\\":true,\\"trailingComma\\":\\"all\\",\\"proseWrap\\":\\"always\\"},\\"babel\\":{\\"presets\\":[\\"@babel/typescript\\",[\\"@babel/env\\",{\\"targets\\":{\\"node\\":\\"10.19.0\\"}}]],\\"plugins\\":[\\"@babel/proposal-class-properties\\",\\"@babel/plugin-proposal-object-rest-spread\\",\\"babel-plugin-knifecycle\\"]},\\"jest\\":{\\"coverageReporters\\":[\\"lcov\\",\\"html\\"],\\"testPathIgnorePatterns\\":[\\"/node_modules/\\"],\\"roots\\":[\\"/src\\"],\\"testEnvironment\\":\\"node\\"}}", + "{\\"name\\":\\"super-project\\",\\"version\\":\\"0.0.0\\",\\"description\\":\\"A new Whook project\\",\\"keywords\\":[\\"whook\\",\\"knifecycle\\",\\"REST\\",\\"HTTP\\",\\"OpenAPI\\",\\"web\\",\\"service\\",\\"handler\\",\\"wrapper\\",\\"example\\"],\\"main\\":\\"dist/index.js\\",\\"types\\":\\"dist/index.d.ts\\",\\"scripts\\":{\\"compile\\":\\"babel --extensions '.ts,.js' src --out-dir=dist --source-maps=true\\",\\"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'\\",\\"precz\\":\\"npm run compile\\",\\"prettier\\":\\"prettier --write 'src/**/*.ts'\\",\\"preversion\\":\\"npm run compile\\",\\"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\\",\\"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\\"},\\"author\\":{\\"name\\":\\"Wayne Campbell\\",\\"email\\":\\"wayne@warner.com\\"},\\"license\\":\\"SEE LICENSE\\",\\"repository\\":{\\"type\\":\\"git\\",\\"url\\":\\"https://github.com/nfroidure/whook.git\\"},\\"bugs\\":{\\"url\\":\\"https://github.com/nfroidure/whook/issues\\"},\\"homepage\\":\\"https://github.com/nfroidure/whook\\",\\"dependencies\\":{\\"@whook/authorization\\":\\"\\",\\"@whook/cli\\":\\"\\",\\"@whook/cors\\":\\"\\",\\"@whook/http-router\\":\\"\\",\\"@whook/swagger-ui\\":\\"\\",\\"@whook/whook\\":\\"\\",\\"common-services\\":\\"^7.0.0\\",\\"ecstatic\\":\\"^4.1.2\\",\\"http-auth-utils\\":\\"^2.3.0\\",\\"knifecycle\\":\\"^9.0.0\\",\\"strict-qs\\":\\"^6.0.1\\",\\"yerror\\":\\"^5.0.0\\",\\"yhttperror\\":\\"^5.0.0\\"},\\"devDependencies\\":{\\"@babel/cli\\":\\"^7.8.4\\",\\"@babel/core\\":\\"^7.8.7\\",\\"@babel/node\\":\\"^7.2.2\\",\\"@babel/plugin-proposal-class-properties\\":\\"^7.8.3\\",\\"@babel/plugin-proposal-object-rest-spread\\":\\"^7.8.3\\",\\"@babel/preset-env\\":\\"^7.8.7\\",\\"@babel/preset-typescript\\":\\"^7.8.3\\",\\"@babel/register\\":\\"^7.8.6\\",\\"@types/jest\\":\\"^24.9.0\\",\\"@typescript-eslint/eslint-plugin\\":\\"^2.24.0\\",\\"@typescript-eslint/parser\\":\\"^2.24.0\\",\\"axios\\":\\"^0.19.0\\",\\"babel-eslint\\":\\"^10.1.0\\",\\"babel-plugin-knifecycle\\":\\"^1.2.0\\",\\"eslint\\":\\"^6.8.0\\",\\"eslint-plugin-prettier\\":\\"^3.1.2\\",\\"jest\\":\\"^25.1.0\\",\\"jsdoc-to-markdown\\":\\"^4.0.1\\",\\"openapi-schema-validator\\":\\"^3.0.3\\",\\"prettier\\":\\"^1.19.1\\",\\"rimraf\\":\\"^3.0.2\\",\\"typescript\\":\\"^3.8.3\\"},\\"contributors\\":[],\\"engines\\":{\\"node\\":\\">=10.19.0\\"},\\"files\\":[\\"bin\\",\\"dist\\",\\"src\\",\\"LICENSE\\",\\"README.md\\",\\"CHANGELOG.md\\"],\\"eslintConfig\\":{\\"extends\\":\\"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\\"],\\"overrides\\":[{\\"files\\":[\\"*.ts\\"],\\"rules\\":{\\"no-unused-vars\\":[1,{\\"args\\":\\"none\\"}]}}]},\\"prettier\\":{\\"semi\\":true,\\"printWidth\\":80,\\"singleQuote\\":true,\\"trailingComma\\":\\"all\\",\\"proseWrap\\":\\"always\\"},\\"babel\\":{\\"presets\\":[\\"@babel/typescript\\",[\\"@babel/env\\",{\\"targets\\":{\\"node\\":\\"10.19.0\\"}}]],\\"plugins\\":[\\"@babel/proposal-class-properties\\",\\"@babel/plugin-proposal-object-rest-spread\\",\\"babel-plugin-knifecycle\\"]},\\"jest\\":{\\"coverageReporters\\":[\\"lcov\\",\\"html\\"],\\"testPathIgnorePatterns\\":[\\"/node_modules/\\"],\\"roots\\":[\\"/src\\"],\\"testEnvironment\\":\\"node\\"}}", ], Array [ "/home/whoiam/projects/yolo/LICENSE", @@ -153,7 +153,7 @@ Object { "writeFileCalls": Array [ Array [ "/home/whoiam/projects/yolo/package.json", - "{\\"name\\":\\"super-project\\",\\"version\\":\\"0.0.0\\",\\"description\\":\\"A new Whook project\\",\\"keywords\\":[\\"whook\\",\\"knifecycle\\",\\"REST\\",\\"HTTP\\",\\"OpenAPI\\",\\"web\\",\\"service\\",\\"handler\\",\\"wrapper\\",\\"example\\"],\\"main\\":\\"dist/index.js\\",\\"types\\":\\"dist/index.d.ts\\",\\"scripts\\":{\\"compile\\":\\"babel --extensions '.ts,.js' src --out-dir=dist --source-maps=true\\",\\"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'\\",\\"precz\\":\\"npm run compile\\",\\"prettier\\":\\"prettier --write 'src/**/*.ts'\\",\\"preversion\\":\\"npm run compile\\",\\"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\\",\\"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\\"},\\"author\\":{\\"name\\":\\"Wayne Campbell\\",\\"email\\":\\"wayne@warner.com\\"},\\"license\\":\\"SEE LICENSE\\",\\"repository\\":{\\"type\\":\\"git\\",\\"url\\":\\"https://github.com/nfroidure/whook.git\\"},\\"bugs\\":{\\"url\\":\\"https://github.com/nfroidure/whook/issues\\"},\\"homepage\\":\\"https://github.com/nfroidure/whook\\",\\"dependencies\\":{\\"@whook/authorization\\":\\"\\",\\"@whook/cli\\":\\"\\",\\"@whook/cors\\":\\"\\",\\"@whook/http-router\\":\\"\\",\\"@whook/swagger-ui\\":\\"\\",\\"@whook/whook\\":\\"\\",\\"common-services\\":\\"^7.0.0\\",\\"ecstatic\\":\\"^4.1.2\\",\\"http-auth-utils\\":\\"^2.3.0\\",\\"knifecycle\\":\\"^9.0.0\\",\\"strict-qs\\":\\"^6.0.0\\",\\"yerror\\":\\"^5.0.0\\",\\"yhttperror\\":\\"^5.0.0\\"},\\"devDependencies\\":{\\"@babel/cli\\":\\"^7.8.4\\",\\"@babel/core\\":\\"^7.8.7\\",\\"@babel/node\\":\\"^7.2.2\\",\\"@babel/plugin-proposal-class-properties\\":\\"^7.8.3\\",\\"@babel/plugin-proposal-object-rest-spread\\":\\"^7.8.3\\",\\"@babel/preset-env\\":\\"^7.8.7\\",\\"@babel/preset-typescript\\":\\"^7.8.3\\",\\"@babel/register\\":\\"^7.8.6\\",\\"@types/jest\\":\\"^24.9.0\\",\\"@typescript-eslint/eslint-plugin\\":\\"^2.24.0\\",\\"@typescript-eslint/parser\\":\\"^2.24.0\\",\\"axios\\":\\"^0.19.0\\",\\"babel-eslint\\":\\"^10.1.0\\",\\"babel-plugin-knifecycle\\":\\"^1.2.0\\",\\"eslint\\":\\"^6.8.0\\",\\"eslint-plugin-prettier\\":\\"^3.1.2\\",\\"jest\\":\\"^25.1.0\\",\\"jsdoc-to-markdown\\":\\"^4.0.1\\",\\"openapi-schema-validator\\":\\"^3.0.3\\",\\"prettier\\":\\"^1.19.1\\",\\"rimraf\\":\\"^3.0.2\\",\\"typescript\\":\\"^3.8.3\\"},\\"contributors\\":[],\\"engines\\":{\\"node\\":\\">=10.19.0\\"},\\"files\\":[\\"bin\\",\\"dist\\",\\"src\\",\\"LICENSE\\",\\"README.md\\",\\"CHANGELOG.md\\"],\\"eslintConfig\\":{\\"extends\\":\\"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\\"],\\"overrides\\":[{\\"files\\":[\\"*.ts\\"],\\"rules\\":{\\"no-unused-vars\\":[1,{\\"args\\":\\"none\\"}]}}]},\\"prettier\\":{\\"semi\\":true,\\"printWidth\\":80,\\"singleQuote\\":true,\\"trailingComma\\":\\"all\\",\\"proseWrap\\":\\"always\\"},\\"babel\\":{\\"presets\\":[\\"@babel/typescript\\",[\\"@babel/env\\",{\\"targets\\":{\\"node\\":\\"10.19.0\\"}}]],\\"plugins\\":[\\"@babel/proposal-class-properties\\",\\"@babel/plugin-proposal-object-rest-spread\\",\\"babel-plugin-knifecycle\\"]},\\"jest\\":{\\"coverageReporters\\":[\\"lcov\\",\\"html\\"],\\"testPathIgnorePatterns\\":[\\"/node_modules/\\"],\\"roots\\":[\\"/src\\"],\\"testEnvironment\\":\\"node\\"}}", + "{\\"name\\":\\"super-project\\",\\"version\\":\\"0.0.0\\",\\"description\\":\\"A new Whook project\\",\\"keywords\\":[\\"whook\\",\\"knifecycle\\",\\"REST\\",\\"HTTP\\",\\"OpenAPI\\",\\"web\\",\\"service\\",\\"handler\\",\\"wrapper\\",\\"example\\"],\\"main\\":\\"dist/index.js\\",\\"types\\":\\"dist/index.d.ts\\",\\"scripts\\":{\\"compile\\":\\"babel --extensions '.ts,.js' src --out-dir=dist --source-maps=true\\",\\"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'\\",\\"precz\\":\\"npm run compile\\",\\"prettier\\":\\"prettier --write 'src/**/*.ts'\\",\\"preversion\\":\\"npm run compile\\",\\"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\\",\\"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\\"},\\"author\\":{\\"name\\":\\"Wayne Campbell\\",\\"email\\":\\"wayne@warner.com\\"},\\"license\\":\\"SEE LICENSE\\",\\"repository\\":{\\"type\\":\\"git\\",\\"url\\":\\"https://github.com/nfroidure/whook.git\\"},\\"bugs\\":{\\"url\\":\\"https://github.com/nfroidure/whook/issues\\"},\\"homepage\\":\\"https://github.com/nfroidure/whook\\",\\"dependencies\\":{\\"@whook/authorization\\":\\"\\",\\"@whook/cli\\":\\"\\",\\"@whook/cors\\":\\"\\",\\"@whook/http-router\\":\\"\\",\\"@whook/swagger-ui\\":\\"\\",\\"@whook/whook\\":\\"\\",\\"common-services\\":\\"^7.0.0\\",\\"ecstatic\\":\\"^4.1.2\\",\\"http-auth-utils\\":\\"^2.3.0\\",\\"knifecycle\\":\\"^9.0.0\\",\\"strict-qs\\":\\"^6.0.1\\",\\"yerror\\":\\"^5.0.0\\",\\"yhttperror\\":\\"^5.0.0\\"},\\"devDependencies\\":{\\"@babel/cli\\":\\"^7.8.4\\",\\"@babel/core\\":\\"^7.8.7\\",\\"@babel/node\\":\\"^7.2.2\\",\\"@babel/plugin-proposal-class-properties\\":\\"^7.8.3\\",\\"@babel/plugin-proposal-object-rest-spread\\":\\"^7.8.3\\",\\"@babel/preset-env\\":\\"^7.8.7\\",\\"@babel/preset-typescript\\":\\"^7.8.3\\",\\"@babel/register\\":\\"^7.8.6\\",\\"@types/jest\\":\\"^24.9.0\\",\\"@typescript-eslint/eslint-plugin\\":\\"^2.24.0\\",\\"@typescript-eslint/parser\\":\\"^2.24.0\\",\\"axios\\":\\"^0.19.0\\",\\"babel-eslint\\":\\"^10.1.0\\",\\"babel-plugin-knifecycle\\":\\"^1.2.0\\",\\"eslint\\":\\"^6.8.0\\",\\"eslint-plugin-prettier\\":\\"^3.1.2\\",\\"jest\\":\\"^25.1.0\\",\\"jsdoc-to-markdown\\":\\"^4.0.1\\",\\"openapi-schema-validator\\":\\"^3.0.3\\",\\"prettier\\":\\"^1.19.1\\",\\"rimraf\\":\\"^3.0.2\\",\\"typescript\\":\\"^3.8.3\\"},\\"contributors\\":[],\\"engines\\":{\\"node\\":\\">=10.19.0\\"},\\"files\\":[\\"bin\\",\\"dist\\",\\"src\\",\\"LICENSE\\",\\"README.md\\",\\"CHANGELOG.md\\"],\\"eslintConfig\\":{\\"extends\\":\\"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\\"],\\"overrides\\":[{\\"files\\":[\\"*.ts\\"],\\"rules\\":{\\"no-unused-vars\\":[1,{\\"args\\":\\"none\\"}]}}]},\\"prettier\\":{\\"semi\\":true,\\"printWidth\\":80,\\"singleQuote\\":true,\\"trailingComma\\":\\"all\\",\\"proseWrap\\":\\"always\\"},\\"babel\\":{\\"presets\\":[\\"@babel/typescript\\",[\\"@babel/env\\",{\\"targets\\":{\\"node\\":\\"10.19.0\\"}}]],\\"plugins\\":[\\"@babel/proposal-class-properties\\",\\"@babel/plugin-proposal-object-rest-spread\\",\\"babel-plugin-knifecycle\\"]},\\"jest\\":{\\"coverageReporters\\":[\\"lcov\\",\\"html\\"],\\"testPathIgnorePatterns\\":[\\"/node_modules/\\"],\\"roots\\":[\\"/src\\"],\\"testEnvironment\\":\\"node\\"}}", ], Array [ "/home/whoiam/projects/yolo/LICENSE", @@ -334,7 +334,7 @@ Object { "writeFileCalls": Array [ Array [ "/home/whoiam/projects/yolo/package.json", - "{\\"name\\":\\"super-project\\",\\"version\\":\\"0.0.0\\",\\"description\\":\\"A new Whook project\\",\\"keywords\\":[\\"whook\\",\\"knifecycle\\",\\"REST\\",\\"HTTP\\",\\"OpenAPI\\",\\"web\\",\\"service\\",\\"handler\\",\\"wrapper\\",\\"example\\"],\\"main\\":\\"dist/index.js\\",\\"types\\":\\"dist/index.d.ts\\",\\"scripts\\":{\\"compile\\":\\"babel --extensions '.ts,.js' src --out-dir=dist --source-maps=true\\",\\"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'\\",\\"precz\\":\\"npm run compile\\",\\"prettier\\":\\"prettier --write 'src/**/*.ts'\\",\\"preversion\\":\\"npm run compile\\",\\"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\\",\\"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\\"},\\"author\\":{\\"name\\":\\"Wayne Campbell\\",\\"email\\":\\"wayne@warner.com\\"},\\"license\\":\\"SEE LICENSE\\",\\"repository\\":{\\"type\\":\\"git\\",\\"url\\":\\"https://github.com/nfroidure/whook.git\\"},\\"bugs\\":{\\"url\\":\\"https://github.com/nfroidure/whook/issues\\"},\\"homepage\\":\\"https://github.com/nfroidure/whook\\",\\"dependencies\\":{\\"@whook/authorization\\":\\"\\",\\"@whook/cli\\":\\"\\",\\"@whook/cors\\":\\"\\",\\"@whook/http-router\\":\\"\\",\\"@whook/swagger-ui\\":\\"\\",\\"@whook/whook\\":\\"\\",\\"common-services\\":\\"^7.0.0\\",\\"ecstatic\\":\\"^4.1.2\\",\\"http-auth-utils\\":\\"^2.3.0\\",\\"knifecycle\\":\\"^9.0.0\\",\\"strict-qs\\":\\"^6.0.0\\",\\"yerror\\":\\"^5.0.0\\",\\"yhttperror\\":\\"^5.0.0\\"},\\"devDependencies\\":{\\"@babel/cli\\":\\"^7.8.4\\",\\"@babel/core\\":\\"^7.8.7\\",\\"@babel/node\\":\\"^7.2.2\\",\\"@babel/plugin-proposal-class-properties\\":\\"^7.8.3\\",\\"@babel/plugin-proposal-object-rest-spread\\":\\"^7.8.3\\",\\"@babel/preset-env\\":\\"^7.8.7\\",\\"@babel/preset-typescript\\":\\"^7.8.3\\",\\"@babel/register\\":\\"^7.8.6\\",\\"@types/jest\\":\\"^24.9.0\\",\\"@typescript-eslint/eslint-plugin\\":\\"^2.24.0\\",\\"@typescript-eslint/parser\\":\\"^2.24.0\\",\\"axios\\":\\"^0.19.0\\",\\"babel-eslint\\":\\"^10.1.0\\",\\"babel-plugin-knifecycle\\":\\"^1.2.0\\",\\"eslint\\":\\"^6.8.0\\",\\"eslint-plugin-prettier\\":\\"^3.1.2\\",\\"jest\\":\\"^25.1.0\\",\\"jsdoc-to-markdown\\":\\"^4.0.1\\",\\"openapi-schema-validator\\":\\"^3.0.3\\",\\"prettier\\":\\"^1.19.1\\",\\"rimraf\\":\\"^3.0.2\\",\\"typescript\\":\\"^3.8.3\\"},\\"contributors\\":[],\\"engines\\":{\\"node\\":\\">=10.19.0\\"},\\"files\\":[\\"bin\\",\\"dist\\",\\"src\\",\\"LICENSE\\",\\"README.md\\",\\"CHANGELOG.md\\"],\\"eslintConfig\\":{\\"extends\\":\\"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\\"],\\"overrides\\":[{\\"files\\":[\\"*.ts\\"],\\"rules\\":{\\"no-unused-vars\\":[1,{\\"args\\":\\"none\\"}]}}]},\\"prettier\\":{\\"semi\\":true,\\"printWidth\\":80,\\"singleQuote\\":true,\\"trailingComma\\":\\"all\\",\\"proseWrap\\":\\"always\\"},\\"babel\\":{\\"presets\\":[\\"@babel/typescript\\",[\\"@babel/env\\",{\\"targets\\":{\\"node\\":\\"10.19.0\\"}}]],\\"plugins\\":[\\"@babel/proposal-class-properties\\",\\"@babel/plugin-proposal-object-rest-spread\\",\\"babel-plugin-knifecycle\\"]},\\"jest\\":{\\"coverageReporters\\":[\\"lcov\\",\\"html\\"],\\"testPathIgnorePatterns\\":[\\"/node_modules/\\"],\\"roots\\":[\\"/src\\"],\\"testEnvironment\\":\\"node\\"}}", + "{\\"name\\":\\"super-project\\",\\"version\\":\\"0.0.0\\",\\"description\\":\\"A new Whook project\\",\\"keywords\\":[\\"whook\\",\\"knifecycle\\",\\"REST\\",\\"HTTP\\",\\"OpenAPI\\",\\"web\\",\\"service\\",\\"handler\\",\\"wrapper\\",\\"example\\"],\\"main\\":\\"dist/index.js\\",\\"types\\":\\"dist/index.d.ts\\",\\"scripts\\":{\\"compile\\":\\"babel --extensions '.ts,.js' src --out-dir=dist --source-maps=true\\",\\"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'\\",\\"precz\\":\\"npm run compile\\",\\"prettier\\":\\"prettier --write 'src/**/*.ts'\\",\\"preversion\\":\\"npm run compile\\",\\"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\\",\\"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\\"},\\"author\\":{\\"name\\":\\"Wayne Campbell\\",\\"email\\":\\"wayne@warner.com\\"},\\"license\\":\\"SEE LICENSE\\",\\"repository\\":{\\"type\\":\\"git\\",\\"url\\":\\"https://github.com/nfroidure/whook.git\\"},\\"bugs\\":{\\"url\\":\\"https://github.com/nfroidure/whook/issues\\"},\\"homepage\\":\\"https://github.com/nfroidure/whook\\",\\"dependencies\\":{\\"@whook/authorization\\":\\"\\",\\"@whook/cli\\":\\"\\",\\"@whook/cors\\":\\"\\",\\"@whook/http-router\\":\\"\\",\\"@whook/swagger-ui\\":\\"\\",\\"@whook/whook\\":\\"\\",\\"common-services\\":\\"^7.0.0\\",\\"ecstatic\\":\\"^4.1.2\\",\\"http-auth-utils\\":\\"^2.3.0\\",\\"knifecycle\\":\\"^9.0.0\\",\\"strict-qs\\":\\"^6.0.1\\",\\"yerror\\":\\"^5.0.0\\",\\"yhttperror\\":\\"^5.0.0\\"},\\"devDependencies\\":{\\"@babel/cli\\":\\"^7.8.4\\",\\"@babel/core\\":\\"^7.8.7\\",\\"@babel/node\\":\\"^7.2.2\\",\\"@babel/plugin-proposal-class-properties\\":\\"^7.8.3\\",\\"@babel/plugin-proposal-object-rest-spread\\":\\"^7.8.3\\",\\"@babel/preset-env\\":\\"^7.8.7\\",\\"@babel/preset-typescript\\":\\"^7.8.3\\",\\"@babel/register\\":\\"^7.8.6\\",\\"@types/jest\\":\\"^24.9.0\\",\\"@typescript-eslint/eslint-plugin\\":\\"^2.24.0\\",\\"@typescript-eslint/parser\\":\\"^2.24.0\\",\\"axios\\":\\"^0.19.0\\",\\"babel-eslint\\":\\"^10.1.0\\",\\"babel-plugin-knifecycle\\":\\"^1.2.0\\",\\"eslint\\":\\"^6.8.0\\",\\"eslint-plugin-prettier\\":\\"^3.1.2\\",\\"jest\\":\\"^25.1.0\\",\\"jsdoc-to-markdown\\":\\"^4.0.1\\",\\"openapi-schema-validator\\":\\"^3.0.3\\",\\"prettier\\":\\"^1.19.1\\",\\"rimraf\\":\\"^3.0.2\\",\\"typescript\\":\\"^3.8.3\\"},\\"contributors\\":[],\\"engines\\":{\\"node\\":\\">=10.19.0\\"},\\"files\\":[\\"bin\\",\\"dist\\",\\"src\\",\\"LICENSE\\",\\"README.md\\",\\"CHANGELOG.md\\"],\\"eslintConfig\\":{\\"extends\\":\\"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\\"],\\"overrides\\":[{\\"files\\":[\\"*.ts\\"],\\"rules\\":{\\"no-unused-vars\\":[1,{\\"args\\":\\"none\\"}]}}]},\\"prettier\\":{\\"semi\\":true,\\"printWidth\\":80,\\"singleQuote\\":true,\\"trailingComma\\":\\"all\\",\\"proseWrap\\":\\"always\\"},\\"babel\\":{\\"presets\\":[\\"@babel/typescript\\",[\\"@babel/env\\",{\\"targets\\":{\\"node\\":\\"10.19.0\\"}}]],\\"plugins\\":[\\"@babel/proposal-class-properties\\",\\"@babel/plugin-proposal-object-rest-spread\\",\\"babel-plugin-knifecycle\\"]},\\"jest\\":{\\"coverageReporters\\":[\\"lcov\\",\\"html\\"],\\"testPathIgnorePatterns\\":[\\"/node_modules/\\"],\\"roots\\":[\\"/src\\"],\\"testEnvironment\\":\\"node\\"}}", ], Array [ "/home/whoiam/projects/yolo/LICENSE", @@ -502,7 +502,7 @@ Object { "writeFileCalls": Array [ Array [ "/home/whoiam/projects/yolo/package.json", - "{\\"name\\":\\"super-project\\",\\"version\\":\\"0.0.0\\",\\"description\\":\\"A new Whook project\\",\\"keywords\\":[\\"whook\\",\\"knifecycle\\",\\"REST\\",\\"HTTP\\",\\"OpenAPI\\",\\"web\\",\\"service\\",\\"handler\\",\\"wrapper\\",\\"example\\"],\\"main\\":\\"dist/index.js\\",\\"types\\":\\"dist/index.d.ts\\",\\"scripts\\":{\\"compile\\":\\"babel --extensions '.ts,.js' src --out-dir=dist --source-maps=true\\",\\"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'\\",\\"precz\\":\\"npm run compile\\",\\"prettier\\":\\"prettier --write 'src/**/*.ts'\\",\\"preversion\\":\\"npm run compile\\",\\"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\\",\\"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\\"},\\"author\\":{\\"name\\":\\"Wayne Campbell\\",\\"email\\":\\"wayne@warner.com\\"},\\"license\\":\\"SEE LICENSE\\",\\"repository\\":{\\"type\\":\\"git\\",\\"url\\":\\"https://github.com/nfroidure/whook.git\\"},\\"bugs\\":{\\"url\\":\\"https://github.com/nfroidure/whook/issues\\"},\\"homepage\\":\\"https://github.com/nfroidure/whook\\",\\"dependencies\\":{\\"@whook/authorization\\":\\"\\",\\"@whook/cli\\":\\"\\",\\"@whook/cors\\":\\"\\",\\"@whook/http-router\\":\\"\\",\\"@whook/swagger-ui\\":\\"\\",\\"@whook/whook\\":\\"\\",\\"common-services\\":\\"^7.0.0\\",\\"ecstatic\\":\\"^4.1.2\\",\\"http-auth-utils\\":\\"^2.3.0\\",\\"knifecycle\\":\\"^9.0.0\\",\\"strict-qs\\":\\"^6.0.0\\",\\"yerror\\":\\"^5.0.0\\",\\"yhttperror\\":\\"^5.0.0\\"},\\"devDependencies\\":{\\"@babel/cli\\":\\"^7.8.4\\",\\"@babel/core\\":\\"^7.8.7\\",\\"@babel/node\\":\\"^7.2.2\\",\\"@babel/plugin-proposal-class-properties\\":\\"^7.8.3\\",\\"@babel/plugin-proposal-object-rest-spread\\":\\"^7.8.3\\",\\"@babel/preset-env\\":\\"^7.8.7\\",\\"@babel/preset-typescript\\":\\"^7.8.3\\",\\"@babel/register\\":\\"^7.8.6\\",\\"@types/jest\\":\\"^24.9.0\\",\\"@typescript-eslint/eslint-plugin\\":\\"^2.24.0\\",\\"@typescript-eslint/parser\\":\\"^2.24.0\\",\\"axios\\":\\"^0.19.0\\",\\"babel-eslint\\":\\"^10.1.0\\",\\"babel-plugin-knifecycle\\":\\"^1.2.0\\",\\"eslint\\":\\"^6.8.0\\",\\"eslint-plugin-prettier\\":\\"^3.1.2\\",\\"jest\\":\\"^25.1.0\\",\\"jsdoc-to-markdown\\":\\"^4.0.1\\",\\"openapi-schema-validator\\":\\"^3.0.3\\",\\"prettier\\":\\"^1.19.1\\",\\"rimraf\\":\\"^3.0.2\\",\\"typescript\\":\\"^3.8.3\\"},\\"contributors\\":[],\\"engines\\":{\\"node\\":\\">=10.19.0\\"},\\"files\\":[\\"bin\\",\\"dist\\",\\"src\\",\\"LICENSE\\",\\"README.md\\",\\"CHANGELOG.md\\"],\\"eslintConfig\\":{\\"extends\\":\\"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\\"],\\"overrides\\":[{\\"files\\":[\\"*.ts\\"],\\"rules\\":{\\"no-unused-vars\\":[1,{\\"args\\":\\"none\\"}]}}]},\\"prettier\\":{\\"semi\\":true,\\"printWidth\\":80,\\"singleQuote\\":true,\\"trailingComma\\":\\"all\\",\\"proseWrap\\":\\"always\\"},\\"babel\\":{\\"presets\\":[\\"@babel/typescript\\",[\\"@babel/env\\",{\\"targets\\":{\\"node\\":\\"10.19.0\\"}}]],\\"plugins\\":[\\"@babel/proposal-class-properties\\",\\"@babel/plugin-proposal-object-rest-spread\\",\\"babel-plugin-knifecycle\\"]},\\"jest\\":{\\"coverageReporters\\":[\\"lcov\\",\\"html\\"],\\"testPathIgnorePatterns\\":[\\"/node_modules/\\"],\\"roots\\":[\\"/src\\"],\\"testEnvironment\\":\\"node\\"}}", + "{\\"name\\":\\"super-project\\",\\"version\\":\\"0.0.0\\",\\"description\\":\\"A new Whook project\\",\\"keywords\\":[\\"whook\\",\\"knifecycle\\",\\"REST\\",\\"HTTP\\",\\"OpenAPI\\",\\"web\\",\\"service\\",\\"handler\\",\\"wrapper\\",\\"example\\"],\\"main\\":\\"dist/index.js\\",\\"types\\":\\"dist/index.d.ts\\",\\"scripts\\":{\\"compile\\":\\"babel --extensions '.ts,.js' src --out-dir=dist --source-maps=true\\",\\"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'\\",\\"precz\\":\\"npm run compile\\",\\"prettier\\":\\"prettier --write 'src/**/*.ts'\\",\\"preversion\\":\\"npm run compile\\",\\"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\\",\\"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\\"},\\"author\\":{\\"name\\":\\"Wayne Campbell\\",\\"email\\":\\"wayne@warner.com\\"},\\"license\\":\\"SEE LICENSE\\",\\"repository\\":{\\"type\\":\\"git\\",\\"url\\":\\"https://github.com/nfroidure/whook.git\\"},\\"bugs\\":{\\"url\\":\\"https://github.com/nfroidure/whook/issues\\"},\\"homepage\\":\\"https://github.com/nfroidure/whook\\",\\"dependencies\\":{\\"@whook/authorization\\":\\"\\",\\"@whook/cli\\":\\"\\",\\"@whook/cors\\":\\"\\",\\"@whook/http-router\\":\\"\\",\\"@whook/swagger-ui\\":\\"\\",\\"@whook/whook\\":\\"\\",\\"common-services\\":\\"^7.0.0\\",\\"ecstatic\\":\\"^4.1.2\\",\\"http-auth-utils\\":\\"^2.3.0\\",\\"knifecycle\\":\\"^9.0.0\\",\\"strict-qs\\":\\"^6.0.1\\",\\"yerror\\":\\"^5.0.0\\",\\"yhttperror\\":\\"^5.0.0\\"},\\"devDependencies\\":{\\"@babel/cli\\":\\"^7.8.4\\",\\"@babel/core\\":\\"^7.8.7\\",\\"@babel/node\\":\\"^7.2.2\\",\\"@babel/plugin-proposal-class-properties\\":\\"^7.8.3\\",\\"@babel/plugin-proposal-object-rest-spread\\":\\"^7.8.3\\",\\"@babel/preset-env\\":\\"^7.8.7\\",\\"@babel/preset-typescript\\":\\"^7.8.3\\",\\"@babel/register\\":\\"^7.8.6\\",\\"@types/jest\\":\\"^24.9.0\\",\\"@typescript-eslint/eslint-plugin\\":\\"^2.24.0\\",\\"@typescript-eslint/parser\\":\\"^2.24.0\\",\\"axios\\":\\"^0.19.0\\",\\"babel-eslint\\":\\"^10.1.0\\",\\"babel-plugin-knifecycle\\":\\"^1.2.0\\",\\"eslint\\":\\"^6.8.0\\",\\"eslint-plugin-prettier\\":\\"^3.1.2\\",\\"jest\\":\\"^25.1.0\\",\\"jsdoc-to-markdown\\":\\"^4.0.1\\",\\"openapi-schema-validator\\":\\"^3.0.3\\",\\"prettier\\":\\"^1.19.1\\",\\"rimraf\\":\\"^3.0.2\\",\\"typescript\\":\\"^3.8.3\\"},\\"contributors\\":[],\\"engines\\":{\\"node\\":\\">=10.19.0\\"},\\"files\\":[\\"bin\\",\\"dist\\",\\"src\\",\\"LICENSE\\",\\"README.md\\",\\"CHANGELOG.md\\"],\\"eslintConfig\\":{\\"extends\\":\\"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\\"],\\"overrides\\":[{\\"files\\":[\\"*.ts\\"],\\"rules\\":{\\"no-unused-vars\\":[1,{\\"args\\":\\"none\\"}]}}]},\\"prettier\\":{\\"semi\\":true,\\"printWidth\\":80,\\"singleQuote\\":true,\\"trailingComma\\":\\"all\\",\\"proseWrap\\":\\"always\\"},\\"babel\\":{\\"presets\\":[\\"@babel/typescript\\",[\\"@babel/env\\",{\\"targets\\":{\\"node\\":\\"10.19.0\\"}}]],\\"plugins\\":[\\"@babel/proposal-class-properties\\",\\"@babel/plugin-proposal-object-rest-spread\\",\\"babel-plugin-knifecycle\\"]},\\"jest\\":{\\"coverageReporters\\":[\\"lcov\\",\\"html\\"],\\"testPathIgnorePatterns\\":[\\"/node_modules/\\"],\\"roots\\":[\\"/src\\"],\\"testEnvironment\\":\\"node\\"}}", ], Array [ "/home/whoiam/projects/yolo/LICENSE", diff --git a/packages/whook-example/package.json b/packages/whook-example/package.json index 4616f33d..f3510ddf 100644 --- a/packages/whook-example/package.json +++ b/packages/whook-example/package.json @@ -83,7 +83,7 @@ "ecstatic": "^4.1.2", "http-auth-utils": "^2.3.0", "knifecycle": "^9.0.0", - "strict-qs": "^6.0.0", + "strict-qs": "^6.0.1", "yerror": "^5.0.0", "yhttperror": "^5.0.0" }, diff --git a/packages/whook-http-router/package.json b/packages/whook-http-router/package.json index e768dc4c..dee63ebc 100644 --- a/packages/whook-http-router/package.json +++ b/packages/whook-http-router/package.json @@ -67,7 +67,7 @@ "openapi-types": "^1.3.5", "qs": "^6.9.1", "siso": "^3.2.0", - "strict-qs": "^6.0.0", + "strict-qs": "^6.0.1", "swagger-parser": "^8.0.4", "yerror": "^5.0.0", "yhttperror": "^5.0.0"