Skip to content

Latest commit

 

History

History
57 lines (43 loc) · 2.7 KB

README.md

File metadata and controls

57 lines (43 loc) · 2.7 KB

gulp-gcloud-publish

NPM Build Status Code Coverage Code Quality Dependencies Status

Upload files to Google Cloud Storage with Gulp

Install

npm install --save-dev gulp-gcloud-publish

Usage

First, you need to create your Google Cloud API credentials. Official Docs.

The plugin takes a configuration object with the following keys:

  • bucket String: Name of the bucket where we want to upload the file
  • gzip Boolean (optional): Let Google automatically gzip and mark metadata of your file. Regardless of this setting, already-gzipped files will have metadata properly set.
  • keyFilename String: Full path to the Google Cloud API keyfile (docs)
  • projectId String: Google Cloud Project ID (docs)
  • base String: base path to use in the bucket, default to /
  • public Boolean (optional): If set to true, marks the uploaded file as public
  • resumable Boolean (optional): Should be set to true for large files (>10Mb). Default is false.
  • transformDestination Function (optional): Manipulates the final destination of the file in the bucket.

Example

If you would like to gzip the files, the plugin works best with gulp-gzip.

var gulp = require('gulp');
var gcPub = require('gulp-gcloud-publish');
var gzip = require('gulp-gzip'); // optional

gulp.task('publish', function() {

  return gulp.src('public/css/example.css')
      .pipe(gzip()) // optional
      .pipe(gcPub({
        bucket: 'bucket-name',
        keyFilename: 'path/to/keyFile.json',
        projectId: 'my-project-id',
        base: '/css',
        public: true,
        transformDestination: function(path) {
          return path.toLowerCase();
        },
        metadata: {
            cacheControl: 'max-age=315360000, no-transform, public',
        }
      })); // => File will be uploaded to /bucket-name/css/example.css
});