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
s3Deployments.deployFile(appId, versionId, fileInfo, callback);
s3Deployments.readFileStream(appId, versionId, filePath);
s3Deployments.deleteVersion(appId, versionId, callback);
s3Deployments.deleteAllVersions(appId, callback);
s3Deployments.listFiles(appId, versionId, callback);
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).