From 756fcaaa13a9b348c2305d4ab49107bb1ea6a908 Mon Sep 17 00:00:00 2001 From: joelchu Date: Sun, 22 Sep 2019 13:04:50 +0800 Subject: [PATCH 1/2] add more debug option to check inside --- packages/contract-cli/package.json | 2 +- packages/contract-cli/src/ast/jsdoc.js | 44 +++++++------------ packages/koa/README.md | 2 +- packages/koa/package.json | 4 +- .../resolvers/mutation/update-ms-service.js | 3 +- 5 files changed, 21 insertions(+), 34 deletions(-) diff --git a/packages/contract-cli/package.json b/packages/contract-cli/package.json index b830c22d..740acd47 100755 --- a/packages/contract-cli/package.json +++ b/packages/contract-cli/package.json @@ -1,6 +1,6 @@ { "name": "jsonql-contract", - "version": "1.7.11", + "version": "1.7.12", "description": "JS API / command line tool to generate the contract.json for jsonql", "main": "index.js", "files": [ diff --git a/packages/contract-cli/src/ast/jsdoc.js b/packages/contract-cli/src/ast/jsdoc.js index 94b6f15e..23d81cc7 100644 --- a/packages/contract-cli/src/ast/jsdoc.js +++ b/packages/contract-cli/src/ast/jsdoc.js @@ -13,14 +13,8 @@ const { NUMBER_TYPE } = require('jsonql-constants') const { JsonqlError } = require('jsonql-errors') -const { - keyBy, - some, - result, - groupBy, - size, - indexOf -} = require('lodash') +const { keyBy, some, result, groupBy, size, indexOf } = require('lodash') + const OBJECT_TYPE = 'object'; const LFT = 'array.<'; const RHT = '>'; @@ -82,12 +76,7 @@ const transformName = function(params) { * @return {object} children with parent as key */ const getChildren = function(params) { - return groupBy(params.filter(p => { - if (p.parent) { - return p; - } - return false; - }), 'parent') + return groupBy(params.filter(p => p.parent ? p : false), 'parent') } /** @@ -122,10 +111,11 @@ const foldParams = function(params) { } /** + * Just hook into the jsdoc.explain API * @param {string} source stringify function * @return {object} result from jsdoc */ -const explain = function(source) { +const explainSync = function(source) { return jsdoc.explainSync({source}) } @@ -143,7 +133,7 @@ const processParams = function(params) { return param; }) } - return false; + return false } /** @@ -157,11 +147,11 @@ const search = function(output, name = '') { // if first search didn't find anything then search by name if (name !== '') { // debug('search by name', name); - return (res.meta && res.meta.code.name === name); + return res.meta && res.meta.code.name === name } // @2019-05-04 we might have another problem, discover that sometime this is not actually true // @TODO find out what the hells going on here - return res.longname === 'module.exports'; + return res.longname === 'module.exports' }).map(res => { return { name: res.meta.code.value || res.meta.code.name, @@ -169,12 +159,9 @@ const search = function(output, name = '') { params: res.params ? ( foldParams( processParams(res.params) ) || false ) : ( res.undocumented ? false : [] ), returns: processParams(res.returns) || false - }; - }).reduce((first, next) => { - if (next) { - return next; } - return false; + }).reduce((first, next) => { + return next || false }, false) } @@ -184,8 +171,9 @@ const search = function(output, name = '') { * @return {promise} resolved with params or throw */ const searchForParams = function(output) { - const result = search(output); + const result = search(output) if (result.name && !result.params) { + debug(`params is no defined?`, result) return search(output, result.name) } return result; @@ -214,13 +202,13 @@ const clearForOutput = function(result, name) { * Final export * @param {string} filePath path to file * @param {string} [name = ''] optional name for error output - * @return {object} destrcuted jsdoc json + * @return {object} destructed jsdoc json */ const getJsdoc = function(source, name = '') { - return clearForOutput( explain( source ), name ) -}; + return clearForOutput( explainSync( source ), name ) +} module.exports = { - explain, +// explainSync, NOT use outside of here getJsdoc } diff --git a/packages/koa/README.md b/packages/koa/README.md index 9280cf00..01f4fdca 100644 --- a/packages/koa/README.md +++ b/packages/koa/README.md @@ -7,7 +7,7 @@ ## BREAKING CHANGE @ V1.4.0 -The module now use named export `jsonqlKoaMiddleware` +The module now use named export `jsonqlKoa` ```js import { jsonqlKoa } from 'jsonql-koa' diff --git a/packages/koa/package.json b/packages/koa/package.json index 4ade4fe0..4af2a80f 100644 --- a/packages/koa/package.json +++ b/packages/koa/package.json @@ -21,7 +21,7 @@ "test:jwt": "DEBUG=jsonql-koa*,jsonql-jwt* ava ./tests/jwt.test.js", "test:jwt-auth": "DEBUG=jsonql-koa* ava ./tests/jwt-auth.test.js", "test:fail": "ava ./tests/fail.test.js", - "test:contract": "DEBUG=jsonql-koa* ava ./tests/contractWithAuth.test.js", + "test:contract": "DEBUG=jsonql-koa*,jsonql-contract* ava ./tests/contractWithAuth.test.js", "test:auth": "DEBUG=jsonql* ava ./tests/auth.test.js", "test:error": "DEBUG=jsonql-koa* ava ./tests/resolverNotFound.test.js", "test:config": "DEBUG=jsonql-* ava ./tests/config.test.js", @@ -72,7 +72,7 @@ "esm": "^3.2.25", "fs-extra": "^8.1.0", "jsonql-constants": "^1.8.3", - "jsonql-contract": "^1.7.10", + "jsonql-contract": "^1.7.11", "jsonql-errors": "^1.1.3", "jsonql-jwt": "^1.3.2", "jsonql-node-client": "^1.1.9", diff --git a/packages/koa/tests/fixtures/resolvers/mutation/update-ms-service.js b/packages/koa/tests/fixtures/resolvers/mutation/update-ms-service.js index 62b17524..244aae63 100644 --- a/packages/koa/tests/fixtures/resolvers/mutation/update-ms-service.js +++ b/packages/koa/tests/fixtures/resolvers/mutation/update-ms-service.js @@ -1,4 +1,5 @@ const debug = require('debug')('jsonql-koa:mutation:update-ms-service') + /** * this will be calling a microserivce setup using the nodeClient * @param {string} payload incoming @@ -6,8 +7,6 @@ const debug = require('debug')('jsonql-koa:mutation:update-ms-service') */ module.exports = async function updateMsService(payload) { const client = await updateMsService.client() - debug(client) - return client.query.subMsService(payload) } -- Gitee From 977ef64b1f6d7283f219e8dc29a5f74864b81b56 Mon Sep 17 00:00:00 2001 From: joelchu Date: Sun, 22 Sep 2019 13:29:53 +0800 Subject: [PATCH 2/2] also check on the output --- packages/contract-cli/src/ast/jsdoc.js | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/contract-cli/src/ast/jsdoc.js b/packages/contract-cli/src/ast/jsdoc.js index 23d81cc7..7ab0195e 100644 --- a/packages/contract-cli/src/ast/jsdoc.js +++ b/packages/contract-cli/src/ast/jsdoc.js @@ -174,6 +174,7 @@ const searchForParams = function(output) { const result = search(output) if (result.name && !result.params) { debug(`params is no defined?`, result) + debug(output) return search(output, result.name) } return result; -- Gitee