0.4.2 • Published 7 years ago

@enotes/gulp-s3 v0.4.2

Weekly downloads
-
License
-
Repository
github
Last release
7 years ago

@enotes/gulp-s3

s3 plugin for gulp

Usage

First, install @enotes/gulp-s3 as a development dependency:

npm i --save-dev git+ssh://git@github.com:enotes/gulp-s3.git#v0.4.2

Setup your aws.json file

{
  "key": "AKIAI3Z7CUAFHG53DMJA",
  "secret": "acYxWRu5RRa6CwzQuhdXEfTpbQA+1XQJ7Z1bGTCx",
  "bucket": "dev.example.com",
  "region": "eu-west-1"
}

Then, use it in your gulpfile.js:

const s3 = require("@enotes/gulp-s3");

aws = JSON.parse(fs.readFileSync('./aws.json'));
gulp.src("./dist/**")
    .pipe(s3(aws));

API

options.headers

Type: Array
Default: []

Headers to set to each file uploaded to S3

const options = { headers: {"Cache-Control": "max-age=315360000, no-transform, public"} }
gulp.src("./dist/**", {read: false})
    .pipe(s3(aws, options));

options.gzippedOnly

Type: Boolean
Default: false

Only upload files with .gz extension, additionally it will remove the .gz suffix on destination filename and set appropriate Content-Type and Content-Encoding headers.

const gulp = require("gulp");
const s3 = require("@enotes/gulp-s3");
const gzip = require("gulp-gzip");
const options = { gzippedOnly: true };

gulp.src("./dist/**")
    .pipe(gzip())
    .pipe(s3(aws, options));

});

options.maxRetries

Type: Number
Default: 3

The number of times to retry before failing.

const gulp = require("gulp");
const s3 = require("@enotes/gulp-s3");
const options = { maxRetries: 5 };

gulp.src("./dist/**")
    .pipe(s3(aws, options));

License

MIT License