{"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"lint-and-bundle-api-descriptions-with-redocly-cli","__idx":0},"children":["Lint and bundle API descriptions with Redocly CLI"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["It's common to run more than one command on an API description during the API lifecycle."," ","The most common combination is to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["lint"]}," an API description to check it meets the API guidelines, followed by a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["bundle"]}," command to resolve references and produce a single file for another tool to use."," ","This guide shows how to combine these commands."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"lint-and-if-all-is-well-then-bundle","__idx":1},"children":["Lint, and if all is well then bundle"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The workflow described in this guide is illustrated in the diagram below:"]},{"$$mdtype":"Tag","name":"Diagram","attributes":{"data-language":"mermaid","diagramType":"mermaid","diagramSource":"graph LR\n  OpenAPI\n  lint\n  bundle\n  fail\n  success\n\n  OpenAPI --> lint\n  lint-- OK -->bundle\n  lint-- not OK --> fail\n  bundle-- OK -->success\n  bundle-- not OK -->fail\n","diagramHtml":"<svg id=\"diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82\" width=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" class=\"flowchart\" style=\"max-width: 670.171875px;\" viewBox=\"0 0 670.171875 182\" role=\"graphics-document document\" aria-roledescription=\"flowchart-v2\"><style>\n    #diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 foreignObject {\n      overflow: visible;\n    }\n  </style><style>#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 .error-icon{fill:#552222;}#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 .error-text{fill:#552222;stroke:#552222;}#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 .edge-thickness-normal{stroke-width:1px;}#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 .edge-thickness-thick{stroke-width:3.5px;}#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 .edge-pattern-solid{stroke-dasharray:0;}#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 .edge-pattern-dashed{stroke-dasharray:3;}#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 .edge-pattern-dotted{stroke-dasharray:2;}#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 .marker{fill:#333333;stroke:#333333;}#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 .marker.cross{stroke:#333333;}#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 svg{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;}#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 p{margin:0;}#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 .label{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;color:#333;}#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 .cluster-label text{fill:#333;}#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 .cluster-label span{color:#333;}#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 .cluster-label span p{background-color:transparent;}#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 .label text,#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 span{fill:#333;color:#333;}#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 .node rect,#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 .node circle,#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 .node ellipse,#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 .node polygon,#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 .rough-node .label text,#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 .node .label text,#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 .image-shape .label,#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 .icon-shape .label{text-anchor:middle;}#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 .rough-node .label,#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 .node .label,#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 .image-shape .label,#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 .icon-shape .label{text-align:center;}#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 .node.clickable{cursor:pointer;}#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 .arrowheadPath{fill:#333333;}#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 .edgePath .path{stroke:#333333;stroke-width:1px;}#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 .flowchart-link{stroke:#333333;fill:none;}#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 .cluster text{fill:#333;}#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 .cluster span{color:#333;}#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 rect.text{fill:none;stroke-width:0;}#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 .icon-shape,#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 .icon-shape p,#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 .icon-shape .label rect,#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 .node .neo-node{stroke:#9370DB;}#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 [data-look=\"neo\"].node rect,#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 [data-look=\"neo\"].cluster rect,#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 [data-look=\"neo\"].node polygon{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 [data-look=\"neo\"].swimlane.cluster rect{filter:none;}#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 [data-look=\"neo\"].node path{stroke:#9370DB;stroke-width:1px;}#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 [data-look=\"neo\"].node .outer-path{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 [data-look=\"neo\"].node .neo-line path{stroke:#9370DB;filter:none;}#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 [data-look=\"neo\"].node circle{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 [data-look=\"neo\"].node circle .state-start{fill:#000000;}#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 [data-look=\"neo\"].icon-shape .icon{fill:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 [data-look=\"neo\"].icon-shape .icon-neo path{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82 :root{--mermaid-font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;}</style><g><marker id=\"diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82_flowchart-v2-pointEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 0 L 10 5 L 0 10 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82_flowchart-v2-pointStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"4.5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 5 L 10 10 L 10 0 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82_flowchart-v2-pointEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"11.5\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"10.5\" markerHeight=\"14\" orient=\"auto\"><path d=\"M 0 0 L 11.5 7 L 0 14 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82_flowchart-v2-pointStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"1\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11.5\" markerHeight=\"14\" orient=\"auto\"><polygon points=\"0,7 11.5,14 11.5,0\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></polygon></marker><marker id=\"diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82_flowchart-v2-circleEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"11\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82_flowchart-v2-circleStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-1\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82_flowchart-v2-circleEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refY=\"5\" refX=\"12.25\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82_flowchart-v2-circleStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-2\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82_flowchart-v2-crossEnd\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"12\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><path d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82_flowchart-v2-crossStart\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"-1\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><path d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82_flowchart-v2-crossEnd-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"17.7\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\"><path d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5;\"></path></marker><marker id=\"diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82_flowchart-v2-crossStart-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"-3.5\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\"><path d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5; stroke-dasharray: 1, 0;\"></path></marker><g class=\"root\"><g class=\"clusters\"></g><g class=\"edgePaths\"><path d=\"M132.938,94L137.104,94C141.271,94,149.604,94,157.271,94C164.938,94,171.938,94,175.438,94L178.938,94\" id=\"diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82-L_OpenAPI_lint_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_OpenAPI_lint_0\" data-points=\"W3sieCI6MTMyLjkzNzUsInkiOjk0fSx7IngiOjE1Ny45Mzc1LCJ5Ijo5NH0seyJ4IjoxODIuOTM3NSwieSI6OTR9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82_flowchart-v2-pointEnd)\"></path><path d=\"M263.391,74.617L269.484,71.681C275.578,68.745,287.766,62.872,299.286,59.936C310.807,57,321.661,57,327.089,57L332.516,57\" id=\"diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82-L_lint_bundle_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_lint_bundle_0\" data-points=\"W3sieCI6MjYzLjM5MDYyNSwieSI6NzQuNjE3MjU1MDYxNTUyNTZ9LHsieCI6Mjk5Ljk1MzEyNSwieSI6NTd9LHsieCI6MzM2LjUxNTYyNSwieSI6NTd9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82_flowchart-v2-pointEnd)\"></path><path d=\"M253.654,121L261.37,127.833C269.087,134.667,284.52,148.333,307.334,155.167C330.148,162,360.344,162,392.763,162C425.182,162,459.826,162,487.917,160.416C516.009,158.832,537.549,155.665,548.319,154.081L559.089,152.497\" id=\"diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82-L_lint_fail_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_lint_fail_0\" data-points=\"W3sieCI6MjUzLjY1MzgzNzMxNjE3NjQ2LCJ5IjoxMjF9LHsieCI6Mjk5Ljk1MzEyNSwieSI6MTYyfSx7IngiOjM5MC41MzkwNjI1LCJ5IjoxNjJ9LHsieCI6NDk0LjQ2ODc1LCJ5IjoxNjJ9LHsieCI6NTYzLjA0Njg3NSwieSI6MTUxLjkxNTQxNjA5ODIyNjQ3fV0=\" data-look=\"classic\" marker-end=\"url(#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82_flowchart-v2-pointEnd)\"></path><path d=\"M444.563,45.564L452.88,43.804C461.198,42.043,477.833,38.521,493.802,36.761C509.771,35,525.073,35,532.724,35L540.375,35\" id=\"diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82-L_bundle_success_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_bundle_success_0\" data-points=\"W3sieCI6NDQ0LjU2MjUsInkiOjQ1LjU2NDIzMzYzMTUxMTY5fSx7IngiOjQ5NC40Njg3NSwieSI6MzV9LHsieCI6NTQ0LjM3NSwieSI6MzV9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82_flowchart-v2-pointEnd)\"></path><path d=\"M444.503,84L452.83,88.167C461.158,92.333,477.813,100.667,496.94,108.505C516.066,116.344,537.663,123.689,548.461,127.361L559.26,131.033\" id=\"diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82-L_bundle_fail_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_bundle_fail_0\" data-points=\"W3sieCI6NDQ0LjUwMjU1NDA4NjUzODQ1LCJ5Ijo4NH0seyJ4Ijo0OTQuNDY4NzUsInkiOjEwOX0seyJ4Ijo1NjMuMDQ2ODc1LCJ5IjoxMzIuMzIwNjAwMjcyODUxM31d\" data-look=\"classic\" marker-end=\"url(#diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82_flowchart-v2-pointEnd)\"></path></g><g class=\"edgeLabels\"><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_OpenAPI_lint_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\" transform=\"translate(299.953125, 57)\"><g class=\"label\" data-id=\"L_lint_bundle_0\" transform=\"translate(-11.5625, -12)\"><foreignObject width=\"23.125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"><p>OK</p></span></div></foreignObject></g></g><g class=\"edgeLabel\" transform=\"translate(390.5390625, 162)\"><g class=\"label\" data-id=\"L_lint_fail_0\" transform=\"translate(-24.90625, -12)\"><foreignObject width=\"49.8125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"><p>not OK</p></span></div></foreignObject></g></g><g class=\"edgeLabel\" transform=\"translate(494.46875, 35)\"><g class=\"label\" data-id=\"L_bundle_success_0\" transform=\"translate(-11.5625, -12)\"><foreignObject width=\"23.125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"><p>OK</p></span></div></foreignObject></g></g><g class=\"edgeLabel\" transform=\"translate(494.46875, 109)\"><g class=\"label\" data-id=\"L_bundle_fail_0\" transform=\"translate(-24.90625, -12)\"><foreignObject width=\"49.8125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"><p>not OK</p></span></div></foreignObject></g></g></g><g class=\"nodes\"><g class=\"node default\" id=\"diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82-flowchart-OpenAPI-0\" data-look=\"classic\" transform=\"translate(70.46875, 94)\"><rect class=\"basic label-container\" style=\"\" x=\"-62.46875\" y=\"-27\" width=\"124.9375\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-32.46875, -12)\"><rect></rect><foreignObject width=\"64.9375\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>OpenAPI</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82-flowchart-lint-1\" data-look=\"classic\" transform=\"translate(223.1640625, 94)\"><rect class=\"basic label-container\" style=\"\" x=\"-40.2265625\" y=\"-27\" width=\"80.453125\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-10.2265625, -12)\"><rect></rect><foreignObject width=\"20.453125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>lint</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82-flowchart-bundle-2\" data-look=\"classic\" transform=\"translate(390.5390625, 57)\"><rect class=\"basic label-container\" style=\"\" x=\"-54.0234375\" y=\"-27\" width=\"108.046875\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-24.0234375, -12)\"><rect></rect><foreignObject width=\"48.046875\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>bundle</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82-flowchart-fail-3\" data-look=\"classic\" transform=\"translate(603.2734375, 146)\"><rect class=\"basic label-container\" style=\"\" x=\"-40.2265625\" y=\"-27\" width=\"80.453125\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-10.2265625, -12)\"><rect></rect><foreignObject width=\"20.453125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>fail</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82-flowchart-success-4\" data-look=\"classic\" transform=\"translate(603.2734375, 35)\"><rect class=\"basic label-container\" style=\"\" x=\"-58.8984375\" y=\"-27\" width=\"117.796875\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-28.8984375, -12)\"><rect></rect><foreignObject width=\"57.796875\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>success</p></span></div></foreignObject></g></g></g></g></g><defs><filter id=\"diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82-drop-shadow\" height=\"130%\" width=\"130%\"><feDropShadow dx=\"4\" dy=\"4\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#000000\"></feDropShadow></filter></defs><defs><filter id=\"diagram-332875041eb2f802d729129b163629889039a2855fef33dfba07896e38bfaf82-drop-shadow-small\" height=\"150%\" width=\"150%\"><feDropShadow dx=\"2\" dy=\"2\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#000000\"></feDropShadow></filter></defs></svg>","diagramHtmlDark":"<svg id=\"diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9\" width=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" class=\"flowchart\" style=\"max-width: 670.171875px;\" viewBox=\"0 0 670.171875 182\" role=\"graphics-document document\" aria-roledescription=\"flowchart-v2\"><style>\n    #diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 foreignObject {\n      overflow: visible;\n    }\n  </style><style>#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;fill:#ccc;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 .error-icon{fill:#a44141;}#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 .error-text{fill:#ddd;stroke:#ddd;}#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 .edge-thickness-normal{stroke-width:1px;}#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 .edge-thickness-thick{stroke-width:3.5px;}#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 .edge-pattern-solid{stroke-dasharray:0;}#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 .edge-pattern-dashed{stroke-dasharray:3;}#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 .edge-pattern-dotted{stroke-dasharray:2;}#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 .marker{fill:lightgrey;stroke:lightgrey;}#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 .marker.cross{stroke:lightgrey;}#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 svg{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;}#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 p{margin:0;}#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 .label{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;color:#ccc;}#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 .cluster-label text{fill:#F9FFFE;}#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 .cluster-label span{color:#F9FFFE;}#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 .cluster-label span p{background-color:transparent;}#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 .label text,#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 span{fill:#ccc;color:#ccc;}#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 .node rect,#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 .node circle,#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 .node ellipse,#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 .node polygon,#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 .node path{fill:#1f2020;stroke:#ccc;stroke-width:1px;}#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 .rough-node .label text,#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 .node .label text,#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 .image-shape .label,#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 .icon-shape .label{text-anchor:middle;}#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 .rough-node .label,#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 .node .label,#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 .image-shape .label,#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 .icon-shape .label{text-align:center;}#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 .node.clickable{cursor:pointer;}#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 .root .anchor path{fill:lightgrey!important;stroke-width:0;stroke:lightgrey;}#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 .arrowheadPath{fill:lightgrey;}#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 .edgePath .path{stroke:lightgrey;stroke-width:1px;}#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 .flowchart-link{stroke:lightgrey;fill:none;}#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 .edgeLabel{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 .edgeLabel p{background-color:hsl(0, 0%, 34.4117647059%);}#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 .edgeLabel rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 .labelBkg{background-color:rgba(87.75, 87.75, 87.75, 0.5);}#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 .cluster rect{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:rgba(255, 255, 255, 0.25);stroke-width:1px;}#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 .cluster text{fill:#F9FFFE;}#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 .cluster span{color:#F9FFFE;}#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:12px;background:hsl(20, 1.5873015873%, 12.3529411765%);border:1px solid rgba(255, 255, 255, 0.25);border-radius:2px;pointer-events:none;z-index:100;}#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#ccc;}#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 rect.text{fill:none;stroke-width:0;}#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 .icon-shape,#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 .image-shape{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 .icon-shape p,#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 .image-shape p{background-color:hsl(0, 0%, 34.4117647059%);padding:2px;}#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 .icon-shape .label rect,#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 .image-shape .label rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 .node .neo-node{stroke:#ccc;}#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 [data-look=\"neo\"].node rect,#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 [data-look=\"neo\"].cluster rect,#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 [data-look=\"neo\"].node polygon{stroke:url(#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 [data-look=\"neo\"].swimlane.cluster rect{filter:none;}#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 [data-look=\"neo\"].node path{stroke:url(#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9-gradient);stroke-width:1px;}#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 [data-look=\"neo\"].node .outer-path{filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 [data-look=\"neo\"].node .neo-line path{stroke:#ccc;filter:none;}#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 [data-look=\"neo\"].node circle{stroke:url(#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 [data-look=\"neo\"].node circle .state-start{fill:#000000;}#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 [data-look=\"neo\"].icon-shape .icon{fill:url(#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 [data-look=\"neo\"].icon-shape .icon-neo path{stroke:url(#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9 :root{--mermaid-font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;}</style><g><marker id=\"diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9_flowchart-v2-pointEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 0 L 10 5 L 0 10 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9_flowchart-v2-pointStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"4.5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 5 L 10 10 L 10 0 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9_flowchart-v2-pointEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"11.5\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"10.5\" markerHeight=\"14\" orient=\"auto\"><path d=\"M 0 0 L 11.5 7 L 0 14 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9_flowchart-v2-pointStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"1\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11.5\" markerHeight=\"14\" orient=\"auto\"><polygon points=\"0,7 11.5,14 11.5,0\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></polygon></marker><marker id=\"diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9_flowchart-v2-circleEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"11\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9_flowchart-v2-circleStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-1\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9_flowchart-v2-circleEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refY=\"5\" refX=\"12.25\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9_flowchart-v2-circleStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-2\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9_flowchart-v2-crossEnd\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"12\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><path d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9_flowchart-v2-crossStart\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"-1\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><path d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9_flowchart-v2-crossEnd-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"17.7\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\"><path d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5;\"></path></marker><marker id=\"diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9_flowchart-v2-crossStart-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"-3.5\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\"><path d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5; stroke-dasharray: 1, 0;\"></path></marker><g class=\"root\"><g class=\"clusters\"></g><g class=\"edgePaths\"><path d=\"M132.938,94L137.104,94C141.271,94,149.604,94,157.271,94C164.938,94,171.938,94,175.438,94L178.938,94\" id=\"diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9-L_OpenAPI_lint_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_OpenAPI_lint_0\" data-points=\"W3sieCI6MTMyLjkzNzUsInkiOjk0fSx7IngiOjE1Ny45Mzc1LCJ5Ijo5NH0seyJ4IjoxODIuOTM3NSwieSI6OTR9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9_flowchart-v2-pointEnd)\"></path><path d=\"M263.391,74.617L269.484,71.681C275.578,68.745,287.766,62.872,299.286,59.936C310.807,57,321.661,57,327.089,57L332.516,57\" id=\"diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9-L_lint_bundle_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_lint_bundle_0\" data-points=\"W3sieCI6MjYzLjM5MDYyNSwieSI6NzQuNjE3MjU1MDYxNTUyNTZ9LHsieCI6Mjk5Ljk1MzEyNSwieSI6NTd9LHsieCI6MzM2LjUxNTYyNSwieSI6NTd9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9_flowchart-v2-pointEnd)\"></path><path d=\"M253.654,121L261.37,127.833C269.087,134.667,284.52,148.333,307.334,155.167C330.148,162,360.344,162,392.763,162C425.182,162,459.826,162,487.917,160.416C516.009,158.832,537.549,155.665,548.319,154.081L559.089,152.497\" id=\"diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9-L_lint_fail_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_lint_fail_0\" data-points=\"W3sieCI6MjUzLjY1MzgzNzMxNjE3NjQ2LCJ5IjoxMjF9LHsieCI6Mjk5Ljk1MzEyNSwieSI6MTYyfSx7IngiOjM5MC41MzkwNjI1LCJ5IjoxNjJ9LHsieCI6NDk0LjQ2ODc1LCJ5IjoxNjJ9LHsieCI6NTYzLjA0Njg3NSwieSI6MTUxLjkxNTQxNjA5ODIyNjQ3fV0=\" data-look=\"classic\" marker-end=\"url(#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9_flowchart-v2-pointEnd)\"></path><path d=\"M444.563,45.564L452.88,43.804C461.198,42.043,477.833,38.521,493.802,36.761C509.771,35,525.073,35,532.724,35L540.375,35\" id=\"diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9-L_bundle_success_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_bundle_success_0\" data-points=\"W3sieCI6NDQ0LjU2MjUsInkiOjQ1LjU2NDIzMzYzMTUxMTY5fSx7IngiOjQ5NC40Njg3NSwieSI6MzV9LHsieCI6NTQ0LjM3NSwieSI6MzV9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9_flowchart-v2-pointEnd)\"></path><path d=\"M444.503,84L452.83,88.167C461.158,92.333,477.813,100.667,496.94,108.505C516.066,116.344,537.663,123.689,548.461,127.361L559.26,131.033\" id=\"diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9-L_bundle_fail_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_bundle_fail_0\" data-points=\"W3sieCI6NDQ0LjUwMjU1NDA4NjUzODQ1LCJ5Ijo4NH0seyJ4Ijo0OTQuNDY4NzUsInkiOjEwOX0seyJ4Ijo1NjMuMDQ2ODc1LCJ5IjoxMzIuMzIwNjAwMjcyODUxM31d\" data-look=\"classic\" marker-end=\"url(#diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9_flowchart-v2-pointEnd)\"></path></g><g class=\"edgeLabels\"><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_OpenAPI_lint_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\" transform=\"translate(299.953125, 57)\"><g class=\"label\" data-id=\"L_lint_bundle_0\" transform=\"translate(-11.5625, -12)\"><foreignObject width=\"23.125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"><p>OK</p></span></div></foreignObject></g></g><g class=\"edgeLabel\" transform=\"translate(390.5390625, 162)\"><g class=\"label\" data-id=\"L_lint_fail_0\" transform=\"translate(-24.90625, -12)\"><foreignObject width=\"49.8125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"><p>not OK</p></span></div></foreignObject></g></g><g class=\"edgeLabel\" transform=\"translate(494.46875, 35)\"><g class=\"label\" data-id=\"L_bundle_success_0\" transform=\"translate(-11.5625, -12)\"><foreignObject width=\"23.125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"><p>OK</p></span></div></foreignObject></g></g><g class=\"edgeLabel\" transform=\"translate(494.46875, 109)\"><g class=\"label\" data-id=\"L_bundle_fail_0\" transform=\"translate(-24.90625, -12)\"><foreignObject width=\"49.8125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"><p>not OK</p></span></div></foreignObject></g></g></g><g class=\"nodes\"><g class=\"node default\" id=\"diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9-flowchart-OpenAPI-0\" data-look=\"classic\" transform=\"translate(70.46875, 94)\"><rect class=\"basic label-container\" style=\"\" x=\"-62.46875\" y=\"-27\" width=\"124.9375\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-32.46875, -12)\"><rect></rect><foreignObject width=\"64.9375\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>OpenAPI</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9-flowchart-lint-1\" data-look=\"classic\" transform=\"translate(223.1640625, 94)\"><rect class=\"basic label-container\" style=\"\" x=\"-40.2265625\" y=\"-27\" width=\"80.453125\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-10.2265625, -12)\"><rect></rect><foreignObject width=\"20.453125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>lint</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9-flowchart-bundle-2\" data-look=\"classic\" transform=\"translate(390.5390625, 57)\"><rect class=\"basic label-container\" style=\"\" x=\"-54.0234375\" y=\"-27\" width=\"108.046875\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-24.0234375, -12)\"><rect></rect><foreignObject width=\"48.046875\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>bundle</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9-flowchart-fail-3\" data-look=\"classic\" transform=\"translate(603.2734375, 146)\"><rect class=\"basic label-container\" style=\"\" x=\"-40.2265625\" y=\"-27\" width=\"80.453125\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-10.2265625, -12)\"><rect></rect><foreignObject width=\"20.453125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>fail</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9-flowchart-success-4\" data-look=\"classic\" transform=\"translate(603.2734375, 35)\"><rect class=\"basic label-container\" style=\"\" x=\"-58.8984375\" y=\"-27\" width=\"117.796875\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-28.8984375, -12)\"><rect></rect><foreignObject width=\"57.796875\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>success</p></span></div></foreignObject></g></g></g></g></g><defs><filter id=\"diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9-drop-shadow\" height=\"130%\" width=\"130%\"><feDropShadow dx=\"4\" dy=\"4\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#FFFFFF\"></feDropShadow></filter></defs><defs><filter id=\"diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9-drop-shadow-small\" height=\"150%\" width=\"150%\"><feDropShadow dx=\"2\" dy=\"2\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#FFFFFF\"></feDropShadow></filter></defs><linearGradient id=\"diagram-1faaf4bc8e3523860a04dba8bdc9291ae8676f0d95e144b74930ee23b0f010c9-gradient\" gradientUnits=\"objectBoundingBox\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"0%\"><stop offset=\"0%\" stop-color=\"#cccccc\" stop-opacity=\"1\"></stop><stop offset=\"100%\" stop-color=\"hsl(180, 0%, 18.3529411765%)\" stop-opacity=\"1\"></stop></linearGradient></svg>"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Starting with an OpenAPI file, apply linting rules to check that the API description conforms to the expected standards."," ","Only if this step is successful, proceed to bundle the file for use by another tool."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The aim of this workflow is to exit successfully only if both steps are completed with successful outcomes."," ","If the first step, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["lint"]},", doesn't complete successfully, then do not proceed to bundle."," ","To achieve this aim, the ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"https://en.wikipedia.org/wiki/Exit_status"},"children":["exit status"]}," of the commands can be used."," ","Successful commands output a value of zero, whereas failed commands return a value greater than zero (sometimes the exact value describes the failure, although that is beyond the scope of this guide)."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"use-the-logical-and-operator","__idx":2},"children":["Use the logical AND operator"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To combine the commands only if succesful, use the logical AND operator ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["&&"]},"."," ","The first part of the command must complete successfully for the second one to be run."," ","For example, to lint and bundle an API description in the file, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["openapi.yaml"]},", the command would be as shown below:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","header":{"controls":{"copy":{}}},"source":"redocly lint openapi.yaml && redocly bundle openapi.yaml\n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Using this syntax, the command only completes successfully if both the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["lint"]}," and the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["bundle"]}," step are marked as successful."," ","If the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["lint"]}," step returns errors, then the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["bundle"]}," command does not run at all."," ","If ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["lint"]}," succeeds but ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["bundle"]}," fails, the exit code indicates the failure."," ","Helpfully this approach means that even when used in automation, any failure state can be clearly identified, and the second step only proceeds if the first completes succesfully."]}]},"frontmatter":{},"tagList":[],"title":"Lint and bundle API descriptions with Redocly CLI","lastModified":"2025-05-28T16:01:32.000Z"}