Gathering detailed insights and metrics for street
Gathering detailed insights and metrics for street
Gathering detailed insights and metrics for street
Gathering detailed insights and metrics for street
npm install street
Typescript
Module System
NPM Version
JavaScript (100%)
Total Downloads
0
Last Day
0
Last Week
0
Last Month
0
Last Year
0
MIT License
3 Stars
26 Commits
1 Watchers
1 Branches
1 Contributors
Updated on Oct 12, 2016
Latest Version
0.7.1
Package Id
street@0.7.1
Size
8.37 kB
NPM Version
1.4.9
Cumulative downloads
Total Downloads
Last Day
0%
NaN
Compared to previous day
Last Week
0%
NaN
Compared to previous week
Last Month
0%
NaN
Compared to previous month
Last Year
0%
NaN
Compared to previous year
Smart Uploader for AWS S3 buckets. Generates a manifest file upon first upload; subsequent uploads only send changed files. Especially useful as a deploy tool for uploading static websites to S3. Benefits of using Street:
npm install -g street
to get the street
cli tool..env
file
at root of your project (also smart to add it to your .gitignore
).street -e -b <Target S3 Bucket> path/to/upload/dir
Install with npm
. A global installation is preferable:
1# preferred global install 2npm install -g street 3 4# local install for specific setups 5npm install street
A helpful interface into Street is using the command line tool bin/street
.
If you installed globally, it should be available on your path as street
. The
command line tool requires a path to a directory that you want to upload to S3.
Run street --help
to see a list of options.
Street includes the dotenv node
package for convenient Environment Variable loading. Enter your AWS credentials
into a .env
file at the root of your project. Street searches for three (3)
variables:
Instead of using Environment Variables, you can some or all of these through
the command line options --aws-key
, --aws-secret
, and --bucket
respectively.
Example: street -e path/to/upload/dir
The Amazon S3 bucket to be the destination of your uploaded files.
Example: street -b <S3 bucket name> path/to/upload/dir
The AWS Access Key Id to be used for authenticating the S3 session. User must
have PUT
and GET
permissions on the bucket.
Example: street -k <AWS Access Key Id> path/to/upload/dir
The AWS Secret Access Key associated with the AWS Access Key Id you are using.
Example: street -s <AWS Secret Key> path/to/upload/dir
Shows the number of files uploaded, but not much else. This option will do more in the future.
Example: street -v /path/to/upload/dir
Best if used in conjuction with DEBUG=street:*
or --verbose
option.
Example:
street -n path/to/upload/dir
street -nv path/to/upload/dir
DEBUG=street:* street -n path/to/upload/dir
Running var street = require('street')
will get you access to the the
underlying function. Call the exposed function with a map of parameters:
1var street = require('street'); 2 3var params = { 4 src: 'path/to/upload/dir', // Path to directory to upload. 5 isDryRun: false, // Disable upload mechanism. 6 dest: 'bucketname.com', // Name of S3 Bucket to upload to. 7 awsKey: 'AWS Access Key Id', // AWS Access Key Id for authentication w/ S3. 8 awsSecret: 'AWS Secret Key', // AWS Secret Key for authentication w/ S3. 9 loadEnv: true, // Load Environment Variables with 'dotenv'. 10 verbose: true, // Trigger extra messages. 11}; 12 13street(params); // Begins Deploy Process
You can make this part of a Grunt task or your own, standalone deploy script. Dealer's choice!
The manifest file is a GZipped JSON file that maps S3 Object Keys (file names) to MD5 Hashes.
The manifest file is generated each time Street is run. On the first run of Street on a specific directory, the manifest file is written to that directory (called the upload directory), and all files it found are uploaded to S3. The next time Street is run, a new manifest is generated locally, the old manifest is pulled down from S3, and the two files are compared to search for differences. The new manifest is only written if files have been changed. If files have been changed, the new manifest and changed files are then uploaded to S3 where they replace the objects of the same name.
This approach has two important effects that you should be aware of:
*IMPORTANT* Upon first run of Street, all files in the directory and a new manifest file will be uploaded and replace S3 objects with the same name.
A manifest file on S3 does not hold information on all the objects in that bucket; only on objects that Street has specifically uploaded.
Keep these in mind as you work.
Street is in very early development. Here are some things that would be very helpful.
No vulnerabilities found.
Reason
no binaries found in the repo
Reason
0 existing vulnerabilities detected
Reason
license file detected
Details
Reason
no SAST tool detected
Details
Reason
0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
Reason
Found 0/26 approved changesets -- score normalized to 0
Reason
no effort to earn an OpenSSF best practices badge detected
Reason
security policy file not detected
Details
Reason
project is not fuzzed
Details
Reason
branch protection not enabled on development/release branches
Details
Score
Last Scanned on 2025-07-07
The Open Source Security Foundation is a cross-industry collaboration to improve the security of open source software (OSS). The Scorecard provides security health metrics for open source projects.
Learn More