NodeWrite: multi-domain website management for content networks.

Usage no npm install needed!

<script type="module">
  import nodewrite from '';



Build Status Code Climate Coverage Status Dependency Status




Clone respository to your system:

git clone

Install package dependencies:

npm install --loglevel=error --depth=0


After npm installation is complete a gulp task will the copy default configuration file for each installed plugin into the /config/default directory. You can change the values within default configuration files, but each package update will cause the defaults to be overwritten by the upgraded version.

To make configuration changes that are permanent you'll want to create a sub-directory within /config that targets your current NODE_ENV and store your settings there instead. The quickest way to do this is by duplicating the config/default directory. Optionally, you may add individual config files and settings as needed as opposed to duplicating all the defaults.

The configuration object loaded on startup is merged together such that the global config/default settings are loaded first followed by the merging of keys provided by an environment's custom config/[env] directory.

The example configuration provided below is targeting three different environments each with its own nodewrite-core-data settings. Plugin configuration options not provided by a custom environment are inherited from the defaults:

├── /config
|   ├── /default
|   |   ├── core-data.yml
|   |   ├── plugin-gravatar.yml
|   |   └── etc...
|   ├── /development
|   |   └── core-data.yml
|   └── /production
|   |   └── core-data.yml

If NODE_ENV is not set, but a config/development directory exists then it will be used automatically without the need to set your NODE_ENV to development.


Public events and methods provided by this package are outlined below.


Events for this package are emitted on the nodewrite channel:

  • register - plugin was registered by the server with signature function(packageName) where:
    • packageName - package name of the plugin that was registered.