An ember-cli-deploy plugin to upload files to CouchDB
This plugin uploads an Ember App to a CouchDB design doc. The Ember App is served directly to the browser from CouchDB, without any other software in the stack.
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.
To get up and running quickly, do the following:
-
Ensure ember-cli-deploy-build-plus is installed and configured, or if you need to use ember-cli-deploy-build, that you have the additional configurations described below in place.
-
Install this plugin
$ ember install ember-cli-deploy-couchdb
- Place the following configuration into
config/deploy.js
ENV.couchdb = {
db: 'http://localhost:5984/emberapp'
// optionally, if you are using ember-cli-deploy-build instead of
// ember-cli-deploy-build-plus, also include the following
// ddocname: emberapp,
// couchDir: 'tmp/deploy-dist',
// distDir: 'tmp/deploy-dist/_attachments'
}
If you are using ember-cli-deploy-build, you will also need to add the following to your build hook
ENV.build = {
outputPath: 'tmp/deploy-dist/_attachments'
}
- Place the following configuration into
config/environment.js
whereddocname
is normaly the same asmodulePrefix:
.ddocname
can be changed in the configuration options.
if (environment === 'production') {
ENV.rootURL = '/emberapp/_design/ddocname/_rewrite/';
}
If a vhost is used do the following:
if (environment === 'production') {
ENV.rootURL = '/';
}
- Run the pipeline
$ ember deploy
Run the following command in your terminal:
ember install ember-cli-deploy-couchdb
For detailed information on what plugin hooks are and how they work, please refer to the Plugin Documentation.
configure
willDeploy
didBuild
upload
For detailed information on how configuration of plugins works, please refer to the Plugin Documentation.
The CouchDB URL
'http://localhost:5984/emberapp'
'https://username:[email protected]/emberapp'
Default: undefined
The Ember App is uploaded to the ddocname URL as _design/ddocname
.
Default: context.project.name()
Array of regexps for files to skip upload.
Default: []
The root directory where the files will be searched for. By default, this option will use the distDir
property of the deployment context, provided by ember-cli-deploy-build-plus.
Default: context.distDir
The following properties are expected to be present on the deployment context
object:
distDir
(provided by ember-cli-deploy-build-plus)
You can use the issue tracker to provide feedback, suggest features or report bugs.
- If you get
Assertion failed: end <= source_len, file src\smalloc.cc, line 280
you are using node.js v0.12 or io.js v1.3.0. These versions have a bug with Buffers. Upgrade to a newer or older version.
npm test