gulp-frau-publisher
A free-range-app utility for publishing apps and libraries to our CDN.
Installation
Install gulp-frau-publisher
as a dev dependency:
npm install gulp-frau-publisher
Usage
From CLI
The FRAU publisher can be run either directly on the console CLI (assuming dependencies are installed), or specified as a script in package.json
. Arguments may be passed directly on the CLI, or may be configured in package.json
. In addition, the publish key secret, dev tag, and version can either be explicitly specified, or can be read from the build environmnt.
Typical configuration for running in TRAVIS:
frau-publisher --moduletype|-m app|lib --targetdir|-t 'cdn directory' --key|-k yourkey --secretvar S3_SECRET --devtagvar TRAVIS_COMMIT --versionvar TRAVIS_TAG --files|-f './dist/**'
"scripts": "publish-release": "frau-publisher""config": "frauPublisher": "files": "./dist/**" "moduleType": "app|lib" "targetDirectory": "cdn directory" "creds": "key": "your key" "secretVar": "S3_SECRET" "devTagVar": "TRAVIS_COMMIT" "versionVar": "TRAVIS_TAG"
Explicitly specifying credentials, dev tag, and/or version:
Note: never publish or commit unencrypted credentials.
frau-publisher --moduletype|-m app --targetdir|-t 'cdn directory' --key|-k yourkey --secret|-s yoursecret --devtag yourtag --version|-v yourversion ex 001 --files|-f './dist/**'
"scripts": "publish-release": "frau-publisher""config": "frauPublisher": "files": "./dist/**" "moduleType": "app|lib" "targetDirectory": "cdn directory" "creds": "key": "your key" "secret": "your secret" "devTag": "your tag" "version": "0.0.1"
From JavaScript/Gulp
To publish an app to the CDN:
var publisher = ; var options = targetDirectory: 'cdn directory' creds: "key": "your key" "secret": "your secret" devTag: 'your tag'; var appPublisher = publisher; gulp ;
To publish a library (e.g. jQuery, Angular, etc.) to the CDN:
var libPublisher = publisher; gulp ;
Publish to Production
To publish the released/production version of your app or library, you must change the devTag
property to version
and you must specify a valid version number that follows the guideline specified in Semantic Versioning.
In your options
variable, set the version
tag with a valid version:
var options = targetDirectory: 'cdn directory' creds: "key": "your key" "secret": "your secret" version: '0.0.1';
Publishing Options
Property | Description |
---|---|
targetDirectory | Unique target directory where the app or library will be published. |
creds | Credentials key/secret for the specified app. Do not commit the secret to source control. Either load it from a file (which is excluded from source control) or use an environment or command-line variable. |
devTag | The development version of the app or library. |
version | The released/production version of the app or library. Unlike devTag, this property must follow the guidelines in Semantic Versioning. |
Get Published Location
To get the final location of where the files are on the CDN:
var appPublisher = ; var location = appPublisher;
Contributing
Contributions are welcome, please submit a pull request!
Code Style
This repository is configured with EditorConfig rules and contributions should make use of them.