Package Exports
- contentful-cli/lib/cmds/space_cmds/generate_cmds/migration
- contentful-cli/lib/cmds/space_cmds/generate_cmds/migration.js
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-cli) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Contentful CLI
Contentful's command line interface tool. Use Contentful features straight from your CLI.
Contentful provides a content infrastructure for digital teams to power content in websites, apps, and devices. Unlike a CMS, Contentful was built to integrate with the modern software stack. It offers a central hub for structured content, powerful management and delivery APIs, and a customizable web app that enable developers and content creators to ship digital products faster.
🚀 Features
- Get started with Contentful with the
initcommand. - Manage spaces - list, create, delete,...
- Export your space to a JSON file.
- Import your space from a JSON file.
- Execute migration scripts written in the Contentful Migration DSL
- Generate migration scripts for the Contentful Migration DSL from existing spaces.
- Seed your space with example data.
- Manage installation of extensions in a space.
- Securely login and logout with our OAuth service.
- Find all available commands in the docs section.
☁️ Installation
Make sure you have Node LTS installed
npm install -g contentful-cli
# Or
yarn global add contentful-cliPlease note that for the non standalone versions you need Node LTS to use the CLI.
✋ Usage
Use the --help parameter to display the help section for CLI tool or combined with a specific command to get the help section for that command.
contentful --help
# Or
contentful space --help📚 Documentation
More detailed documentation for every command can be found in the docs section.
Using the CLI tool with a proxy
You can save the proxy configuration in your .contentfulrc.json via:
contentful config add --proxy user:auth@host:portWe also respect the http(s)_proxy environment variables:
https_proxy=user:auth@host:port contentfulWhen multiple proxy configurations exists, precedence is taken in this form:
http_proxytakes precedence over.contentfulrc.jsonhttps_proxytakes precedence over.contentfulrc.jsonhttps_proxytakes precedence overhttp_proxy
⛑️ Troubleshooting
- Unable to connect to Contentful through your Proxy? Try settings
rawProxy: truein your.contentfulrc.jsonvia:
contentful config add --raw-proxy🛠️ Development
- Install dependencies
npm i - To avoid development version colliding with your already installed Contentful CLI, change the command name in
package.json"bin": { - "contentful": "bin/contentful.js" + "ctfl": "bin/contentful.js" } - Link your local version, and happy hacking 🎉
npm link
🤖 Testing
Integration tests
To run integration tests locally, you'll need the following:
- Set environment variables in
.jest/env.js(can be found in 1Password)process.env.CONTENTFUL_INTEGRATION_TEST_CMA_TOKEN = '<cma_auth_token>' process.env.CLI_E2E_ORG_ID = '<organization_id>'
- Run talkback proxy to record and playback http requests
npm run talkback-proxy - In another terminal shell run your preferred tests
## Run all integration tests npm run test:jest ## Or run specific tests npx jest test/integration/cmds/space/* --watch
Unit tests
Simply run:
# Run all unit tests
npm run test:unit:watch
# Or run specific tests
npx jest test/unit/cmds/* --watchSee jest documentation for more details about running tests and optional flags.
Updating Snapshots
You might need to update snapshots and it's challenging with the recordings.
Tip: run tests without recordings to update the snapshots.
npx jest test/integration/cmds/<path to the affected test file> --updateSnapshot❓ Support
If you have a problem with this tool, please file an issue here on Github.
If you have other problems with Contentful not related to this library, you can contact Customer Support.
✍️ Contributing
See CONTRIBUTING.md
📜 License
MIT