krakenjs / generator-swaggerize

Yeoman generator for design-driven apis with swagger 2.0 and krakenjs/swaggerize tools.
Other
70 stars 34 forks source link

yo swaggerize petstore_full.yaml failed #36

Closed BLaurent closed 8 years ago

BLaurent commented 9 years ago

Hi, I tried to play with the petstore_full.yml

The generation seems to failed ... I am using v0.10.38 of node. Regards Ben

Swaggerize Generator
? What would you like to call this project: security
? Your name:
? Your github user name:
? Your email:
? Path (or URL) to swagger document: /Users/benoitlaurent/Downloads/petstore_full.yml
? Express or Hapi: express
   create .jshintrc
   create .gitignore
   create .npmignore
   create server.js
   create package.json
   create README.md
   create config/swagger.json
   create handlers/pets.js
   create handlers/pets/findByStatus.js
   create handlers/pets/findByTags.js
   create handlers/pets/{petId}.js
   create handlers/stores/order.js
   create handlers/stores/order/{orderId}.js
   create handlers/users.js
   create handlers/users/createWithArray.js
   create handlers/users/createWithList.js
   create handlers/users/login.js
   create handlers/users/logout.js
   create handlers/users/{username}.js
   create models/user.js
   create models/category.js
   create models/pet.js
   create models/tag.js
   create models/order.js
undefined:54
_.forEach(Object.keys(body).filter(function (k) { return !!body[k]; }), functi
                 ^
TypeError: Object.keys called on non-object
    at Function.keys (native)
    at eval (eval at template (/Users/benoitlaurent/.node/lib/node_modules/generator-swaggerize/node_modules/yeoman-generator/node_modules/lodash/dist/lodash.js:6306:22), <anonymous>:54:18)
    at Function.forEach (/Users/benoitlaurent/.node/lib/node_modules/generator-swaggerize/node_modules/yeoman-generator/node_modules/lodash/dist/lodash.js:3298:15)
    at eval (eval at template (/Users/benoitlaurent/.node/lib/node_modules/generator-swaggerize/node_modules/yeoman-generator/node_modules/lodash/dist/lodash.js:6306:22), <anonymous>:17:3)
    at underscore [as _engine] (/Users/benoitlaurent/.node/lib/node_modules/generator-swaggerize/node_modules/yeoman-generator/lib/util/engines.js:32:30)
    at engine (/Users/benoitlaurent/.node/lib/node_modules/generator-swaggerize/node_modules/yeoman-generator/lib/actions/actions.js:303:10)
    at template (/Users/benoitlaurent/.node/lib/node_modules/generator-swaggerize/node_modules/yeoman-generator/lib/actions/actions.js:281:15)
    at /Users/benoitlaurent/.node/lib/node_modules/generator-swaggerize/app/index.js:356:18
    at Array.forEach (native)
    at yeoman.generators.Base.extend.tests (/Users/benoitlaurent/.node/lib/node_modules/generator-swaggerize/app/index.js:332:32)
[1]    93206 exit 1     yo swaggerize```
tlivings commented 9 years ago

As pointed out by @teohhanhui there is an assumption that the body parameter will exist. Looking into it.

jscti commented 9 years ago

+1 this bug.

yo swaggerize --only=handlers,models command works but yo swaggerize --only=handlers,models,tests command fails