Skip to content

A Laravel Elixir extension that parses Swagger specs in JSON or YAML format, validates against the official Swagger 2.0 schema and dereferences all $ref pointers to external files.

License

adrian-fjellberg/laravel-elixir-swagger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Laravel Elixir Swagger v0.0.3

A Laravel Elixir extension that parses Swagger specs in JSON or YAML format, validates against the official Swagger 2.0 schema and dereferences all $ref pointers to external files.

Install

npm install laravel-elixir-swagger

Usage

Basic usage

In the gulpfile.js add this to the requirements at the top of the file:

var elixir = require('laravel-elixir');
...
require('laravel-elixir-swagger');

then run the extension on the Laravel Elixir mix object like this:

elixir(function(mix) {
    mix.swagger();
});

This will search for a Swagger specs file named swagger.yaml in your applications resources/assets/swagger/ directory, then validate it against the official Swagger 2.0 schema and dereference all $ref pointers to external files, and finnaly output it to public/swagger.json.

Define your own files and directories

To define where the extension load the Swagger specs from and where to output the compiled JSON file you can use the following example.

elixir(function(mix) {
    mix.swagger('swagger.yaml', 'swagger.json', {
        inputDest: './resources/assets/swagger/v1'
        outputDest: './public/api-docs'
    });
});

For more information on how this works, take a look the parameters.

Gulp watch

If you use gulp watch command, the extension will only look for changes to YAML files in your applications resources/assets/swagger/ directory.

Parameters

The possible parameters for the mix.swagger() method:

swagger(input, output, options)
Parameter Description Default value
input The name of the Swagger spec file that should be compiled. "swagger.yaml"
output The name of the complied JSON file that will be outputed. "swagger.json"
options.inputDest The directory to look for your Swagger spec files. "./resources/assets/swagger/"
options.outputDest The directory to place the compiled output file. "./public"

See Also

Contributing

Please feel free to contribute:

Credit

This Laravel Extension is creaded using Gerson Goulart's gulp plugin gulp-swagger.

License

Gulp-Swagger is 100% free and open-source, under the MIT license. Use it however you want.

About

A Laravel Elixir extension that parses Swagger specs in JSON or YAML format, validates against the official Swagger 2.0 schema and dereferences all $ref pointers to external files.

Resources

License

Stars

Watchers

Forks

Packages

No packages published