1. grunt-s3
A grunt task to automate moving files to/from Amazon S3.
grunt-s3
Package: grunt-s3
Created by: pifantastic
Last modified: Sat, 18 Jun 2022 15:53:14 GMT
Version: 0.2.0-alpha.3
Downloads: 648
Repository: https://github.com/pifantastic/grunt-s3

Install

npm install grunt-s3
yarn add grunt-s3

Grunt + Amazon S3

About

Amazon S3 is a great tool for storing/serving data. Thus, there is a chance it is part of your build process. This task can help you automate uploading/downloading files to/from Amazon S3. All file transfers are verified and will produce errors if incomplete.

Dependencies

  • knox
  • async
  • underscore.deferred

Configuration

Here is an example grunt.js configuration showing you all possible configuration.

grunt.initConfig({

  s3: {
    key: 'YOUR KEY',
    secret: 'YOUR SECRET',
    bucket: 'my-bucket',

    // Available values:
    // private | public-read | public-read-write | authenticated-read | bucket-owner-read | bucket-owner-full-control
    access: 'public-read',

    // Files to be uploaded.
    upload: [
      {
        src: 'important_document.txt',
        dest: 'documents/important.txt'
      },
      {
        src: 'passwords.txt',
        dest: 'documents/ignore.txt',

        // These values will override the above settings.
        bucket: 'some-specific-bucket',
        access: 'authenticated-read'
      },
      {
        // Wildcards are valid.
        src: 'documents/*.txt',

        // But if you use wildcards, make sure your destination is a directory.
        dest: 'documents/'
      }
    ],

    // Files to be downloaded.
    download: [
      {
        src: 'documents/important.txt',
        dest: 'important_document_download.txt'
      },
      {
        src: 'garbage/IGNORE.txt',
        dest: 'passwords_download.txt'
      }
    ]
  }

});

Running grunt s3 using the above config produces the following output:

$ grunt s3
Running "s3" task
>> ✓ Downloaded: documents/important.txt (e704f1f4bec2d17f09a0e08fecc6cada)
>> ✓ Downloaded: garbage/IGNORE.txt (04f7cb4c893b2700e4fa8787769508e8)
>> ✓ Uploaded: documents/document1.txt (04f7cb4c893b2700e4fa8787769508e8)
>> ✓ Uploaded: passwords.txt (04f7cb4c893b2700e4fa8787769508e8)
>> ✓ Uploaded: important_document.txt (e704f1f4bec2d17f09a0e08fecc6cada)
>> ✓ Uploaded: documents/document2.txt (04f7cb4c893b2700e4fa8787769508e8)

Done, without errors.

RELATED POST

10 Must-Know Windows Shortcuts That Will Save You Time

10 Must-Know Windows Shortcuts That Will Save You Time

Arrays vs Linked Lists: Which is Better for Memory Management in Data Structures?

Arrays vs Linked Lists: Which is Better for Memory Management in Data Structures?

Navigating AWS Networking: Essential Hacks for Smooth Operation

Navigating AWS Networking: Essential Hacks for Smooth Operation

Achieving Stunning Visuals with Unity's Global Illumination

Achieving Stunning Visuals with Unity's Global Illumination

Nim's Hidden Gems: Lesser-known Features for Writing Efficient Code

Nim's Hidden Gems: Lesser-known Features for Writing Efficient Code