Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

boxcutter

Package Overview
Dependencies
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

boxcutter

A utility knife for interacting with package.json (or other json files)

  • 2.0.2
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

Boxcutter

A utility knife for interacting with package.json (or other json files)

Installation

npm install boxcutter --save

Global

sudo npm install boxcutter -g

Usage

CLI

Walks up your directory tree looking for a package.json file. If it finds one, it will load it and allow you to interact with it:

boxcutter <command>

Commands:
  boxcutter get <key>          get the value of <key>
  boxcutter set <key> <value>  set <key> to <value>

Options:
  --version  Show version number                                       [boolean]
  --stdin    read json from stdin vs. from a file or package.json
                                                                [default: false]
  --file     the file to search up the directory path for
                                                       [default: "package.json"]
  --indent   indentation level for json output                      [default: 2]
  --save     write changes back to input file                   [default: false]
  --help     Show help                                                 [boolean]

Example:

> boxcutter get version
1.0.0
> boxcutter set version 1.0.1
> boxcutter get version
1.0.1
>

You may optionally use the --file flag to specify a json file other than package.json:

> boxcutter --file apidoc.json get name
Boxcutter
> boxcutter --file apidoc.json set name "Boxcutter API Documentation"
> boxcutter --file apidoc.json get name
Boxcutter API Documentation

You may can also specify --stdin to read json from stdin instead of from a file:

> echo "{ \"foo\": \"bar\" }" | boxcutter --stdin get foo
bar
> echo "{ \"foo\": \"bar\" }" | boxcutter --stdin set foo yak
{
    "foo": "yak"
}

API

const Boxcutter = require( 'boxcutter' );
const boxcutter = Boxcutter.create();

boxcutter.load( './package.json' );
console.log( boxcutter.get( 'version' ) );

read( json )

boxcutter.read( '{ "foo": "bar" }' );

Reads the given JSON into the instance.

load( filename )

boxcutter.load( './package.json' );

Loads the given package.json. Can take a relative or absolute path.

get( key )

const value = boxcutter.get( 'version' );

Gets the given key. Uses Delver to retrieve the value, so you can use dot and bracket syntax:

const testScript = boxcutter.get( 'scripts.test' );
const firstKeyword = boxcutter.get( 'keywords[0]' );

set( key, value )

boxcutter.set( 'version', '1.0.1' );

Sets the given key to the value specified. Uses Delver to set the value, so you can use dot and bracket notation:

boxcutter.set( 'scripts.test', 'tape test/*.js' );
boxcutter.set( 'keywords[0]', 'boxcutter' );

async save( filename[, options] )

await boxcutter.save( './package.json' );

Saves the current settings to an output file. You can pass options to control the output, eg:

await boxcutter.save( './package.json', {
    indent: 4
} );

serialize( [options] )

console.log( boxcutter.serialize( {
    indent: 4
} ) );

Serializes the current state to JSON with the given options.

Keywords

FAQs

Package last updated on 31 May 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc