Skip to content

An Ember CLI Deploy plugin to use a JSON index rather than an HTML one as provided by ember-cli-deploy-s3-index.

License

Notifications You must be signed in to change notification settings

peopledoc/ember-cli-deploy-index-json

Repository files navigation

ember-cli-deploy-index-json

An Ember CLI Deploy plugin to use a JSON index rather than an HTML one as provided by ember-cli-deploy-s3-index.

Build Status

This JSON index file is meant to be consumed by some application embedding yours.

$ ember deploy production
$ cat tmp/deploy-dist/index.json
{
  "assets/dummy.css": "assets/dummy-d41d8cd98f00b204e9800998ecf8427e.css",
  "assets/dummy.js": "assets/dummy-f1caa4785f44f7dc0ca9118458c120f8.js",
  "assets/vendor.js": "assets/vendor-b3a3b580d0c1bf83382792291e35020b.js",
  "assets/vendor.css": "assets/vendor-d41d8cd98f00b204e9800998ecf8427e.css",
  "crossdomain.xml": "crossdomain.xml",
  "robots.txt": "robots.txt"
}

What is an Ember CLI Deploy plugin?

A plugin is an addon that can be executed as a part of the Ember CLI Deploy pipeline. A plugin will implement one or more of the Ember CLI Deploy's pipeline hooks.

For more information on what plugins are and how they work, please refer to the Plugin Documentation.

Setup

  • Requirements

You'll first have to setup ember-cli-deploy-s3-index.

  • Install this plugin
$ ember install ember-cli-deploy-index-json
  • Configuration

Edit config/deploy.js so that your configuration looks like the snippet below.

s3: {},
'revision-data': {
  filePattern: 'index.json'
},
's3-index': {
  filePattern: 'index.json'
}

In depth: The idea is that revision-data, s3-index and index-json have the same filePattern value. index-json is not present in this example because we're using its default filePattern value.

Usage

  • Deploy version to production environment

ember deploy production

  • List versions on production environment

ember deploy:list production

  • Activate a version on the production environment

ember deploy:activate --revision <revision-key>

Ember CLI Deploy Hooks Implemented

For detailed information on what plugin hooks are and how they work, please refer to the Plugin Documentation.

  • willUpload

Configuration Options

For detailed information on how configuration of plugins works, please refer to the Plugin Documentation.

filePattern

Files matching this pattern will be included in the index.

Default: '**/*.{js,css,png,gif,ico,jpg,map,xml,txt,svg,swf,eot,ttf,woff,woff2}'

fileIgnorePattern

Files matching this pattern will not be included in the index even if they match filePattern.

Default: null

indexPath

The JSON index file name. If changed, you should adapt revision-data and s3-index plugins configs accordingly.

Default: 'index.json'

distDir

Directory where assets have been written to

Default: the distDir property of the deployment context

distFiles

The Array of built assets.

Default: the distFiles property of the deployment context

Prerequisites

No properties are expected to be present on the deployment context object.

Tests

  • yarn test

Why ember test doesn't work

Since this is a node-only Ember CLI addon, we use mocha for testing and this package does not include many files and devDependencies which are part of Ember CLI's typical ember test processes.

Contributors

GreatWizard
GreatWizard
MrChocolatine
MrChocolatine
xcambar
xcambar
amessinger
amessinger
lifeart
lifeart
romgere
romgere