2.5.0 • Published 9 years ago

gulp-frau-publisher v2.5.0

Weekly downloads
30
License
Apache-2.0
Repository
github
Last release
9 years ago

gulp-frau-publisher

NPM version Build status Coverage Status Dependency Status

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. 0.0.1 
               --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 = require('gulp-frau-publisher');

var options = {
	targetDirectory: 'cdn directory',
	creds: {
		"key": "your key",
		"secret": "your secret"
	},
	devTag: 'your tag'
};

var appPublisher = publisher.app( options );

gulp.src('./dist/**')
	.pipe(appPublisher.getStream());

To publish a library (e.g. jQuery, Angular, etc.) to the CDN:

var libPublisher = publisher.lib( options );

gulp.src('./lib/jquery/**')
	.pipe(libPublisher.getStream());

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

PropertyDescription
targetDirectoryUnique target directory where the app or library will be published.
credsCredentials 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.
devTagThe development version of the app or library.
versionThe 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 = require('gulp-frau-publisher').app(options);

var location = appPublisher.getLocation();

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.

2.5.0

9 years ago

2.4.1

9 years ago

2.4.0

9 years ago

2.3.1

9 years ago

2.3.0

9 years ago

2.2.0

9 years ago

2.1.6

9 years ago

2.1.5

9 years ago

2.1.4

9 years ago

2.1.3

9 years ago

2.1.2

9 years ago

2.1.1

9 years ago

2.1.0

9 years ago

2.0.0

9 years ago

1.1.0

9 years ago

1.0.1

9 years ago

0.0.1

10 years ago