cybertk / cybertk/abao

Upgrade to raml-1-parser

Open
#177 6 comments 11 reactions 0 assignees View on GitHub
Dominant language
CoffeeScript
Stars
352
Forks
57
PR merge metrics
No merged PRs in 30d

Description

Abao should be upgraded to use raml-js-parser-2

The new parser supports RAML 1.0, so upgrading to it is a major step towards RAML 1.0 support in abao

The mulesoft api-workbench atom add-on uses raml-js-parser-2. The new parser is capable of resolving jsonschema $ref's, which is how the api-workbench does it. This will keep $ref parsing behavior in abao consistent with mulesoft RAML tooling, and allow resolving $ref's that are local filesystem paths.

I have a feature branch where I upgraded abao to use raml-js-parser-2. My changes for abao to use raml-js-parser-2 are mostly functional in a prototype quality state, the last thing is actually getting the new parser to resolve the $ref's. I am working to figure this out and will keep you updated. Still need to fix some tests, but I can run my feature branch against our RAML spec and aside from the $ref resolution error it appears to work.

https://github.com/raml-org/raml-js-parser-2/issues/481

My abao feature branch for using raml-js-parser-2 (tests still need updating, $ref parsing waiting on response from raml-js-parser-2 project)
https://github.com/cybertk/abao/compare/master...flywheel-io:raml-1-parser

https://github.com/raml-org/raml-js-parser-2

Contributor guide

No contributing guide indexed for this repository

Research direction

Review the referenced abao feature branch and the raml-js-parser-2 issue #481 first, then run the existing tests to identify updates needed for the parser change. Done means abao uses raml-js-parser-2, local JSON Schema $ref resolution works, and the affected tests pass.

Written by the indexing model from the issue text.

Assessment

Tech stack
coffeescript, javascript
Domain
api, testing-qa
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.