stars 🌟issues ⚠️updated 🛠created 🐣size 🏋️‍♀️
Minified + gzip package size for @financial-times/n-concept-bump in KB


Next Concept Bump


Interface for updating annotations for FT.com content.

It works by creating a task on the target Elasticsearch cluster which will find and rewrite annotations and concepts used by our content without the need to reingest.


Compatible with Node 6+



You can view the available commands and options by running:

$ bump --help

You will also need to set some enviroment variables for authorisation:

  • THINGS_API_KEY for accessing data from the FT things API

And if you are working with a cluster provided by AWS:

  • ES_AWS_ACCESS_KEY an AWS access key with Elasticsearch administrative permissions
  • ES_AWS_SECRET_ACCESS_KEY an AWS secret access key for the above

The example below assumes the existence of a HOST environment variable specifying the URL of the Elasticsearch cluster:

# The script will find the latest version and all superseded IDs for the given concept
$ bump "${HOST}" 6d289d62-0272-39e0-9254-28ac84fd3279
> ? Replace 6d289d62-0272-39e0-9254-28ac84fd3279 with a16e302d-07c2-4a5c-89c8-d5e53691015e? (Y/n)
> Update successful: Updated 1291 items in 581ms


The module exports a single function:

const bump = require('@financial-times/n-concept-bump');
const host = 'http://localhost:9200';

// The module will find the latest version and all superseded IDs for the given concept
bump(host, '70f4732b-7f7d-30a1-9c29-0cceec23760e');

As with CLI usage, you will need the API_KEY environment variable set and ES_AWS_ACCESS_KEY and ES_AWS_SECRET_ACCESS_KEY enviroment variables if working on an AWS provided cluster.


  • This software can replace multiple targets but only with a single concept. This means multiple concept changes must be queued and processed in series.
  • When an Elasticsearch document is modified it is placed into a queue for processing. A document cannot be queued twice so if a document affected by this script is also reingested there will be a version mismatch and one version will be ignored.

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.