swagger-cli icon indicating copy to clipboard operation
swagger-cli copied to clipboard

incorrect line numbers reported by validator when dupes are found

Open ubyjvovk opened this issue 9 years ago • 0 comments

Given the following yml:

swagger: '2.0'

definitions:
  Delivery:
    properties:
      deliveryId:
        type: string

  FeedbackMessage:
    properties:
      consumerEmail:
        type: string
      feedbackMessage:
        type: string

  Delivery:
    properties:
      deliveryId:
        type: string

validator will give incorrect line number for found duplicate entries:

~/tt$ swagger validate test.yaml 
SyntaxError: Error parsing "/home/d/tt/test.yaml" 
duplicated mapping key at line 20, column 1:

    ^
    at Function.ono [as syntax] (/usr/lib/node_modules/swagger-cli/node_modules/ono/lib/index.js:67:20)
    at parse (/usr/lib/node_modules/swagger-cli/node_modules/json-schema-ref-parser/lib/parse.js:47:17)
    at /usr/lib/node_modules/swagger-cli/node_modules/json-schema-ref-parser/lib/read.js:70:23
    at lib$es6$promise$$internal$$tryCatch (/usr/lib/node_modules/swagger-cli/node_modules/es6-promise/dist/es6-promise.js:326:16)
    at lib$es6$promise$$internal$$invokeCallback (/usr/lib/node_modules/swagger-cli/node_modules/es6-promise/dist/es6-promise.js:338:17)
    at lib$es6$promise$$internal$$publish (/usr/lib/node_modules/swagger-cli/node_modules/es6-promise/dist/es6-promise.js:309:11)
    at lib$es6$promise$asap$$flush (/usr/lib/node_modules/swagger-cli/node_modules/es6-promise/dist/es6-promise.js:120:9)
    at process._tickCallback (node.js:415:13) 

YAMLException: duplicated mapping key at line 20, column 1:

    ^
    at generateError (/usr/lib/node_modules/swagger-cli/node_modules/js-yaml/lib/js-yaml/loader.js:162:10)
    at throwError (/usr/lib/node_modules/swagger-cli/node_modules/js-yaml/lib/js-yaml/loader.js:168:9)
    at storeMappingPair (/usr/lib/node_modules/swagger-cli/node_modules/js-yaml/lib/js-yaml/loader.js:305:7)
    at readBlockMapping (/usr/lib/node_modules/swagger-cli/node_modules/js-yaml/lib/js-yaml/loader.js:1065:9)
    at composeNode (/usr/lib/node_modules/swagger-cli/node_modules/js-yaml/lib/js-yaml/loader.js:1326:12)
    at readBlockMapping (/usr/lib/node_modules/swagger-cli/node_modules/js-yaml/lib/js-yaml/loader.js:1056:11)
    at composeNode (/usr/lib/node_modules/swagger-cli/node_modules/js-yaml/lib/js-yaml/loader.js:1326:12)
    at readDocument (/usr/lib/node_modules/swagger-cli/node_modules/js-yaml/lib/js-yaml/loader.js:1488:3)
    at loadDocuments (/usr/lib/node_modules/swagger-cli/node_modules/js-yaml/lib/js-yaml/loader.js:1544:5)
    at load (/usr/lib/node_modules/swagger-cli/node_modules/js-yaml/lib/js-yaml/loader.js:1561:19)

ubyjvovk avatar Feb 12 '16 00:02 ubyjvovk