0.0.3 • Published 8 years ago

laravel-elixir-swagger v0.0.3

Weekly downloads
3
License
MIT
Repository
github
Last release
8 years ago

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)
ParameterDescriptionDefault value
inputThe name of the Swagger spec file that should be compiled."swagger.yaml"
outputThe name of the complied JSON file that will be outputed."swagger.json"
options.inputDestThe directory to look for your Swagger spec files."./resources/assets/swagger/"
options.outputDestThe 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.