open-index/open-npm huggingface dataset:
npm package: @hypofriend/gulp-cloudfront-invalidate-aws-publish
Description: Invalidates paths published with gulp-awspublish
Author: Lee Pender
Latest version: 0.0.3

# gulp-cloudfront-invalidate-aws-publish
A gulp plugin that allows you to programmatically invalidate paths in AWS cloudfront.

This version invalidates the array of files that were updated, created, or deleted by
[gulp-awspublish](https://github.com/pgherveou/gulp-awspublish/).

This will work with any similar plugin that uses the same `file.s3` API internally.

Tested with `gulp-awspublish` v3.0.1.

See [gulp-awspublish](https://github.com/pgherveou/gulp-awspublish/) for more
implementation details.

## Installation
```
npm install gulp-cloudfront-invalidate-aws-publish
```

## Usage

```js
var gulp = require('gulp')
  , awspublish = require('gulp-awspublish')
  , cloudfront = require('gulp-cloudfront-invalidate-aws-publish');

var publisher = awspublish.create({
  region: 'your-region-id',
  params: {
    Bucket: '...'
  }
}, {
  cacheFile: 'your-cache-location'
});

// define custom headers
var headers = {
  'Cache-Control': 'max-age=315360000, no-transform, public'
  // ...
};

var cfSettings = {
  distribution: 'E2A654H2YRPD0W', // Cloudfront distribution ID
  accessKeyId: '...',             // Optional AWS Access Key ID
  secretAccessKey: '...',         // Optional AWS Secret Access Key
  sessionToken: '...',            // Optional AWS Session Token
  wait: true                      // Whether to wait until invalidation is completed (default: false)
}

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

  return gulp.src('*')
    .pipe(publisher.publish(headers))
    .pipe(cloudfront(cfSettings))
    .pipe(publisher.cache())
    .pipe(awspublish.reporter());
});
```

## Contact
Lee Pender <Lpender@gmail.com>

## Credit

Thanks to:

https://github.com/lpender/gulp-cloudfront-invalidate
https://github.com/pgherveou/gulp-awspublish
https://github.com/sindresorhus/gulp-debug/