JSPM

contentful-export

2.1.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 135476
  • Score
    100M100P100Q173138F
  • License MIT

this tool allows you to export a space to a JSON dump

Package Exports

  • contentful-export

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (contentful-export) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Contentful export tool

npm Build Status Coverage Status Dependency Status devDependency Status

semantic-release js-standard-style

Contentful is a content management platform for web applications, mobile apps and connected devices. It allows you to create, edit & manage content in the cloud and publish it anywhere via powerful API. Contentful offers tools for managing editorial teams and enabling cooperation between organizations.

This is a command line tool (CLI) that allows you to backup your published Content Model, Content and Assets or move them to a new Contentful space. It will support Editor Interfaces, Webhooks and Roles & Permissions in a future version.

To import your data, please refer to the contentful-import repository.

Installation

We recommend the installation of this CLI via npm:

npm install -g contentful-export

Usage and Examples

Usage: contentful-export [options]

Options:
  --version           Show version number                              
  
  --space-id          ID of Space with source data           
                      [string] [required]
  
  --management-token  Management API token for the space to be exported.
                      [string] [required]
  
  --export-dir        Defines the path for storing the export json file
                      (default path is the current directory) [string]
  
  --max-allowed-limit how many item per page per request default 1000 [number]

  --config            Configuration file with required values

The --management-token parameter allows you to specify a token used for both spaces. If you request a token from here and your user account has access to both spaces, this should be enough.

Check the example-config.json file for an example of what a configuration file would look like. If you use the configuration file, you don't need to specify the other options for tokens and space ids.

Example

contentful-export \
  --space-id spaceID \
  --management-token managementToken

or

contentful-export --config example-config.json

You can create your own configuration file based on the example-config.json file.

Exported Data

This is an overview of the data exported.

{
  "contentTypes": [],
  "entries": [],
  "locales": [],
  "assets": [],
  "webhooks": [],
  "editorInterfaces": [],
    "roles": []
}

Usage as a library

While this tool is intended to be used as a command line tool, you can also use it as a Node library:

var spaceExport = require('contentful-export')

spaceExport(options)
.then((output) => {
  console.log('space data', output)
})
.catch((err) => {
  console.log('oh no! errors occurred!', err)
})

The options object can contain any of the CLI options, but written with a camelCase pattern instead, and no dashes. For example --space-id would become spaceId.

Another option is errorLogFile, the location of a file to log errors to.

Limitations

  • This tool exports only your published Content Model, Content and Assets. It will support Editor Interfaces, Webhooks and Roles & Permissions in a future version. Draft entries are not supported.
  • You can only export the content exported by this tool into an empty space. We currently do not support merging content into pre-existing spaces.
  • If you have custom widgets, you need to reinstall them manually in the new space.

Changelog

Read the releases page for more information.

License

This project is licensed under MIT license