0.0.5 • Published 4 years ago

gulp-api-adapter v0.0.5

Weekly downloads
2
License
MIT
Repository
github
Last release
4 years ago

gulp-api-adapter

This plugin allows gulp tasks to interact with REST APIs or other http/https endpoints. It provides a .src() function which replaces gulp.src(), allowing remote files to be downloaded as the starting point for a gulp task. There is also a .dest() function, which allows files in a gulp stream to be uploaded.

Finally, there is a .request() function, which passes each file as the body of an HTTP request and returns the response as a separate file.

This plugin is a gulp wrapper for request.

Usage

The plugin accepts a configObj as the first parameter; the configObj will contain any info the plugin needs. The configObj is the "Options" object for request, described here.

Sample gulpfile.js (OUTDATED: update coming soon)

var gulp = require('gulp')
var targetCsv = require('gulp-etl-target-csv').targetCsv

exports.default = function() {
    return gulp.src('data/*.ndjson')
    .on('data', function (file) {
        console.log('Starting processing on ' + file.basename)
    })  
    .pipe(targetCsv({header:true}))
    .on('data', function (file) {
        console.log('Done processing on ' + file.basename)
    })  
    .pipe(gulp.dest('data/'));
}

Quick Start for Coding on This Plugin

  • Dependencies:
    • git
    • nodejs - At least v6.3 (6.9 for Windows) required for TypeScript debugging
    • npm (installs with Node)
    • typescript - installed as a development dependency
  • Clone this repo and run npm install to install npm packages
  • Debug: with VScode use Open Folder to open the project folder, then hit F5 to debug. This runs without compiling to javascript using ts-node
  • Test: npm test or npm t
  • Compile to javascript: npm run build

Testing

We are using Jest for our testing. Each of our tests are in the test folder.

  • Run npm test to run the test suites

Note: This document is written in Markdown. We like to use Typora and Markdown Preview Plus for our Markdown work..