Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/raml-org/raml-js-parser-2
(deprecated)
https://github.com/raml-org/raml-js-parser-2
raml raml-parser raml-tooling
Last synced: about 2 months ago
JSON representation
(deprecated)
- Host: GitHub
- URL: https://github.com/raml-org/raml-js-parser-2
- Owner: raml-org
- License: other
- Archived: true
- Created: 2015-10-28T23:35:20.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2022-02-12T14:27:55.000Z (almost 3 years ago)
- Last Synced: 2024-08-29T08:05:29.898Z (3 months ago)
- Topics: raml, raml-parser, raml-tooling
- Language: RAML
- Homepage:
- Size: 29.6 MB
- Stars: 138
- Watchers: 18
- Forks: 53
- Open Issues: 18
-
Metadata Files:
- Readme: README.md
- License: license.txt
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README
DEPRECATION NOTICE: please note that this parser is now deprecated, please use [webapi-parser](https://github.com/raml-org/webapi-parser) instead.
—-
# RAML 1.0 JS Parser[![Build Status](https://travis-ci.org/raml-org/raml-js-parser-2.svg?branch=master)](https://travis-ci.org/raml-org/raml-js-parser-2) [![Greenkeeper badge](https://badges.greenkeeper.io/raml-org/raml-js-parser-2.svg)](https://greenkeeper.io/)
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-parsernode 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/test01.js`
* For asynchrounous usage example refer to `node_modules/raml-1-parser/test/testAsync01.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 `` in `node_modules` belonging to the list above: `rm -rf `
* For each module `` in `node_modules` belonging to the list above: `npm link `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](https://api-notebook.anypoint.mulesoft.com/notebooks#bc1cf75a0284268407e4).To discuss this project, please use its [github issues](https://github.com/raml-org/raml-js-parser-2/issues) or the [RAML forum](http://forums.raml.org/).