Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

gulp-s3-upload

Package Overview
Dependencies
Maintainers
1
Versions
37
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

gulp-s3-upload

A gulp task to upload/update assets to an S3 account.

  • 0.8.7
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
11K
increased by17.63%
Maintainers
1
Weekly downloads
 
Created
Source

gulp-s3-upload

Made for work + personal use for uploading assets to Amazon S3 servers.
This helps to make it an easy gulp task.

This package uses the aws-sdk (node).

NPM / Changelog

Install

npm install gulp-s3-upload

Usage

Put in your AWS Developer key/secret. Region is optional.

var gulp = require('gulp');
var s3 = require('gulp-s3-upload')({
    key:       "YOUR DEV ID",
    secret:    "YOUR SECRET",
    region:    "us-west-2"     // optional
});

The other options not mentioned above available in the AWS Config constructor are also available, though by default are undefined.

Signature to pass through pipe: s3(plugin_options [, putObjectParams]);

Create a task.

gulp.task("upload", function() {
    gulp.src("./dir/to/upload/**")
        .pipe(s3({
            bucket: 'your-bucket-name', //  Required
            acl:    'public-read'       //  Optional ACL permissions, defaults to public-read.
        }))
    ;
});

As of Version 0.8.5, the s3 task can now take a second parameter that has all the options available in the S3 putObject documentation.

Any settings that are overlapped between the required paramter in this new optional parameter will be overwritten if defined in the second optional parameter, with Body being the exception, since that is purely handled by the gulp stream, and Bucket since it is required in the first set of required options.

The way this is handled in the future will be changed for version 1.0, condensing everything into one options parameter. See the Feature Roadmap for details.

Options

bucket (required)

Type: string

The bucket that the files will be uploaded to.

acl

Type: string

See Access Control List (ACL) Overview for more information. Defaults to 'public-read'.

gzip

Type: boolean

Set the Content-Encoding meta to gzip so a gzipped version of the file can be uploaded to S3.

cache

Type: number

Set the Cache-Control meta to max-age={cache} for the object, so browsers won't fetch the file on every page request.

meta

Type: object

Set metadata values for the object. If you use {myKey: 'Some value'} the uploaded object will have the meta property myKey with the value Some value.

name_transform

Type: function

Use this to transform your file names before they're uploaded to your S3 bucket.

Example:

gulp.task("upload_transform", function() {
    gulp.src("./dir/to/upload/**")
        .pipe(s3({
            bucket: 'example-bucket',
            name_transform: function(relative_filename) {
                var new_name = change_file_name(relative_filename);
                return new_name;
            }
        }))
    ;
});

mime_type_lookup

Type: function

Use this to transform what the key that is used to match the MIME type when uploading to s3.

Example:

gulp.task("upload_transform", function() {
    gulp.src("./dir/to/upload/**")
    .pipe(s3({
        bucket: 'example-bucket',
        mime_type_lookup: function(originalFilepath) {
            return originalFilepath.replace('.gz', ''); //ignore gzip extension
        },
    }));
});

License

Copyright (c) 2014, Caroline Amaba

Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

Keywords

FAQs

Package last updated on 08 Jan 2015

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc