Have ideas to improve npm?Join in the discussion! »

    gulp-s3-gzip

    0.3.2 • Public • Published

    gulp-s3 NPM version

    s3 plugin for gulp

    Usage

    First, install gulp-s3-gzip as a development dependency:

    npm install --save-dev gulp-s3-gzip

    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:

    var s3 = require("gulp-s3-gzip");
     
    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

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

    options.removeGzipExtension

    Type: Boolean Default: false

    When handling uploading assets to S3, the build should be able to decide whether or not to remove any .gz extensions from gzipped files. The decision to add this flag stems from the documentation Amazon provides on Serving Compressed Files from Amazon S3. To summarize:

    Amazon S3 doesn't automatically compress files as web servers do. If you want to serve compressed content and you're using Amazon S3 as your origin, you need to store compressed and uncompressed versions of your files in your Amazon S3 bucket. You also need to develop your application to intercept viewer requests and change the request URL based on whether the request includes an Accept-Encoding: gzip header.

    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.

    var gulp = require("gulp");
    var s3 = require("gulp-s3-gzip");
    var gzip = require("gulp-gzip");
    var options = { gzippedOnly: true };
     
    gulp.src('./dist/**')
    .pipe(gzip())
    .pipe(s3(aws, options));
     
    });

    License

    MIT License

    Install

    npm i gulp-s3-gzip

    DownloadsWeekly Downloads

    1

    Version

    0.3.2

    License

    none

    Last publish

    Collaborators

    • avatar