Skip to content

alexbainter/s3-sync

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

@alexbainter/s3-sync

Transfer files to and from S3.

CLI usage

s3-sync deploy

Upload files and optionally invalidate CloudFront cache.

Options

Bucket

The name of the bucket to upload to (requires read and write access).

  • CLI: --bucket <bucket name>
  • Environment variable: S3_SYNC_BUCKET=<bucket name>
Directory (optional)

The local directory containing files to upload. Defaults to dist.

  • CLI: --directory <path to directory>, --dir <path to directory>
  • Environment variable: S3_SYNC_DIRECTORY=<path to directory>
Distribution ID (optional)

The ID of a CloudFront distribution to invalidate.

  • CLI: --distributionId <distribution ID>
  • Environment variable: S3_SYNC_DISTRIBUTION_ID=<distribution ID>
Mutable filenames (optional)

A list of filenames whose content may change. Defaults to index.html sw.js.

  • CLI: --mutableFilenames <list of filenames>, --mutables <list of filenames>
  • Environment variable: S3_SYNC_MUTABLE_FILENAMES=<list of filenames>
Compress Extensions (optional)

A list of file extensions which should be compressed before upload. Defaults to css js html png json xml webapp ico.

  • CLI: --compressExtensions <list of extensions>, --compress <list of extensions>
  • Environment variable: S3_SYNC_COMPRESS_EXTENSIONS=<list of extensions>
Alias HTML Pages (optional)

If enabled, uploads a copy of any non-index HTML file without its extension. For example, uploads a copy of about.html named about. Useful for vanity URLs like example.com/about. Defaults to true.

  • CLI: --aliasHtmlPages,
  • Environment variable: S3_SYNC_ALIAS_HTML_PAGES=<true/false>
Mutable HTML (optional)

If enabled, treats all HTML files (and aliases, if applicable) as mutable. Defaults to true.

  • CLI: --mutableHtml,
  • Environment variable: S3_SYNC_MUTABLE_HTML=<true/false>
Dry Run (optional)

Run command without uploading any files or invalidating a cache.

  • CLI: --dryRun,
  • Environment variable: S3_SYNC_DRY_RUN=<true/false>

s3-sync pull

Download remote files to local file system.

Options

Bucket

The name of the bucket to download from (requires read access).

  • CLI: --bucket <bucket name>
  • Environment variable: S3_SYNC_BUCKET=<bucket name>
Directory (optional)

The local directory to download files to. Defaults to dist.

  • CLI: --directory <path to directory>, --dir <path to directory>
  • Environment variable: S3_SYNC_DIRECTORY=<path to directory>
Mutable filenames (optional)

A list of filenames whose content may change. Defaults to index.html sw.js.

  • CLI: --mutableFilenames <list of filenames>, --mutables <list of filenames>
  • Environment variable: S3_SYNC_MUTABLE_FILENAMES=<list of filenames>
Dry Run (optional)

Run command without downloading any files.

  • CLI: --dryRun,
  • Environment variable: S3_SYNC_DRY_RUN=<true/false>

AWS authentication

See Setting Credentials is Node.js from AWS for all authentication options.

Environment variables

  • AWS_ACCESS_KEY_ID=<access key id>
  • AWS_SECRET_ACCESS_KEY=<secret access key>

See Loading Credentials in Node.js from Environment Variables from AWS for more information.

About

A script for deploying web apps to S3

Resources

License

Stars

Watchers

Forks

Packages

No packages published