ghv / print Goto Github PK
View Code? Open in Web Editor NEWDeploy static files to AWS S3 and CloudFront
License: Apache License 2.0
Deploy static files to AWS S3 and CloudFront
License: Apache License 2.0
File names may change as new deployments are created. In this scenario, we will need a way to delete missing files from the S3 bucket.
A per-folder prune flag could enable this for the folder and all its children.
The logic would compare the files specified in the contents.json
file versus the timestamp history of uploaded files .contents-ts.json
in prior runs. Any file in the timestamp history list that does not have a source in the contents.json
file should be deleted.
Add support for deploying updates to CloudFront Functions and rolling them out to production.
Rename print to printer.
According to AWS documentation, you can invalidate up to 1,000 paths per month at no charge when you use CloudFront. Each additional invalidation path costs $0.005. An invalidation path that includes the โ*โ character incurs the same charge as one that does not. You pay for one invalidation path, even if the path matches hundreds or thousands of objects
Rather than invalidating each file, add support to invalidate the folder (by adding a new flag in contents.json
) if any file changes in the folders below it. This helps reduce the number of paths per invalidation and saves costs.
I propose invalidateFolderLevel
be the flag's name to indicate the level where all changes under it should be reduced to this one folder path with a *
rather than invalidating each file.
The code currently only supports one Keychain item named "AWS," which violates minimum security profile policies by giving the same identity push rights to multiple S3/CloudFront deployment resources.
To allow custom AWS keys, an optional keychainItem
property will be added to the contents.json
file, defaulting to "AWS" if not specified.
The keychain
command will gain a new --keychain-item
option to write the Keychain data to the specified name.
From a security perspective, knowledge of the keychain item name does not reveal additional information.
print keychain --keychain-item PREVIEWDEPLOY __Access key ID__
Rewrite the deployer to use async/await instead of futures
This allows you to upload "blogpost1.html" as "index.html" in the current folder and upload multiple copies but not locations (each copy has to have a unique name).
The files
array in the contents
property will support elements that are either a string with the local path or an array of two elements where the first element is the local path to the file and the second element is the desired remote file name.
You only need to use the array of two elements if you want the remote name to differ from the local file name.
The .contents-ts.json
lookup key for each file uploaded where these two names differ will be updated to "\(file[0]) as \(file[1])"
in order to allow for the same local file to be uploaded to different remote names.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.