Branch: master
Clone or download
Latest commit c06c0eb Nov 23, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
browser_version Bower update Nov 23, 2018
documentation Merge branch 'develop' into type-expansion Oct 6, 2017
examples Fix for #554 Dec 7, 2016
resources fix https://www.mulesoft.org/jira/browse/RP-332 Jun 21, 2018
src fix https://www.mulesoft.org/jira/browse/RP-460 Oct 31, 2018
tckJSONSchema-newFormat
tckJsonSchema Typings May 26, 2017
test types should be a map in 1.0 so changing example a bit more May 18, 2016
typings Switching to typescript 2.5.2 Sep 19, 2017
web-tools Adding browser tags and a shim for http request. Adding dev. dependen… Dec 25, 2015
.gitignore Merge branch 'develop' into type-expansion Oct 14, 2017
.npmignore Removing standalone typings from npm Oct 31, 2017
.travis.yml Renaming tckDumper to jsonSerializer. Merging with develop Aug 1, 2017
RAML Parser.png initial contribution Apr 7, 2016
README.md Merge branch 'develop' into type-expansion Oct 6, 2017
bower.json Bower update Nov 23, 2018
generateBrowserVersion.js Adding browser version to the main repo to be served by bower automat… Dec 14, 2016
gulpfile.js gulpfile update Nov 8, 2017
license.txt Create license.txt Oct 31, 2015
package.json Versions update Nov 23, 2018
tsconfig.json implement https://www.mulesoft.org/jira/browse/RP-171 Oct 13, 2017
workspace.json Workspace update. Jan 24, 2018

README.md

RAML 1.0 JS Parser

Build Status

See http://raml.org for more information about RAML.

This parser supports both RAML 0.8 and 1.0.

Quick start

Install the parser: npm install raml-1-parser

Create new file test.js with the following code:

var raml = require("raml-1-parser");
var apiJSON = raml.load(ramlFileName);
console.log(JSON.stringify(apiJSON, null, 2));

where ramlFileName is a path to RAML file.

Run the test: node ./test.js

Installation

npm install raml-1-parser

node node_modules/raml-1-parser/test/test01.js  //synchronously loads XKCD API from local file system and prints its JSON representation
node node_modules/raml-1-parser/test/testAsync01.js  //asynchronously loads XKCD API from local file system and prints its JSON representation
node node_modules/raml-1-parser/test/test02.js  //synchronously loads XKCD API from github and prints its JSON representation
node node_modules/raml-1-parser/test/testAsync02.js  //asynchronously loads XKCD API from github and prints its JSON representation


Usage

  • For parser usage example refer to node_modules/raml-1-parser/test/test.js
  • For asynchrounous usage example refer to node_modules/raml-1-parser/test/testAsync.js

Parser documentation: https://raml-org.github.io/raml-js-parser-2/

Parser JSON output schema: https://github.com/raml-org/raml-js-parser-2/blob/master/tckJsonSchema/tckJsonSchema.json

Getting started guide: https://github.com/raml-org/raml-js-parser-2/blob/master/documentation/GettingStarted.md

High-level usage example: https://github.com/raml-org/raml-js-parser-2/blob/master/examples/highlevel-AST-usage/tutorial.md

Validation plugins usage example: https://github.com/raml-org/raml-js-parser-2/blob/master/examples/validationPlugins

Creating standalone browser package

Clone repository: git clone https://github.com/raml-org/raml-js-parser-2.git

Install modules: npm install

Build : npm run build

Generate browser package: npm run generateBrowserVersion, this will generate the package in browserVersion folder.

To generate debug-friendly browser package: npm run generateBrowserVersionDev

Setting up parser development environment

Clone repositories:

  • git clone https://github.com/mulesoft-labs/yaml-ast-parser.git
  • git clone https://github.com/mulesoft-labs/ts-model.git
  • git clone https://github.com/mulesoft-labs/ts-structure-parser.git
  • git clone https://github.com/raml-org/raml-typesystem.git
  • git clone https://github.com/raml-org/raml-definition-system.git
  • git clone https://github.com/raml-org/raml-js-parser-2.git

For each repository, preserving the order:

  • Install modules: npm install
  • Set up npm link: npm link

For each repository, preserving the order:

  • Open dependencies: cd node_modules
  • For each module <module_name> in node_modules belonging to the list above: rm -rf <module_name>
  • For each module <module_name> in node_modules belonging to the list above: npm link <module_name>

For each repository, preserving the order:

  • Build : npm run build

How to test: gulp test

Launching TCK tests

Execute npm run tck in the commend line. The script clones the master branch of the TCK repository to the TCK subfolder of the project and executes all the tests. The report file is TCK/report.json.

Contributing

If you are interested in contributing some code to this project, thanks! Please first read and accept the Contributors Agreement.

To discuss this project, please use its github issues or the RAML forum.