npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

contentful-utils

v2.0.0

Published

A CLI tool for various content model related tasks on Contentful.

Downloads

25

Readme

XO code style

Command line tool to help you manage your Contentful spaces more efficiently.

Examples

Copying fields

Often times when working on your content model, you might want to create a field on one content type that should be configured exactly like on another content type. It should have the same required, localization, and validation configuration. Unfortunately, Contentful currently does not support copying fields between content types. Wouldn't it be super useful to have a master content type that contains pre-configured fields that you can just copy over to a new content type you're working on? Now you can.

> contentful-utils copy-fields slug title \
  --source blogPost \
  --target page \
  --config ~/Desktop/contentful-config.json

This will copy the fields slug and title from your content type blogPost to the content type page, using access credentials and other parameters stored inside ~/Desktop/contentful-config.json.

Deleting fields

Deleting fields from a content type can be a bit tedious on Contentful. When doing this from the frontend, you have to first disable the field in the editor and in responses, save the content type, delete the field and save, again. This takes precious time, when during an exploratory phase you might not need to be this cautious. Now you can delete a field with just one command.

> contentful-utils delete-fields slug \
  --target page \
  --config ~/Desktop/contentful-config.json

This will copy the field slug from your content type blogPost to the content type page, using access credentials and other parameters stored inside ~/Desktop/contentful-config.json.

Requirements

contentful-utils tracks NodeJS stable to benefit for the latest language features. Currently at v7.9.x

Installation

Install globally using npm.

npm install -g contentful-utils

Options

contentful-utils have a bunch of global options, for example the space, as well as command specific options. All configuration flags can also be provided in a config.json passed to contentful-utils using the —config flag.

Global options

Usage: contentful-utils <command> [options]

Commands:
  copy-fields <fields..>    Copies <fields> from --source Content
                            Type to --target Content Type(s).
  delete-fields <fields..>  Deletes <fields> from --target Content
                            Type(s).

Options:
  --version            Show version number                 [boolean]
  --config             Configuration file with required values
  --space              ID of the Space to operate on.
                                                 [string] [required]
  --management-token   Management API token for the space.
                                                 [string] [required]
  --pre-publish-delay  Delay in milliseconds to account for delay
                       after creating entities, due to internal
                       database indexing    [number] [default: 5000]
  --host               Host for the Management API.         [string]
  --port               Port for the Management API.         [string]
  --insecure           If the Management API should use http instead
                       of the default https.
                                          [boolean] [default: false]
  --proxy-host         hostname of the proxy server         [string]
  --proxy-port         port of the proxy server             [string]

copy-fields options

contentful-utils copy-fields <fields..>

Options:
  --publish  Publish the Content Type(s) after adding fields.
                                                           [boolean]

delete-fields options

contentful-utils delete-fields <fields..>

Options:
  --force    Force deletion of non-omitted fields.
                                          [boolean] [default: false]