4front-s3-deployments
v0.0.1
Published
S3 based deployments for 4front
Downloads
5
Readme
4front-s3-deployments
S3 based code deployments or the 4front web platform. Used to store uploaded virtual app assets such as JavaScripts, stylesheets, html files, images, and more.
Although static assets can be served via the 4front node.js platform, it is more efficient to use S3 as a web host directly. See the AWS docs on how to configure a bucket for static hosting. As a further optimization you can configure CloudFront (or another CDN) in front of the S3 bucket URL. The htmlprep package dynamically rewrites your relative asset paths to the appropriate absolute path.
For a local installation of the 4front platform, the s3rver provides a mock implementation of S3 that utilizes your local filesystem.
Installation
npm install 4front-s3-deployments
Usage
var s3Deployments = require('4front-s3-deployments')({
region: 'us-west-2',
bucket: '4front-deployments'
});
You can pass in any valid option accepted by the AWS.config object including region
, accessKeyId
, secretAccessKey
, etc.
API
// Deploy an individual file
s3Deployments.deployFile(appId, versionId, fileInfo, callback);
// Returns a readable stream
s3Deployments.readFileStream(appId, versionId, filePath);
// Delete version
s3Deployments.deleteVersion(appId, versionId, callback);
// Delete all deployed versions for an app
s3Deployments.deleteAllVersions(appId, callback);
// List all the files for a version
s3Deployments.listFiles(appId, versionId, callback);
// Check if file exists
s3Deployments.fileExists(appId, versionId, filePath, callback);
See the unit tests for example calls of all these functions.
Running Tests
npm test
License
Licensed under the Apache License, Version 2.0. See the top-level file LICENSE.txt and (http://www.apache.org/licenses/LICENSE-2.0).